<?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: TURINUMUGISHA Souvenir</title>
    <description>The latest articles on DEV Community by TURINUMUGISHA Souvenir (@turinumugisha_s).</description>
    <link>https://dev.to/turinumugisha_s</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%2F903484%2F9785a102-a6ff-4f18-8530-2d56e781bd8d.jpg</url>
      <title>DEV Community: TURINUMUGISHA Souvenir</title>
      <link>https://dev.to/turinumugisha_s</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/turinumugisha_s"/>
    <language>en</language>
    <item>
      <title>"The pesticide paradox" when fixing a bug causes other bugs 😢</title>
      <dc:creator>TURINUMUGISHA Souvenir</dc:creator>
      <pubDate>Mon, 27 Feb 2023 04:12:06 +0000</pubDate>
      <link>https://dev.to/turinumugisha_s/the-pesticide-paradox-when-fixing-a-bug-causes-other-bugs-neo</link>
      <guid>https://dev.to/turinumugisha_s/the-pesticide-paradox-when-fixing-a-bug-causes-other-bugs-neo</guid>
      <description>&lt;p&gt;Have you ever fixed a bug in your code, only to find that it introduced another one? Or have you ever noticed that your code seems to be getting buggier and more difficult to maintain, even though you're fixing bugs all the time? If so, you may have fallen prey to the pesticide paradox.&lt;/p&gt;

&lt;p&gt;In the world of software development, the pesticide paradox refers to the phenomenon where repeated attempts to fix bugs actually end up creating more bugs, just like how using too much pesticide can lead to resistant bugs that are even harder to eliminate. This paradox can be frustrating, demotivating, and costly for developers and organizations alike, as it can lead to wasted time, resources, and revenue.&lt;/p&gt;

&lt;p&gt;And all that is sad,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fdpcfsimynptb239jtyru.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fdpcfsimynptb239jtyru.png" alt="worried of pesticide paradox"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this article, we'll dive deeper into the pesticide paradox, exploring its causes, consequences, and potential solutions. By the end of this article, you'll be better equipped to navigate the paradoxical world of software bugs and hopefully write cleaner, more robust code.&lt;/p&gt;

&lt;p&gt;Without further delay, Let's get started 🏃‍♀️&lt;/p&gt;

&lt;h2&gt;
  
  
  The farmers' story
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fkkrcamu7lh9jmxr2zgss.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fkkrcamu7lh9jmxr2zgss.png" alt="farmer applying pestcide"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once upon a time, in a kingdom far away, the farmers were struggling to keep their crops safe from pests. They used pesticides to protect their crops, but over time, they noticed that the pests were becoming resistant to the pesticides. They had to keep changing the pesticides they used to keep the pests at bay.&lt;/p&gt;

&lt;h2&gt;
  
  
  The same thing happens to our codes 😿
&lt;/h2&gt;

&lt;p&gt;In the same way, programmers face a similar problem called the "pesticide paradox". Fixing one issue can sometimes cause new ones to appear. Just like how using the same pesticide repeatedly leads to pest resistance, repeatedly fixing the same issues in code can make it more complex and harder to maintain, eventually leading to the introduction of new issues.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F7ubbezfgwya4vipdrcsh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F7ubbezfgwya4vipdrcsh.png" alt="bugs attack"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Alex's story is one of such 😔
&lt;/h2&gt;

&lt;p&gt;One such programmer was named Alex. They were working on a complex software project and had received a bug report from a user that a certain feature was not working as expected. Alex spent several hours debugging the code and finally found the issue and fixed it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The unexpected happened, 🤐
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.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%2F4fnm5t5u2ila7eo7ywn0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F4fnm5t5u2ila7eo7ywn0.png" alt="Frustrated with pesticide paradox"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, a few days later, they received another bug report from a different user 😯, which turned out to be caused by the same piece of code that Alex had fixed earlier. Alex realized that the fix they had implemented had inadvertently introduced a new bug. Frustrated and stressed out, Alex spent the next few days trying to fix the new bug, but ended up introducing even more issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  Things went out of control 😔💀
&lt;/h2&gt;

&lt;p&gt;The situation continued to spiral out of control, with Alex spending more time fixing bugs than actually making progress on the project. The stress of constantly trying to fix one issue after another began to take a toll on their mental and emotional well-being.&lt;/p&gt;

&lt;h2&gt;
  
  
  Alex came up with a working and long-term solution ✊
&lt;/h2&gt;

&lt;p&gt;Eventually, Alex realized that they needed to take a step back and re-evaluate their approach. They decided to refactor the code, write automated tests, and get feedback from their team members. By taking these steps, they were able to identify the underlying causes of the issues and implement a more robust solution that prevented them from recurring.&lt;/p&gt;

&lt;h2&gt;
  
  
  Alex finally got rid of the pesticide paradox 💪
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.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%2F2ft3rocgpvnvu45out4w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F2ft3rocgpvnvu45out4w.png" alt="Image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the end, Alex learned the importance of maintaining code quality and avoiding the pesticide paradox. They realized that taking a proactive approach to software development was key to delivering high-quality, bug-free software and avoiding the stress and frustration that comes with constantly fixing issues. And just like a good story, a well-maintained codebase will stand the test of time and keep delivering its value for years to come.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moral of the story
&lt;/h2&gt;

&lt;p&gt;Alex's story is one of many but if you're facing a similar situation, you're not alone &lt;/p&gt;

&lt;p&gt;Here are some key takeaways from Alex's story that can help everyone avoid falling into the pesticide paradox:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand the requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fwk1w5k4snqjixtde6fey.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fwk1w5k4snqjixtde6fey.png" alt="requirements icon"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's important to have a clear understanding of the requirements and scope of a project before starting to write code. This can help prevent scope creep and minimize the chances of introducing bugs while making changes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Refactor frequently ⚡&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Refactoring code frequently can help keep it clean, modular, and maintainable. It can also help catch bugs early and reduce the risk of creating new ones while making changes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use version control 🔨&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.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%2F1822gm9q7m9kufkeq5xn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F1822gm9q7m9kufkeq5xn.png" alt="version control to avoid pesticide paradox"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Version control systems like Git can help keep track of changes, allow for easy rollback, and facilitate collaboration. This can help reduce the chances of introducing bugs while making changes and make it easier to fix bugs if they do arise.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Test thoroughly ➿&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Testing leads to failure and failure leads to understanding 📌&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Testing code thoroughly can help catch bugs before they make it to production. This includes unit tests, integration tests, and user acceptance tests. Automated testing can also help reduce the chances of introducing bugs while making changes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Effective communication is the key 😎&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;" Effective communication is the key to successful software development. "&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Effective communication with stakeholders, including clients, managers, and other developers, can help ensure that everyone is on the same page and that changes are being made in a way that aligns with the project goals. This can help prevent misunderstandings and reduce the chances of introducing bugs while making changes.&lt;/p&gt;

&lt;p&gt;Did you know that this is the end 😂&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fsubm0ea1n9owd3uobeuq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fsubm0ea1n9owd3uobeuq.gif" alt="article ending svg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope the article helped! For much more wise content and posts like this follow Ederner_labs &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/company/ederner-labs/" rel="noopener noreferrer"&gt;Ederner LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Ederner_labs" rel="noopener noreferrer"&gt;Ederner Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/ederner_labs/" rel="noopener noreferrer"&gt;Ederner Instagram&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;✌✌✌&lt;/p&gt;

</description>
    </item>
    <item>
      <title>"The Power of the Coding Mindset": How Developing the Coding Mindset Can Take Your Programming to the Next Level</title>
      <dc:creator>TURINUMUGISHA Souvenir</dc:creator>
      <pubDate>Wed, 22 Feb 2023 05:28:38 +0000</pubDate>
      <link>https://dev.to/turinumugisha_s/the-power-of-the-coding-mindset-how-developing-the-coding-mindset-can-take-your-programming-to-the-next-level-3a52</link>
      <guid>https://dev.to/turinumugisha_s/the-power-of-the-coding-mindset-how-developing-the-coding-mindset-can-take-your-programming-to-the-next-level-3a52</guid>
      <description>&lt;p&gt;Mastering a coding mindset is essential to become a successful programmer in the world of programming. &lt;/p&gt;

&lt;p&gt;It's a unique way of thinking that enables programmers to solve complex problems, write efficient code, and stay organized throughout their whole carrier.&lt;/p&gt;

&lt;p&gt;In this article, we'll explore why mastering a coding mindset is so important and provide tips on how to develop this essential skill set all in the art of storytelling.&lt;/p&gt;

&lt;p&gt;Without further ado, Let's get started &lt;/p&gt;

&lt;h2&gt;
  
  
  Let's hear David's story
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fte17ja42ajn7on4bidey.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%2Fte17ja42ajn7on4bidey.png" alt="David the programmer" width="591" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Meet David. He has been programming for over a decade and considers himself an experienced programmer. He spends hours every day writing code, but he often feels like something is missing. David wants to be a valuable programmer, but he's not sure how to get there. He starts reading tutorials and watching online courses, hoping that learning more programming languages will make him more valuable. However, he soon realizes that he's stuck in the tutorial hell cycle. He's constantly learning new concepts but struggling to apply them in real-world projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  A friend helped ✊
&lt;/h2&gt;

&lt;p&gt;One day, David's colleague introduces him to the concept of the coding mindset. He learns that the coding mindset is not just about learning programming languages and memorizing syntax but about developing problem-solving skills and efficient coding practices. This includes learning to love feedback and not taking it as a personal attack.&lt;/p&gt;

&lt;h2&gt;
  
  
  It was never easy to adopt 👷‍♀️
&lt;/h2&gt;

&lt;p&gt;David struggles with this aspect of the coding mindset. Whenever someone criticizes his code, he feels like he is being attacked personally. However, he soon realizes that feedback is an opportunity to learn and improve. He starts to embrace feedback, applying it to improve his coding abilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finally, greatness is achieved 💪
&lt;/h2&gt;

&lt;p&gt;As David continues to develop his coding mindset, he notices a significant improvement in his programming skills. He can now solve problems more efficiently and write optimized code. He realizes that by focusing on the coding mindset, he has become a more valuable programmer, and his career takes off.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moral of the story 😋
&lt;/h2&gt;

&lt;p&gt;David's story shows that mastering the coding mindset is essential to becoming a successful programmer. By avoiding tutorial hell and developing problem-solving skills, efficient coding practices, and a positive attitude towards feedback, programmers like David can become more valuable and successful in their careers.&lt;/p&gt;

&lt;p&gt;Almost feel bored and tired 😊 Don't worry,&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%2F1p404phm7tbzn8kd1rb5.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%2F1p404phm7tbzn8kd1rb5.png" alt="Almost reaching the end" width="450" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But What are the key takeaways 😕🤔
&lt;/h2&gt;

&lt;p&gt;Certainly! Here are some key takeaways that everyone can learn from David's story:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Avoid tutorial hell 🔁:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Focusing solely on learning programming languages and watching tutorials without applying the concepts can lead to stagnation and prevent growth as a programmer. &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%2Flsbk2xazxhvkhzteq59o.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%2Flsbk2xazxhvkhzteq59o.png" alt="tutorial hell demonstration" width="300" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Keep in mind that "There's no shortcut to becoming good at programming. Having enough time to practice will only make you better in this career"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Develop a problem-solving mindset 🧠:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mastering the coding mindset is not just about memorizing syntax but also about developing a problem-solving mindset to tackle complex problems.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Embrace feedback 💏: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback is essential for growth and improvement as a programmer. Learning to accept criticism without taking it personally and using it constructively can lead to significant progress.&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%2Fr8dpvadw9fl5s2il5prj.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%2Fr8dpvadw9fl5s2il5prj.png" alt="embrace feedback" width="680" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Collaborate with others 🤼:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Working with others and learning from them can help develop efficient coding practices and expand knowledge.&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%2F072r99rhewxt0dcqjjux.gif" 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%2F072r99rhewxt0dcqjjux.gif" alt="celebrating team work" width="120" height="90"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focus on understanding concepts 📖:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of memorizing syntax, focusing on understanding the concepts behind programming can lead to a more profound understanding and better problem-solving skills.&lt;/p&gt;

&lt;p&gt;Last but not least,&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%2Fyaai4ja6mqdgtxilm128.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%2Fyaai4ja6mqdgtxilm128.png" alt="The Power of the Coding Mindset" width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By incorporating these takeaways into their own approach to programming, aspiring programmers can develop a coding mindset and set themselves up for success.&lt;/p&gt;

&lt;p&gt;This is the end,&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%2Ftwsi5rl1c5lvagxrw4cm.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%2Ftwsi5rl1c5lvagxrw4cm.png" alt="Welcome to the end game" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope the article helped! For much more wise content and posts like this follow Ederner_labs &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/company/ederner-labs/" rel="noopener noreferrer"&gt;Ederner LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Ederner_labs" rel="noopener noreferrer"&gt;Ederner Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/ederner_labs/" rel="noopener noreferrer"&gt;Ederner Instagram&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;✌✌✌&lt;/p&gt;

</description>
      <category>windows</category>
      <category>microsoft</category>
      <category>terminal</category>
      <category>theming</category>
    </item>
    <item>
      <title>Every javascript developer should learn Typescript 🔥🔥and here is why</title>
      <dc:creator>TURINUMUGISHA Souvenir</dc:creator>
      <pubDate>Thu, 11 Aug 2022 09:47:00 +0000</pubDate>
      <link>https://dev.to/turinumugisha_s/every-javascript-developer-should-learn-typescript-and-here-is-why-2dhm</link>
      <guid>https://dev.to/turinumugisha_s/every-javascript-developer-should-learn-typescript-and-here-is-why-2dhm</guid>
      <description>&lt;p&gt;If you write javascript, I'm sure you've at least heard of TypeScript language. Either somewhere online, Job posts or anywhere else. You might be wondering about what it is and what it brought to us that makes is so popular, whether it's worth learning or not, may be about it's commmunity and more. &lt;/p&gt;

&lt;p&gt;This cool stuff called Typescript is rapidly dominating the web 🤞 and it should in my opinion due to several factors&lt;/p&gt;

&lt;p&gt;Learning typescript has been one of the ever winning decisions I could have made in my career - no exaggeration here. In the last three years, every javascript project that I have contributed to, was using typescript in one way or the other.&lt;/p&gt;

&lt;p&gt;When we generally pick any new language or technology we consider many points like its flexibility, how useful it is? What would be the future of it? etc. &lt;br&gt;
Instead of presenting only one side of the story or doctored facts, this article will solve all your queries related to TypeScript.&lt;/p&gt;

&lt;p&gt;Without further ado, &lt;br&gt;
&lt;a href="https://media.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%2F3d403atl8xftw3y08iiq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F3d403atl8xftw3y08iiq.gif" alt="Let's get started"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is typescript
&lt;/h2&gt;

&lt;p&gt;Starting from the very basic, Typescript is Microsoft’s open-source project which could be referred to as the superset of JavaScript. &lt;br&gt;
TypeScript builds on top of JavaScript. First, you write the TypeScript code. Then, you compile the TypeScript code into plain JavaScript code using a TypeScript compiler.&lt;/p&gt;

&lt;p&gt;Once you have the plain JavaScript code, you can deploy it to any environments that JavaScript runs.&lt;/p&gt;

&lt;p&gt;TypeScript files use the .ts extension rather than the .js extension of JavaScript files.&lt;/p&gt;

&lt;p&gt;Here is how the flow goes:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F17xmv6h9tr8fy11g2r6x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F17xmv6h9tr8fy11g2r6x.png" alt="typescriptflow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The main goals of TypeScript are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Introduce optional types to JavaScript.&lt;/li&gt;
&lt;li&gt;Implement planned features of future JavaScript, a.k.a. ECMAScript Next or ES Next to the current JavaScript.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;TypeScript brings the future JavaScript to today&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In simple words,&lt;br&gt;
&lt;a href="https://media.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%2F06o1461yrg2m82ko42x7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F06o1461yrg2m82ko42x7.png" alt="typescript power"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are is a combination of five reasons to why you should learn typescript:&lt;/p&gt;

&lt;h2&gt;
  
  
  1.Typescript's domination in the industry
&lt;/h2&gt;

&lt;p&gt;Typescript is dominating the web as javascript did, nowadays due to the beauty of typescript, both small(start-ups) and big companies are using typescript&lt;/p&gt;

&lt;p&gt;Google, Facebook, Microsoft, and many more big names are working on TypeScript and using it. So it really excites so much that you are working on projects with the technology which is having global scope.&lt;/p&gt;

&lt;p&gt;You might be wondering what that means, but if you're searching for a job you will need to apply to the jobs posted by some of these companies and start-ups, and so you will be required to have a knowledge of typescript to work with them.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Growing and supportive community
&lt;/h2&gt;

&lt;p&gt;From the time Typescript has been introduced, it is gaining popularity with time. The curve for its popularity is really great if we see the last few years. As we know that Microsoft is building many efforts for growing community Typescript.&lt;/p&gt;

&lt;p&gt;If you look at online developer surveys such as those for stackoverflow, you will see that there is a big community behind typescript and this is increasing steadily.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The power Typescript adds to javascript
&lt;/h2&gt;

&lt;p&gt;Typescript is unbeatable and brings super powers to javascript believe it or not.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It improves your productivity while helping avoid bugs.&lt;br&gt;
By using types, you can catch bugs at the compile-time instead of having them occurring at runtime -Javascript didn't have this.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here are the main awesome features that typescript brings to the world of javascript devs:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Object-Oriented Programming:&lt;/strong&gt; TypeScript provides all features of Object-Oriented Programming where you can form objects because TypeScript provides inbuilt support for classes, interfaces, and many more features of OOP. It helps in designing and implementing them with clean and scalable code. This feature of TypeScript separates it from others and it makes the code more readable which helps to easily maintain and alter code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supports all JavaScript libraries:&lt;/strong&gt; Typescript supports all the JavaScript libraries and you can change your existing JavaScript project into TypeScript by just changing the extension of the file .js to .ts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Static Typing:&lt;/strong&gt; Typescript takes the robust code at another level to write scripts which helps in writing and maintaining larger codes especially in the case of scripting which helps in analysis of code. You don’t have to wait till the runtime to find bugs in your code which reduces complications of designing. It promotes dependable refactoring and makes it faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dependency Injection:&lt;/strong&gt; Typescript allows you to create objects outside the class and provide those objects to a class in many different ways.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other Features:&lt;/strong&gt; Typescript compiles the code into the version of JavaScript which helps the code to run on all browsers. TypeScript also has Intellisense which is really helpful in giving hints for code. It supports encapsulation, abstraction, polymorphism, and other OOP features. Typescript code is more readable, clean, and scalable. Typescript is a strongly typed language that supports prototypes, dynamic types, and constructor functions. Also, it helps in changing the document using API. The module is another amazing feature of Typescript just like namespaces.&lt;/p&gt;

&lt;p&gt;Sounds more powerful 😉, right!&lt;br&gt;
&lt;a href="https://media.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%2F58lg2idvriayz8egh2im.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F58lg2idvriayz8egh2im.gif" alt="Typescript is powerful"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. It's fit with popular javascript frameworks
&lt;/h2&gt;

&lt;p&gt;Another main reason behind the popularity is that Typescript feels amazing when you work with Vue, Angular,NodeJs and React. Many libraries like Redux, Style, Components, React intl, formik is supported by Typescript which makes Typescript the choice for the larger community. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fgflmq3e4r0174wtatza9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fgflmq3e4r0174wtatza9.gif" alt="masterpiece"&gt;&lt;/a&gt;&lt;br&gt;
🤞🤞&lt;/p&gt;

&lt;p&gt;So you can simply conclude that Typescript’s magic is working all over the world. Go with it and feel the vibe 😉. Many developers think that the only reason why they prefer javascript is that you can not work on React, NodeJS, Angular, and Vue if you are working with Typescript. Relax, Typescript supports all of them so you don’t have to worry about this.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Easy to start and Adopt
&lt;/h2&gt;

&lt;p&gt;Yeah, many jobs are now requiring developers to know TypeScript.&lt;br&gt;
But don't be alarmed – if you already know JavaScript, you will be able to pick up TypeScript quickly. &lt;/p&gt;

&lt;p&gt;Typescript is just an enhancement of javascript (Javascript and more), it's easy for javascript devs to get used to.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Conclusion
&lt;/h2&gt;

&lt;p&gt;That's a few of more reasons to why I think you should learn Typescript if you're using javascript.&lt;br&gt;
If you consider the above points, I beleive it will help you in building a career in development and TypeScript will give an edge to your career according to my exprience and facts.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;Hooray! I'm done&lt;br&gt;
It's your turn. Go on in the comment section and tell us what you think. Have you ever tried typescript, share us your exprience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let me know if you would like me to share 5 big tutorials on web that will help you master typescript in few days&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Stay tunned,&lt;/p&gt;

&lt;p&gt;Let me keep vibing with my typescript here 🤣🤣&lt;br&gt;
&lt;a href="https://media.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%2Fb2m4mdwpwfdolko8zfxu.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fb2m4mdwpwfdolko8zfxu.gif" alt="Loving typescript"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>6 Big mistakes most beginner software engineers make 🙁 - I wish I knew this when I started programming 😢</title>
      <dc:creator>TURINUMUGISHA Souvenir</dc:creator>
      <pubDate>Mon, 08 Aug 2022 13:16:02 +0000</pubDate>
      <link>https://dev.to/turinumugisha_s/6-big-mistakes-most-beginner-software-engineers-make-i-wish-i-knew-this-when-i-started-programming-5h98</link>
      <guid>https://dev.to/turinumugisha_s/6-big-mistakes-most-beginner-software-engineers-make-i-wish-i-knew-this-when-i-started-programming-5h98</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Every master was once a beginner. And every pro began as an amateur. ~ quote by Robin Sharma&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As Robin sharma quoted none is a master that was not a beginner. What only differenciate a beginner from a master is the experience gained through all the journey. &lt;/p&gt;

&lt;p&gt;Getting started into programming can be thought as something simple as well as you have your PC and access to all the materials needed to get started but the more time you spend into it, the more your eyes get opened and realize all the stupid things you've done and the time you've wasted. &lt;/p&gt;

&lt;p&gt;When i started programming I did 6 big mistakes that I wish I had got someone to alert me about them before I got started. I've also seen alot of beginners that I tutored trying to do the same all the times. I lost alot of money and time that I don't wish anyone else to loose.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--edleN_5f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/asitjduxhm6jzl9atjyg.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--edleN_5f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/asitjduxhm6jzl9atjyg.gif" alt="NOT ALONE" width="498" height="370"&gt;&lt;/a&gt;&lt;br&gt;
🙋🙋&lt;/p&gt;

&lt;p&gt;In this tutorial, I will be sharing you these 6 mistakes and how you can avoid them if you are just getting started or have started already but have the same bad habits.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Trying to learn alot of things at once
&lt;/h2&gt;

&lt;p&gt;When I was getting started, I had what we call FOMO (Fear Of Missing Out) and its something I see in alot of young developers these days where they want to be up-to-date to each latest trend in Software Engineering. By the time,You could find me learning more than 5 languages at once and even jumping to more advance concepts and framworks before I knew the fundamentals&lt;/p&gt;

&lt;p&gt;At the end of it all, I knew it was just a wastage of time because how this industry is set, none hires you because you just know alittle of many trending technologies. No, Companies need someone who master a certain language and is probably the best at it. &lt;/p&gt;

&lt;p&gt;Please please 🙏 don't rush. Focus on one language and start from fundamental concepts, not just rushing to advanced ones or frameworks. This will not only make you a master at that language but also make it simple for you when you try to learn something else.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Jumping into code too quick - Coding without planning
&lt;/h2&gt;

&lt;p&gt;This is the most common mistake of programmers that they write code without thinking and planning.&lt;br&gt;
As a beginner engineer, you have so much excitement to code and nothing else. &lt;/p&gt;

&lt;p&gt;If you are the kind that jumping to code is the first idea or solution that comes to your mind when you get a problem to solve, you will end up wasting a lot of your time. Resist the temptation to code and think about alternate ways to challenge your own assumptions first. Yes, some of this comes with experience, but it's good to build the habit early on.&lt;/p&gt;

&lt;p&gt;It applies to both small applications and large applications. You require to think and plan in advance before coding and this is a rule. The correct process to write quality code is Research. Plan. Write. Validate. Modify. &lt;/p&gt;

&lt;h2&gt;
  
  
  3. Googling issue
&lt;/h2&gt;

&lt;p&gt;I categorize googling issue into two things. &lt;br&gt;
The first issue that's much common to absolute beginners is not knowing to search for what they need.They waste their time in solving a problem when they can google it and find a solution to a problem. Google helps you to understand that what you think is a problem is not really a problem and stop fixing it. So Google it first. Being creative sometimes doesn’t mean everything you are doing is correct.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V0JK5ukz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wds851tqdr7qip6fwfvh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V0JK5ukz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wds851tqdr7qip6fwfvh.gif" alt="google it" width="498" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The second issue is using search the bad way. this is that you search for something because you are stuck and need some help. But the moment you find a post that gives you the solution, you just copy-paste it and move on without understanding how they solved it and why you could not. You solved your immediate problem, but you didn't fix the root cause. This is very dangerous because it leads you to become the kind of engineer that solves problems in a very hacky and patched up manner without understanding the actual inner workings of your own solution. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h1VOS0Jv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hhw2ubd90nnf7o82rgpe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h1VOS0Jv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hhw2ubd90nnf7o82rgpe.png" alt="Image description" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Please use that keyboard wisely 😂😂&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Don't be the "stackoverflow dev". It's okay to look for solutions online, but when you find one, make sure to fully understand how it works and to fill gaps in your own knowledge that led you to being stuck in the first place!&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Preferring quantity to quality
&lt;/h2&gt;

&lt;p&gt;Ambiguous code is waste and it cannot re-create. While programming or coding focus should be kept on the quality of the code. By quality I mean code should be readable and clean. Don't repeat yourself and Don't feal eargered to clear ambiguous code because you think it took you a long time to write. If you don't focus one code quality and just code you can't stand out for sure. Being to working, doesn't mean its optimized. Optimize your code again and again till they reach the best standard&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Just picking a solution because it's probably the first
&lt;/h2&gt;

&lt;p&gt;This point is connected to the fourth one, While you might think your first searched solution is all inviting and true, good solutions are found after evaluating all possible solutions you find. Coders should be able to find multiple solutions to a problem. If you are unable to do so that means you do not understand the problem. As a programmer you need to find a solution that is simple enough to read, understand and maintain. Instead of rushing towards implementation, think about the potential failures of the solutions and try to find the solutions of a problem in the simplest way.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Not reading others' code
&lt;/h2&gt;

&lt;p&gt;This is so common, it's not even for absolute beginners only. I've seen great devs who can code up quick, effective solutions on their own, but completely crumble when they have to contribute to any project that is not their own. The reason is, they are just not used to reading other people's code. Reading other people's code, understanding it quickly and being able to debug through it is a skill on it's own! So start building this early - because you will be doing a lot of this in your job, and reading others' code can sometimes be more challenging than writing your own. The end goal as you progress through your career is to not only be able to read a codebase that multiple devs have worked on, but understand the big picture quickly and identify areas where you can improve.&lt;/p&gt;

&lt;p&gt;A great way to build this skill early on is to go to open source projects, read the code there and try to understand what is going on. Even better if you can identify some improvements and put in a pull request to do so! &lt;/p&gt;

&lt;p&gt;I just want to keep this article short, Let me conclude &lt;/p&gt;

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

&lt;p&gt;You might be worried that you are making alot of mistakes after reading this article. But don't panic,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G7faOxXO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7e8b63gmuqtf3t7d9dg0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G7faOxXO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7e8b63gmuqtf3t7d9dg0.gif" alt="stay condifent" width="200" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's just a part of the journey. The only bad thing you can do is persisting on not correcting what you've seen as a mistake. Stop worrying about best practices and focus on what you can do best. Invest enough time in research and find good practices that suit well for programming. Do not go looking for best practices on the basis of what others found. Best practices come from own research and practices. Rely on self-searched steps for quality coding. Every content is different from others and every good practice does not necessarily apply to all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Done 😀
&lt;/h2&gt;

&lt;p&gt;Boom! We are done 😀, its your turn now to share us what you think about the article and any mistake that you might have done that you think others should avoid. &lt;/p&gt;

&lt;p&gt;Stay tunned! Bye 🙋&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>tips</category>
    </item>
    <item>
      <title>Online/Offline Event Detection and how to keep your users attention on your app even when they are offline using javascript</title>
      <dc:creator>TURINUMUGISHA Souvenir</dc:creator>
      <pubDate>Fri, 05 Aug 2022 16:33:00 +0000</pubDate>
      <link>https://dev.to/turinumugisha_s/onlineoffline-event-detection-and-how-to-keep-your-users-attention-on-your-app-even-when-they-are-offline-using-javascript-5a8o</link>
      <guid>https://dev.to/turinumugisha_s/onlineoffline-event-detection-and-how-to-keep-your-users-attention-on-your-app-even-when-they-are-offline-using-javascript-5a8o</guid>
      <description>&lt;p&gt;Did you know you can keep your website users attention even in case of their disconnectivity! I know you are asking yourself how this is possible.&lt;/p&gt;

&lt;p&gt;Don't panic, It doesn't require a phone call to each user :) lol just simple javascript statements and you are done.&lt;/p&gt;

&lt;p&gt;To begin with, I think you've ever tried to load Youtube or Twitter when you are not connected. If not, I suggest you to try it before going further.&lt;br&gt;
What have you figure out! &lt;/p&gt;

&lt;p&gt;As you might have noticed, These giants still have something to show you that's not so bad in that case.&lt;/p&gt;

&lt;p&gt;Let's have a look at the pages they render &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Youtube's offline page&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_PAzrIiC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rq688yexmnv62ypul00x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_PAzrIiC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rq688yexmnv62ypul00x.png" alt="Youtube's offline page" width="880" height="453"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Twitter's offline page&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lbhHOaRK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ws49hl40fum08itanpzq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lbhHOaRK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ws49hl40fum08itanpzq.png" alt="Twitter's offile page" width="880" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now compare these two pages with the default page that the browser renders to you when you try to access many other websites without internet connectivity&lt;/p&gt;

&lt;p&gt;Here is what you get, You probably get this one&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m3xHd4FU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/laft5skgis7wya0eupxq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m3xHd4FU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/laft5skgis7wya0eupxq.png" alt="No internet browser page" width="880" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or this one,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LePPPM9o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mnik82pqx16702z2wy77.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LePPPM9o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mnik82pqx16702z2wy77.png" alt="No internet browser page" width="880" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Remember, these are the pages that show up even when the user try to navigate to another page though they might have accessed the website before they get disconnected (unless you are using technologies which handle this).&lt;/p&gt;

&lt;p&gt;Now guys, let's be honest and compare the youtube's and twitter's reaction to internet disconnectiviy and the default browsers' way. What do you think is user friendly and keeps catching a little part of users' attention towards the site they wanted to access?&lt;/p&gt;

&lt;p&gt;Hmmm! Hmmm! I hope we all agree that youtube's and twitter's approach is better. It's a better way to keep users' thoughts towards their products as they (users) are waiting for the internet connection. &lt;/p&gt;

&lt;p&gt;Why you not doing the same on your website ?  Success doesn't come from very big things, no, even the way you react to small situations shows how you're ready for your audiences and customers. Keep in mind that your success will be defined by the good experience users will have with your product.&lt;/p&gt;

&lt;p&gt;In this tutorial, I want to share with you a simple javascript way to detect whether your users are still connected or not and how you can still serve them with a meaningful page.&lt;/p&gt;

&lt;p&gt;I know you're like, why are you not starting, you know what! First smile abit and we can move on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---sjX9xOy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/74adcgycmhwu0bskprgw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---sjX9xOy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/74adcgycmhwu0bskprgw.gif" alt="Conan Obrien smiling gif" width="500" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Many developers use AJAX to determine the connection status of the browser (online or offline) by sending a request to the server. However, this is not a good method for determining the state of the browser because it requires bandwidth and can also affect usability.&lt;/p&gt;

&lt;p&gt;Yet JavaScript’s Browser Object Model(BOM) provides a direct way to detect browser’s connectivity status i.e. whether the browser is online or offline.&lt;/p&gt;

&lt;p&gt;To perform this check, We will be using two possible approches&lt;/p&gt;
&lt;h2&gt;
  
  
  1. Using .onLine property from navigator object
&lt;/h2&gt;

&lt;p&gt;This first approach targets all possible browsers out there,&lt;br&gt;
This is how it is structured:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;navigator.onLine
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The navigator object contains information about the browser.&lt;br&gt;
The onLine property returns &lt;strong&gt;true&lt;/strong&gt; if the browser is online, otherwise &lt;strong&gt;false&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The good thing about navigator.onLine as I have mentioned is that it is supported in all browsers as shown in this table:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Gg0ezsYj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wcbd2fvuyu10r1y0uw1h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Gg0ezsYj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wcbd2fvuyu10r1y0uw1h.png" alt="navigator.online browser support" width="880" height="124"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additionally, the onLine property is read-only.&lt;/p&gt;

&lt;p&gt;To test how this approach works out, use these simple html codes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;

&amp;lt;body&amp;gt;

    &amp;lt;p&amp;gt;Click the button to check 
      if the browser is online.&amp;lt;/p&amp;gt;

    &amp;lt;button onclick="isOnline()"&amp;gt;
      Click Me
  &amp;lt;/button&amp;gt;

    &amp;lt;p id="demo"&amp;gt;&amp;lt;/p&amp;gt;

    &amp;lt;script&amp;gt;
        function isOnline() {

            if (navigator.onLine) {
                document.getElementById(
                  "demo").innerHTML = "Online";
            } else {
                document.getElementById(
                  "demo").innerHTML = "Offline";
            }
        }
    &amp;lt;/script&amp;gt;

&amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Using the ononline and onoffline javascript events
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: The ononline and onoffline events are only supported in Firefox and Internet Explorer version 8 to 10.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To test these events you can create .html file and use the following codes&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;p&amp;gt;This example uses the addEventListener() method to attach a "online" and "offline" event to the window object.&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;Open the File menu and click on "Work Offline" to toggle between working online and offline.&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; The ononline and onoffline events are only supported in Firefox and Internet Explorer version 8 to 10.&amp;lt;/p&amp;gt;

&amp;lt;script&amp;gt;
window.addEventListener("online", onFunction);
window.addEventListener("offline", offFunction);

function onFunction() {
  alert ("Your browser is working online.");
}

function offFunction() {
  alert ("Your browser is working offline.");
}
&amp;lt;/script&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

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

&lt;/div&gt;



&lt;p&gt;Or these,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;body ononline="onFunction()" onoffline="offFunction()"&amp;gt;

&amp;lt;p&amp;gt;Open the File menu and click on "Work Offline" to toggle between working online and offline.&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; The ononline and onoffline events are only supported in Firefox and Internet Explorer version 8 to 10.&amp;lt;/p&amp;gt;

&amp;lt;script&amp;gt;
function onFunction() {
  alert ("Your browser is working online.");
}

function offFunction() {
  alert ("Your browser is working offline.");
}
&amp;lt;/script&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

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

&lt;/div&gt;



&lt;p&gt;Well that's it, you can see that by now you are able to know whether someone is connected or not. &lt;/p&gt;

&lt;p&gt;Coming back to youtube's or twitter's way, you have seen that they render well designed pages&lt;/p&gt;

&lt;p&gt;How do they do it ?&lt;/p&gt;

&lt;p&gt;This is how it goes,&lt;br&gt;
When user visits the site, the visited page and media (audio/video/images) are saved/cached by the browser. There is need to specify which files to save/cache. So, if the file/page exist in browser’s cache then browser shows it. This works whether user is offline or online. Generally the cached files hold mostly static content and basic JavaScript files.&lt;/p&gt;

&lt;p&gt;When a page is requested, if there is a living cached copy of the page then browser shows it. The JavaScript linked with the page then checks whether the internet connection is active or not. If it isn’t active then cached page is shown with the message of “No internet”.&lt;/p&gt;

&lt;p&gt;That's it, the secret is checking whether user is online or offline (probably using any of the methods shown above) and rendering the static page that they had cached.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stay tunned
&lt;/h2&gt;

&lt;p&gt;To keep this article short I will not go into details of how to cache pages and more, I will release a different article diving into that very soon!&lt;/p&gt;

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

&lt;p&gt;Keeping attention of your users on you in any case is one of the best practices. In this article we've seen how we can detect whether a user is online or offline and decide what to do after that.&lt;/p&gt;

&lt;p&gt;Let me hope this tutorial helped out!&lt;/p&gt;

&lt;h2&gt;
  
  
  Hooray! It's your turn now
&lt;/h2&gt;

&lt;p&gt;This is the end, &lt;br&gt;
I Would love to know what you think in the comment section!&lt;/p&gt;

&lt;p&gt;Stay tunned for many other interesting content.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>The most awesome trick for tables' mobile responsiveness you will ever need - using html and css only</title>
      <dc:creator>TURINUMUGISHA Souvenir</dc:creator>
      <pubDate>Thu, 04 Aug 2022 22:24:00 +0000</pubDate>
      <link>https://dev.to/turinumugisha_s/the-most-awesome-trick-for-tables-mobile-responsiveness-you-will-ever-need-32cp</link>
      <guid>https://dev.to/turinumugisha_s/the-most-awesome-trick-for-tables-mobile-responsiveness-you-will-ever-need-32cp</guid>
      <description>&lt;p&gt;Responsive design is all about adjusting designs to accommodate screens of different sizes.Tables are one of the most used components on the UI to represent and organize data but setting their responsiveness in mobile have never been an easy task.&lt;/p&gt;

&lt;p&gt;The most common practice of setting tables' responsivenes in mobile that's almost everywhere on the web is styling the table's container div with&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;overflow-x:auto;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Just like this,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div style="overflow-x:auto;"&amp;gt;
  &amp;lt;table&amp;gt;
    ..table headers and rows
  &amp;lt;/table&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the above code, when you are on devices with small width like mobile the data is shown but you need to scroll in x-direction which in my opinion is not user friendly thought it's a step forward.&lt;/p&gt;

&lt;p&gt;This made triggered me to search for a more convinient way of making tables responsive on small devices which is even more user friendly.&lt;/p&gt;

&lt;p&gt;Who can't like that!&lt;/p&gt;

&lt;p&gt;In this tutorial, I want to share you a very simple CSS trick that I came accross that will make each table responsive regardless of how large the table might be.&lt;/p&gt;

&lt;p&gt;Remember this is possible using HTML and CSS only.Sounds, interesting ? I know yes!&lt;/p&gt;

&lt;p&gt;Without further ado, &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fdmq59o6uz18l6e0b6res.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fdmq59o6uz18l6e0b6res.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What we are going to do is using “responsive design” principles (CSS &lt;a class="mentioned-user" href="https://dev.to/media"&gt;@media&lt;/a&gt; queries) to detect if the screen is smaller than the maximum squishitude of our table. If that's the situation, we’re going to reformat the table but don't worry nothing is tuff.&lt;/p&gt;

&lt;p&gt;Let's use this simple table&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;table&amp;gt;
  &amp;lt;caption&amp;gt;Statement Summary&amp;lt;/caption&amp;gt;
  &amp;lt;thead&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;th scope="col"&amp;gt;Account&amp;lt;/th&amp;gt;
      &amp;lt;th scope="col"&amp;gt;Due Date&amp;lt;/th&amp;gt;
      &amp;lt;th scope="col"&amp;gt;Amount&amp;lt;/th&amp;gt;
      &amp;lt;th scope="col"&amp;gt;Period&amp;lt;/th&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/thead&amp;gt;
  &amp;lt;tbody&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td data-label="Account"&amp;gt;Visa - 3412&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Due Date"&amp;gt;04/01/2016&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Amount"&amp;gt;$1,190&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Period"&amp;gt;03/01/2016 - 03/31/2016&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td scope="row" data-label="Account"&amp;gt;Visa - 6076&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Due Date"&amp;gt;03/01/2016&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Amount"&amp;gt;$2,443&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Period"&amp;gt;02/01/2016 - 02/29/2016&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td scope="row" data-label="Account"&amp;gt;Corporate AMEX&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Due Date"&amp;gt;03/01/2016&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Amount"&amp;gt;$1,181&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Period"&amp;gt;02/01/2016 - 02/29/2016&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td scope="row" data-label="Acount"&amp;gt;Visa - 3412&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Due Date"&amp;gt;02/01/2016&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Amount"&amp;gt;$842&amp;lt;/td&amp;gt;
      &amp;lt;td data-label="Period"&amp;gt;01/01/2016 - 01/31/2016&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's all with HTML&lt;/p&gt;

&lt;p&gt;let's add some styles to make it even better&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;table {
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

table caption {
  font-size: 1.5em;
  margin: .5em 0 .75em;
}

table tr {
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  padding: .35em;
}

table th,
table td {
  padding: .625em;
  text-align: center;
}

table th {
  font-size: .85em;
  letter-spacing: .1em;
  text-transform: uppercase;
}

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

&lt;/div&gt;



&lt;p&gt;The above table looks like this &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On desktop
&lt;img src="https://media.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%2Fz3v9go808scmuk7d1sa6.png" alt="Image description"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Everthing is fine in desktop and none can't be happy with that i guess.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;On mobile
&lt;img src="https://media.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%2Fuazr5ay7d84s0yxe8eaq.png" alt="Image description"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;I hope you can see how the content is more streched before we use our trick.Surely, It's look can't put a smile on your face.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As you've seen from the above results, the above code just gives us a normal table but I want you to be carefull here, Have you noticed &lt;code&gt;data-label&lt;/code&gt; attribute that I have added on each &lt;code&gt;&amp;lt;td&amp;gt;&lt;/code&gt; in our HTML? What do you realize about it's content?&lt;/p&gt;

&lt;p&gt;As you might have noticed, each td's data-label attribute has content equivalent to the table header that that &lt;code&gt;&amp;lt;td&amp;gt;&lt;/code&gt; follows under.&lt;/p&gt;

&lt;p&gt;Don't be confused nothing is strange there, &lt;br&gt;
Just wait abit and see how it's going to be usefull to us.&lt;/p&gt;

&lt;p&gt;For the css, we gonna add few other codes to make our table look better on small devices too. Kepp focused to know what's going on in mobile. Anything else was just normal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@media screen and (max-width: 600px) {
  table {
    border: 0;
  }

  table caption {
    font-size: 1.3em;
  }

  table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  table tr {
    border-bottom: 3px solid #ddd;
    display: block;
    margin-bottom: .625em;
  }

 /*Here we are setting each td display to block*/
  table td {
    border-bottom: 1px solid #ddd;
    display: block;
    font-size: .8em;
    text-align: right;
  }

/*
Now the other data-label we have added on each td comes into play.
*/

  table td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    text-transform: uppercase;
  }

  table td:last-child {
    border-bottom: 0;
  }
}

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

&lt;/div&gt;



&lt;p&gt;Let see what this adds to the beauty of our table.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F1cnovltfl9x9r28pz5cu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F1cnovltfl9x9r28pz5cu.png" alt="a table with an awesome mobile view that shows everthing clearly"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You know what,smile, we've done it.&lt;br&gt;
&lt;a href="https://media.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%2Feh7b6tgy6c5445eh67gs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Feh7b6tgy6c5445eh67gs.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To wrap it all,this tutorial was about a very awesome trick to make tables look better even on small devices regarderless of how large the table might be. I hope it was not so tough for you&lt;/p&gt;

&lt;p&gt;Note: If you want to play with the codes visit &lt;a href="https://codepen.io/turinumugisha_s/pen/GRxxaPL" rel="noopener noreferrer"&gt;this link&lt;/a&gt; which will take you to the codepen&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;It's your turn to share us what you thing about this article and share any other trick that you think it's worth our attention in the comment section.&lt;/p&gt;

&lt;p&gt;Thanks for being a part of this till the end. Boom! You buddies never dispoint (:&lt;/p&gt;

</description>
      <category>mobile</category>
      <category>tables</category>
      <category>responsivene</category>
      <category>css</category>
    </item>
  </channel>
</rss>
