<?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: Mr. Unity Buddy</title>
    <description>The latest articles on DEV Community by Mr. Unity Buddy (@unitybuddy).</description>
    <link>https://dev.to/unitybuddy</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%2F591960%2Fd0b4989c-5ccf-4a92-ac63-93fca650ca2b.png</url>
      <title>DEV Community: Mr. Unity Buddy</title>
      <link>https://dev.to/unitybuddy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/unitybuddy"/>
    <language>en</language>
    <item>
      <title>What To Do If Coding Is Hard..?</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Fri, 01 Jul 2022 03:23:38 +0000</pubDate>
      <link>https://dev.to/unitybuddy/what-to-do-if-coding-is-hard-egf</link>
      <guid>https://dev.to/unitybuddy/what-to-do-if-coding-is-hard-egf</guid>
      <description>&lt;p&gt;Hello, buddies! This article is to the coding learners and to the people who think &lt;em&gt;" I'm not good at coding.."&lt;/em&gt; No one should think like that since anyone can be good at coding. The problem is they don't know how to be &lt;strong&gt;&lt;em&gt;Good&lt;/em&gt;&lt;/strong&gt; at coding. So, Let's learn what we can do if we're not good at coding..?&lt;/p&gt;

&lt;h2&gt;
  
  
  Is coding is Hard? If yes, Why Coding Is Hard?
&lt;/h2&gt;

&lt;p&gt;Is coding hard? Many of the people who learning to code will answer &lt;em&gt;"Yes."&lt;/em&gt; But Why coding is hard? Then they will say &lt;em&gt;" I'm not smart enough to do that."&lt;/em&gt;, &lt;em&gt;"I’m just not cut out for coding"&lt;/em&gt;. But that’s not necessarily true. Coding isn’t hard, it just requires more time and practice than you might expect. &lt;/p&gt;

&lt;p&gt;To be a competent coder, you need to learn how to produce products, not just write code. To be a web developer, you need to be able to make a website, not just write out HTML tags. To be a Game developer, you need to learn how to use at least one Game Engine and a language, not to learn all the Languages used in Game Development. I also thought I won't be able to Develop games without learning to code but If I decided to learn coding first, I might not be here writing technical tutorials.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reasons why Coding is hard for many People and How To Challenge Them
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Reason 1 - Learning to Code Is Like Learning a Language
&lt;/h3&gt;

&lt;p&gt;C++, Java, Python, Objective-C – these are just four languages that happen to be among the most popular programming languages in the world. There are hundreds more. And learning a coding language is like learning a foreign language – quite literally. “So where should I begin?” you may ask. Learn with an End Goal in your mind. Maybe you want to build mobile apps or become a Game developer. Or maybe you want to start your own website-building agency or even work for Google. Whatever your end goal is, find which languages you’ll need to learn and start there. Just to start!&lt;/p&gt;

&lt;h3&gt;
  
  
  Reason 2 - Learning to Code is Time Consuming
&lt;/h3&gt;

&lt;p&gt;Many aspiring developers walk away from a bootcamp or tutorial proclaiming that coding is a world reserved for geniuses and the whole thing is unfair. Actually, most devs who “fail” at coding, do so because they are not prepared to put in the time and research that it takes to learn. Attending a bootcamp is great place to start, but the work does not end there. Unlike other learning programmes, coding isn’t a qualification you can get and walk straight into a job, never to learn any theory again. Coding requires ongoing learning. So in conjunction with a bootcamp, you’ll want to try tutorials, engaging with other devs on github and spending time on basic trial-and-error. And also there are great sources to learn programming freely. Check this &lt;a href="https://catalins.tech/20-best-places-to-learn-programming-for-free" rel="noopener noreferrer"&gt;article&lt;/a&gt; by Catalin Pit. Tips to learn Programming Faster is in the end of that article.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reason 3 - Confidence Vs Competence
&lt;/h3&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1619525780575%2FcIJ4LsZWE.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1619525780575%2FcIJ4LsZWE.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Source - Thinkful.com&lt;/p&gt;

&lt;p&gt;Consider the above graph that illustrates a theory by Erik Trautman.  The theory itself is quite involved, but the above graph is a snapshot of his main hypothesis, which is that “your confidence is highly correlated with your happiness and… the point where your confidence and capabilities match is the best proxy for the sweet spot when you’re officially job ready.”&lt;/p&gt;

&lt;p&gt;For some, building a career in coding takes months, while for others it takes years. What it comes down to is experience and hardcore grit. As an aspiring developer, you need to be prepared to experience moments of confusion, frustration and general hair-pulling craziness. But on the other side of those feelings, are feelings of satisfaction and the kind of “Eureka” moments that make it all seem worthwhile. Tip  is Start with the basics and put in extra hours – time is your most valuable commodity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips to learn Coding faster
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Learn by doing. Always play with the code while learning
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Hint: Build a project as you go through the material. A personal project is often the best starting point.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Grasp the fundamentals for long-term benefits
&lt;/h3&gt;

&lt;p&gt;As elementary as they may appear at first, programming fundamentals always need to come first: the better you understand them, the easier it is to learn more advanced concepts. Check this great article - &lt;a href="https://howtoprogramwithjava.com/programming-101-the-5-basic-concepts-of-any-programming-language/" rel="noopener noreferrer"&gt; 5 Basic Concepts of Any Programming Language&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Ask for help. You’ll need it
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Hint: &lt;a href="https://stackoverflow.com/" rel="noopener noreferrer"&gt;Stackoverlfow&lt;/a&gt; and &lt;a href="https://www.reddit.com/r/learnprogramming/" rel="noopener noreferrer"&gt;learn programming(Reddit)&lt;/a&gt; are gold mines for online programming assistance.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Don’t just read the sample code. Tinker with it!
&lt;/h3&gt;

&lt;p&gt;Reading sample code is not enough to understand how it works. To develop a true understanding, you need to actually run the code and tinker with it. With the additions of comments and instructions, sample code is packaged to be by the reader; but in reality, it’s pretty difficult to replicate from scratch. Reading is not the same as understanding, and actually trying to write the code yourself, or at least running it, will facilitate the learning process much more.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Take breaks when debugging
&lt;/h3&gt;

&lt;p&gt;When debugging, it’s easy to go down the rabbit hole for hours, and there’s no guarantee that you will fix the problem. To avoid this, it’s best to step away from the for a few hours, and return with a fresh perspective. Not only is this a guaranteed way to help solve the problem, but you’ll also save yourself hours of headache. So if help isn’t available – to touch on our previous tip about seeking advice – consider taking a break to clear your mind and return later. In the meantime, &lt;strong&gt;the bug won’t be going anywhere, and you’ll at least restore some needed sanity to improve productivity.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;So buddies, hope you leant something and I think you won't think 'Coding is hard..' anymore! Don't forget to read these articles about programming.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://ayushirawat.com/become-a-better-programmer" rel="noopener noreferrer"&gt;Become a Better Programmer&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://blogdolipe.com.br/5-tips-to-become-a-better-developer" rel="noopener noreferrer"&gt;5 tips to become a better developer&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://movi.hashnode.dev/tips-for-every-programmer-ckfbuxqh505gd2zs1hb55c9p6" rel="noopener noreferrer"&gt;Tips for every Programmer&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://adiati.com/10-tips-for-new-self-taught-developers-in-learning-to-code" rel="noopener noreferrer"&gt;10 Tips For New Self-Taught Developers In Learning To Code&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And also don't hesitate to share your experience in the comments, I'm looking to read them!. Happy Coding!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I love listening to music when coding, and you should too!</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Tue, 21 Jun 2022 05:31:41 +0000</pubDate>
      <link>https://dev.to/unitybuddy/i-love-listening-to-music-when-coding-and-you-should-too-3b1e</link>
      <guid>https://dev.to/unitybuddy/i-love-listening-to-music-when-coding-and-you-should-too-3b1e</guid>
      <description>&lt;p&gt;Hello, buddies! Most of us (developers) love to listen to music. But why? You may have many answers. So, I'm not going to tell you Why you love music. I'm going to show you Why You &lt;strong&gt;Should&lt;/strong&gt; Listen To Music While Coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Music reduces stress and anxiety
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621515027665%2Fs4-N9G06D.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621515027665%2Fs4-N9G06D.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
When you listen to music, you can lower down your stress hormones. The brain also stimulates the formation of dopamine; a molecule that makes you happy. When you listen to your favourite song, you will produce extra dopamine. This way the music helps in reducing stress.  &lt;/p&gt;

&lt;p&gt;The mind also becomes clear when you listen to music. A clear mind will help to clear your anxiety away. You forget about all the ‘what if’ scenarios.&lt;/p&gt;

&lt;p&gt;Your mind will clear because music helps your blood flow. This way more oxygen will come to your brain. With extra oxygen, you have fewer distracting thoughts.  &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Music helps you to focus
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621515053765%2FW2_SFuw33.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621515053765%2FW2_SFuw33.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
When you listen to music, you will get in the zone. The focus will only be on the code you are writing. Nothing else around you will matter. Most of songs without lyrics helps you to keep in focus. &lt;/p&gt;

&lt;p&gt;When you have headphones on, people also are less likely to talk to you. The headphones are like a barrier. People will only pass this barrier if they need to talk to you. That's a great trick too! Coding at night can help you to focus too. Now imagine 🎵&lt;strong&gt;Coding at night with Music.&lt;/strong&gt; 🎵&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Music Can Motivate You
&lt;/h2&gt;

&lt;p&gt;Music will make you happy. When you are happy, you will work more effectively. Also, the ending of tracks and changes in rhythms can urge your brain in making decisions. That's why I love Dance Monkey when coding in afternoons.   &lt;/p&gt;

&lt;h2&gt;
  
  
  4. Music can help to keep the brain alert and prevent it from switching off
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621515257786%2FloQ_SOGaA.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621515257786%2FloQ_SOGaA.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the different sounds in the background, Your brain will notice the rhythms changing and tracks ending. With this difference in background sound, your brain will be alert. &lt;/p&gt;

&lt;h2&gt;
  
  
  5. Music increases the ability to collect thoughts
&lt;/h2&gt;

&lt;p&gt;When you hear a specific piece of music, your brain will connect it to a memory that is stored in your brain &amp;amp; helps you relax. This way you can put your thoughts together. And also, you may get many creative ideas while listening to music. For me, I get many ideas about cool things to do with Python or Stories to add in a Game and sometimes, An idea for tomorrow's blog post!&lt;/p&gt;

&lt;h2&gt;
  
  
  But what kind of music should you listen to?
&lt;/h2&gt;

&lt;p&gt;How much you will get in the zone depends on the kind of music. Here are some tips for finding good coding music.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Limit the vocals
&lt;/h3&gt;

&lt;p&gt;Our brain tends to focus on the words that are being sung. When there are no vocals, the music will fade away in the background. This way you will get yourself in the zone and it will be easier to solve a difficult coding problem.  &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Listen to familiar music
&lt;/h3&gt;

&lt;p&gt;If you listen to new music, you tend to focus on the music. Unknowingly your mind will wander off for a bit. When you listen to familiar music, your brain will recognize the music. The focus will be on the music then, not on the coding.    &lt;/p&gt;

&lt;h3&gt;
  
  
  3. Listen to music with a good beat and pace
&lt;/h3&gt;

&lt;p&gt;If you listen to slow music, your brain will also move slowly. The same applies to fast music. When the music is fast, your brain will feel rushed. The middle way is perfect. Your brain will still be active enough to solve coding problems, but it won’t be rushed.  &lt;/p&gt;

&lt;p&gt;So, what about you? Do you listen to music while coding too? If yes, make sure to add your favorite music tracks in the comments!&lt;/p&gt;

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

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>career</category>
      <category>discuss</category>
    </item>
    <item>
      <title>5 Ways To Stay Motivated As A Developer</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Sun, 09 Jan 2022 13:55:48 +0000</pubDate>
      <link>https://dev.to/unitybuddy/5-ways-to-stay-motivated-as-a-developer-592o</link>
      <guid>https://dev.to/unitybuddy/5-ways-to-stay-motivated-as-a-developer-592o</guid>
      <description>&lt;p&gt;Hello, buddies! As developers, we have experiences about boring times while coding specially when learning a new language or when working on a long-time project that takes a long time to see the result. So buddies, today we're going to see 5 ways to stay motivated while coding. Scroll down!&lt;/p&gt;

&lt;h2&gt;
  
  
  1.  Have an end goal in mind.
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621348801246%2Fpwkik8SAW.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621348801246%2Fpwkik8SAW.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
This might seem obvious, but have a concrete goal in mind when you’re starting out. Take a few minutes to really think about what your #1 goal is. What’s the most important part to you?&lt;/p&gt;

&lt;p&gt;It could be to find a full-time job as a web developer so you can support your family financially. Or to have a flexible career where you can live anywhere. Or to work for yourself, without having a boss.&lt;/p&gt;

&lt;p&gt;In all this, know what your “why” is. What’s the one goal that will get you out of bed in the morning, and makes you want to continue?&lt;/p&gt;

&lt;p&gt;Once you’ve figured out what it is, write it down in a place that you’ll see it often.&lt;/p&gt;

&lt;p&gt;Yeah, this sounds cheesy, I know. But it’ll help remind you of your goals and the whole reason that you’re giving up your free time.&lt;/p&gt;

&lt;p&gt;When you are boring while working on a projects or software, always ask, " Why did I start this?" or "How this will help me find my future job?". Remember a day you were developing a software for $1000? Did you feel boring? &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Choose consistency over speed.
&lt;/h2&gt;

&lt;p&gt;On the same note, the rather cliched saying, “Slow and steady wins the race” is very true.&lt;/p&gt;

&lt;p&gt;When you are just starting out, you might want to rush into things and spend hours each day dedicated to studying and practicing coding.&lt;/p&gt;

&lt;p&gt;However, that may be a somewhat unrealistic expectation, and you may well end up burning out and giving up.&lt;/p&gt;

&lt;p&gt;You’ll be more likely to continue if you figure out how much time you can realistically and sustainably spend each day or each week studying coding. Then stick to that.&lt;/p&gt;

&lt;p&gt;Even if it’s only 30 minutes per day, if you do this for seven days a week, you’ll have studied for 3.5 hours that week. In one month that would be about 14 hours, and in one year, almost 200 hours!&lt;/p&gt;

&lt;p&gt;Even small efforts, when combined with consistency, can lead to big accomplishments.&lt;/p&gt;

&lt;p&gt;Take brushing and flossing your teeth, for instance. You might spend 4-5 minutes per day on brushing and flossing. A tiny amount of time! But doing that every single day means the difference between having great teeth, and having no teeth(I know this doesn't match but I can't imagine any other thing right now.)&lt;/p&gt;

&lt;p&gt;This is why consistency is more important than trying to go as fast as you possibly can.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Build up your willpower muscle.
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621349237057%2FeE6Dfustm.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621349237057%2FeE6Dfustm.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To successfully become a coder, you have to develop your willpower muscle to spend time learning to code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even though coding can be really fun, it sometimes sucks to have to make yourself sit down and code, instead of doing other, more fun things in your life.&lt;/p&gt;

&lt;p&gt;But just know that it will get easier over time, the longer you discipline yourself to do the work.&lt;/p&gt;

&lt;p&gt;If you have a realistic, concrete goal, aim for consistency in your time spent learning, and understand that your will to do coding will get stronger over time, you’ll be much less likely to give up midway through.&lt;/p&gt;

&lt;h2&gt;
  
  
  4.  Don’t let impostor syndrome get you down.
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621349240606%2FiPbTuewr1.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621349240606%2FiPbTuewr1.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Ah, the dreaded impostor syndrome. It’s something that plagues all beginners. Even more advanced programmers sometimes find it hard to shake off that feeling of not being good enough.&lt;/p&gt;

&lt;p&gt;One reason that I think this is such a common fear of coders is because the fields of programming and web development are just so broad. There are several programming languages, many different technology stacks, new frameworks seeming to come out every few months, and any number of tools.&lt;/p&gt;

&lt;p&gt;It’s so easy to get overwhelmed by the vast number of skills that you “need” to know– it’s no wonder that so many aspiring developers struggle with impostor syndrome!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conquer impostor syndrome with patience and focus.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You’re never going to learn every single thing there is to know about coding. To be honest, no one knows every single thing. Most programmers become experts in one programming language, maybe two, and may be moderately proficient or just familiar with others.&lt;/p&gt;

&lt;p&gt;There’s nothing wrong with learning more than one language, but try to not jump around too much. You’ll spread yourself too thin.&lt;/p&gt;

&lt;p&gt;Instead, try to focus on one main language and one stack, and get good at it.&lt;/p&gt;

&lt;p&gt;Over time, as your skills grow, your confidence will also grow. And the best part is, you will have picked up many of the core principles about programming, which you can then apply to learning other languages, frameworks, and tools more quickly.&lt;/p&gt;

&lt;p&gt;Another tip is to simply be patient with yourself (this is related to being realistic about your goals). Understand that learning coding is a marathon, not a sprint. It will likely take years before you are very proficient in it.&lt;/p&gt;

&lt;p&gt;Now, that doesn’t mean that you will never be good at programming– it will just take time.&lt;/p&gt;

&lt;p&gt;If you can be patient with yourself and your progress, and focus on one or a few skills to build up, you will be more equipped to battle impostor syndrome.&lt;/p&gt;

&lt;p&gt;See how to fight with imposter syndrome as a developer &lt;a href="https://mr-unity-buddy.hashnode.dev/fight-with-imposter-syndrome-as-a-developer" rel="noopener noreferrer"&gt;in this article&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Find a community of peers.
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621349270073%2FpR03AGYFt.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621349270073%2FpR03AGYFt.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Another common struggle of people learning software development is that you feel alone.&lt;/p&gt;

&lt;p&gt;When you’re learning in a physical classroom, you have fellow students who are doing the same thing as you. And you have a teacher that you can talk with and ask questions about the material.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you’re learning coding online or with books, you often don’t have that luxury meet your won community.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I totally disagree above statement. Of course you can find people who do same thing as you. &lt;a href="//reddit.com"&gt;Reddit&lt;/a&gt;, &lt;a href="//hashnode.com"&gt;Hashnode&lt;/a&gt;, &lt;a href="//Dev.to"&gt;Dev&lt;/a&gt; etc. One word of advice– if you join any of these communities, try to help others, and don’t just ask others for help.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus : Stay curious and keep it fun!
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621349375788%2FMReQABf_Z.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1621349375788%2FMReQABf_Z.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
One of the best characteristics of us developer is that we are curious about how things work. It’s one reason that I love programming and computers!&lt;/p&gt;

&lt;p&gt;While you’re learning, you may, for one reason or another, start feeling weary if you’ve been focused on one narrow area for a while.&lt;/p&gt;

&lt;p&gt;Feel free to change gears every so often. If you’ve been slogging away at a Python tutorial and your brain is starting to feel fried, try taking a step back and working on a random side project. Or watch a video or read an article about a different area in programming from what you’re working on.&lt;/p&gt;

&lt;p&gt;Mixing things up every so often can help keep things fresh.&lt;/p&gt;

&lt;p&gt;There are so many things that are possible with coding– CSS animations, fun API integrations, even just making silly mini apps for fun.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.codecademy.com/resources/blog/how-to-stay-motivated-learning-to-code/" rel="noopener noreferrer"&gt;https://www.codecademy.com/resources/blog/how-to-stay-motivated-learning-to-code/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/swlh/7-ways-to-stay-motivated-while-learning-to-code-536c81a0e390" rel="noopener noreferrer"&gt;https://medium.com/swlh/7-ways-to-stay-motivated-while-learning-to-code-536c81a0e390&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.codementor.io/@codementorteam/7-secrets-to-staying-motivated-when-learning-to-code-a2dy7hqar" rel="noopener noreferrer"&gt;https://www.codementor.io/@codementorteam/7-secrets-to-staying-motivated-when-learning-to-code-a2dy7hqar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>Good Code, Bad Code: Start To Think Like A Software Engineer</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Sun, 26 Dec 2021 13:03:49 +0000</pubDate>
      <link>https://dev.to/unitybuddy/good-code-bad-code-start-to-think-like-a-software-engineer-44of</link>
      <guid>https://dev.to/unitybuddy/good-code-bad-code-start-to-think-like-a-software-engineer-44of</guid>
      <description>&lt;p&gt;Hello, buddies! During the past two weeks, I have been reading a fantastic book that introduces key concepts and techniques that professional and experienced software engineers regularly use to produce reliable and maintainable code. But this is not just for Software engineers; it's for everyone in the Software Development field. &lt;/p&gt;

&lt;p&gt;Good Code, Bad Code book aims to explain the core reasoning behind&lt;br&gt;
each concept and technique, as well as any trade-offs. This should help readers develop a fundamental understanding of how to think and code like a experienced software engineer&lt;/p&gt;

&lt;p&gt;Here you can read some key points of the book, but this won't cover the whole gold mine. I highly recommend you to read the whole book by Manning Publications by using this &lt;a href="https://www.manning.com/books/good-code-bad-code" rel="noopener noreferrer"&gt;link&lt;/a&gt;. If you want to try your luck and get a free book of "Good Code, Bad Code", scroll down to the end of the article and fill in the small form. &lt;/p&gt;

&lt;p&gt;And one of the best things that are gonna happen is, you can get any book from Manning Publications with a 35% discount, using this code: &lt;code&gt;blunbuddy21&lt;/code&gt;. Don't forget to say Thanks to Manning Publications! &lt;/p&gt;

&lt;h2&gt;
  
  
  Code Quality
&lt;/h2&gt;

&lt;p&gt;We've heard this word thousands of times but who cares? This chapter is one of my favorites, let me elaborate more on this topic.&lt;/p&gt;

&lt;p&gt;In everyday life, we interact with software a lot. There are many pieces of software that we depend on. Think about a banking app that doesn't have a well-behaved backend system, is going to unexpectedly transfer the contents of our bank account to someone else, or suddenly decide that we’re in millions of dollars of debt! A small bug can ruin lives.&lt;/p&gt;

&lt;p&gt;Higher-quality code tends to produce software that is more reliable, easier to maintain, and less buggy which makes it is one of the most important things in Software development.&lt;/p&gt;

&lt;blockquote&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639468826578%2FRx2sAQQPK.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639468826578%2FRx2sAQQPK.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Source: The Book&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  The goals of code quality 🎯
&lt;/h3&gt;

&lt;p&gt;Defining code as being high quality or low quality is an inherently subjective and somewhat judgmental thing. To try to be a bit more objective about it, you should look back at the code and figure out what exactly you're trying to achieve by this piece of code. Tom Longs suggests the Code which helps anyone to achieve these 4 things is a high-quality code. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It should work: Your piece of code must work&lt;/li&gt;
&lt;li&gt;It should keep working: It should keep working all the time, without breaking in anywhere.&lt;/li&gt;
&lt;li&gt;It should be adaptable to changing requirements: It’s quite rare that a piece of code is written once and then never modified again. &lt;/li&gt;
&lt;li&gt;It should not reinvent the wheel: You don't have to code a file importing system from scratch when there's a library for it.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Pillars of Code Quality
&lt;/h3&gt;

&lt;p&gt;The 4 goals we just looked at help us focus on what we’re trying to achieve, but they don’t provide specific advice about what to do in our everyday coding. I think it'll be useful to see some strategies that will help us to achieve these goals easily.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make code readable&lt;/strong&gt;:  If our code has poor readability, other engineers will have to spend a lot of time trying to decipher it. There is also a high chance that they might misinterpret what it does or miss important details. If this happens, then it’s less likely that bugs will be spotted during code review, and it’s more likely that new bugs will be introduced when someone else has to modify our code to add new functionality. Commenting on code can be a solution sometimes, but it's easier and safe to make your code readable itself. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Avoid surprises&lt;/strong&gt;: Surprises are very nice on your Birthday but when we’re trying to get a specific task done,  surprises are usually a bad thing. In software systems when some code does something surprising: because the caller of the code doesn’t know to expect it, they carry on unaware. It will often look like things are fine for a bit, but then later things will go horribly wrong when the program finds itself in an invalid state or a weird value is returned to a user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make code hard to misuse&lt;/strong&gt;: Code we write is often called by other code. We expect that other code to insert certain things in, like input arguments or placing the system in a certain state before calling. If the wrong things get inserted into our code,&lt;br&gt;
then things might blow up; the system crashes, a database gets permanently corrupted, or some important data gets lost. Even if things don’t blow up there’s a good chance that the code is not going to work. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make code modular&lt;/strong&gt;:  Modularity means that an object or system is composed of smaller components that can be independently exchanged or replaced. Simply, this means that you have to make your code just like a LEGO toy. Others should be able to remove and add things without breaking the code. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make code reusable and generalizable&lt;/strong&gt;:  Reusability means that something can be used to solve the same problem but in multiple scenarios. And Generalizability means something can be used to solve multiple conceptually similar problems that are subtly different. If we get a hand drill, it is also Generalizable because it can be used to drill holes, it can also be used to drive screws.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make code testable and test it properly&lt;/strong&gt;: It’s hard to explain how testing is important is in software development. There are different levels of testing such as Unit testing, which is well described in the book.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Writing high-quality code slows us down? 🤔
&lt;/h3&gt;

&lt;p&gt;When thinking about how to do all these things, you may have often questioned that doesn't this slow us down? The book has a beautiful example, let's take a look at it.&lt;/p&gt;

&lt;p&gt;You are putting a shelf up at home. You get two ways of doing this,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The proper way&lt;/em&gt;: We attach brackets to the wall by drilling and screwing into something solid like the wall studs or masonry. We then mount the shelf on these brackets. Time took: 40 minutes&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hacky way&lt;/em&gt;: We buy some glue and glue the shelf to the wall. Time took: 10 minutes&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640324588983%2F2LBrhpL45.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640324588983%2F2LBrhpL45.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How nice! The hacky way saves us 30 minutes.  We glued the shelf to whatever the wall is surfaced with; this is most likely a layer of plaster. Plaster is not strong and can easily crack and come off in large chunks.  When we put some weight on the shelf, it will fall down and now you don't have a shelf and your wall is also awful so you're gonna redecorate it which will take you hours; sometimes days!&lt;/p&gt;

&lt;p&gt;You get the idea. It might seem like doing it in the proper way is a waste of 20 minutes but when compared to the time and hassle by the "bugs" made by the hacky way, the proper way saves us a lot of time.&lt;/p&gt;

&lt;p&gt;Therefore, writing high-quality code never slows you down. It just makes great software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working with Other engineers
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640324302318%2FnJpU0r8I7.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640324302318%2FnJpU0r8I7.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating software is usually Teamwork. A company making software may have hundreds of developers creating hundreds of projects and you may often have to work with other people's code as well as they will work with yours. &lt;/p&gt;

&lt;blockquote&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639486653422%2FPJL7fFlnB.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639486653422%2FPJL7fFlnB.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Source: The Book&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Therefore, when writing code; even though you're single, you have to care about these things.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Things that are obvious to you are not obvious to others
&lt;/h4&gt;

&lt;p&gt;When you get down to writing some code, you have probably already spent hours or days thinking about the problem you are solving. You may have been through several stages of design, user experience testing, product feedback, or bug reports. You might be so familiar with your logic that things seem obvious, and you barely need to think about why something is the way it is or why you are solving the problem the way you are.&lt;/p&gt;

&lt;p&gt;But what bout your teammates? They will need to interact with your code, make changes to it, or make changes to something it depends on. They will not have had the benefit of all your time to understand the problem and think about how to solve it.  The things that are obvious to you aren't obvious to them&lt;/p&gt;

&lt;p&gt;Therefore,  It’s useful to always consider this and make sure your code explains how it should be used, what it does, and why it is doing it.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Other engineers will inadvertently try to break your code
&lt;/h4&gt;

&lt;p&gt;Sounds cynical. Your code probably depends on multiple other pieces of code, and these, in turn, depend on even more pieces of code. And there are probably yet more pieces of code that depend on your code. &lt;/p&gt;

&lt;p&gt;If another engineer makes a change that breaks or misuses your code, then you want to ensure that their change does not get submitted into the main codebase until they’ve fixed the issue they’ve caused. The only two reliable ways to do this are to ensure that, when something is broken, either the code stops compiling or some tests start failing. A lot of the considerations around writing high-quality code are ultimately about ensuring that one of these two things happen when something is broken&lt;/p&gt;

&lt;h4&gt;
  
  
  3. In time, you will forget about your own code.
&lt;/h4&gt;

&lt;p&gt;The piece of code you just wrote is in your mind and you will never think that you will forget it. But we're not machines, we forget things. By that time, you will forget the code that you wrote and ask someone else about it. This won't matter until a new feature comes along, or a bug gets assigned to you in a year’s time from now, you might have to modify that code you wrote and may no longer remember all the ins and outs of it. &lt;/p&gt;

&lt;p&gt;Looking at code that you wrote a year or two ago is not much different from looking at code written by someone else. Make sure your code is understandable even to someone with little or no context, and make it hard to break. You’ll not only be doing everyone else a favor, but you’ll be doing your future self one too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Unit Testing
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640324480608%2Fd_hLdlsOw.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640324480608%2Fd_hLdlsOw.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Unit testing involves the testing of each unit or an individual component of the software application. It is the first level of functional testing. The aim behind unit testing is to validate unit components with their performance. In the book, it has beautifully explained what exactly is Unit Testing, highly encourage you to get the book yourself!&lt;/p&gt;

&lt;h3&gt;
  
  
  What makes a Good Unit Test?
&lt;/h3&gt;

&lt;p&gt;While you may think it is not much important, it is the most important part of making good software. When it is not going well, it may lead to many problems such as unnoticed bugs, unable to maintain, etc. So knowing what makes good unit testing is important. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accurately detects breakages—If the code is broken, a test should fail. And a test
should only fail if the code is indeed broken (we don’t want false alarms).&lt;/li&gt;
&lt;li&gt;Agnostic to implementation details—Changes in implementation details should
ideally not result in changes to tests.&lt;/li&gt;
&lt;li&gt;Well-explained failures—If the code is broken, the test failure should provide a
clear explanation of the problem.&lt;/li&gt;
&lt;li&gt;Understandable test code—Other engineers need to be able to understand what
exactly a test is testing and how it is doing it.&lt;/li&gt;
&lt;li&gt;Easy and quick to run—Engineers usually need to run unit tests quite often during their everyday work. A slow or difficult-to-run unit test will waste a lot of engineering time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  That's only a bit of the book!
&lt;/h2&gt;

&lt;p&gt;Yes, 1000 words can't cover this gold mine. The book has a lot of things— I mean really a lot of things in those 300 pages. I highly recommend you to get it and read it yourself. Once you've read it, you will find some coding techniques that will take years to learn by experience. &lt;/p&gt;

&lt;p&gt;Get the book &lt;a href="https://www.manning.com/books/good-code-bad-code" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now I guess it's the time for,&lt;/p&gt;

&lt;h3&gt;
  
  
  Giveaway!
&lt;/h3&gt;

&lt;p&gt;Yes, to be thanks to the Manning publications, you can try your luck to get a free eBook of "Good Code, Bad Code". Just fill this 2-question form &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScDWl1owIIL5TzehtRnoCBWwmKE86DWbf98U3Q9jroY_xQ2VA/viewform" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Or, you can buy it yourself with a 35% discount using this code: &lt;code&gt;blunbuddy21&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And that's all for today. Don't forget to read the book and happy coding! See you soon ✌&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>Create Your Own Weather App With Python + TuyaAPI (With GUI)</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Wed, 22 Dec 2021 06:49:21 +0000</pubDate>
      <link>https://dev.to/unitybuddy/create-your-own-weather-app-with-python-tuyaapi-with-gui-4bf0</link>
      <guid>https://dev.to/unitybuddy/create-your-own-weather-app-with-python-tuyaapi-with-gui-4bf0</guid>
      <description>&lt;p&gt;Hello, buddies! In this article, we are going to build a desktop-based weather app using Python, Tkinter, and TuyaAPI that will be able to share real-time weather data (Temperature, Humidity, and Wind speed) by using the Latitude and Longitude entered as input.  Before we get started, let me introduce Tuya Cloud Development to you.&lt;/p&gt;

&lt;p&gt;Tuya Smart is a global IoT development platform that builds interconnectivity standards to bridge the intelligent needs of brands, OEMs, developers, and retail chains across a broad range of smart devices and industries. Based on the global public cloud, Tuya connects different intelligent scenarios and smart devices by providing hardware development tools, &lt;strong&gt;integrating public cloud services&lt;/strong&gt;, and offering an intelligent business development platform.&lt;/p&gt;

&lt;p&gt;Tuya's Public cloud services include Email service, SMS service, Voice Message service, Weather Service as well as Notification service.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: If you want to learn more about TuyaAPI for Python, refer &lt;a href="https://mr-unity-buddy.hashnode.dev/playing-with-tuya-api-an-api-for-pythonistas" rel="noopener noreferrer"&gt;this article&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why use Tuya?
&lt;/h2&gt;

&lt;p&gt;Because.. many reasons! The first thing is it's free and very easy to configure things if you study Tuya docs for an hour. And it has an API Explorer on itself which helps you to figure out how things are happening and how the output will be like. &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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639764783640%2FOSrVwsrE0.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639764783640%2FOSrVwsrE0.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you are caring much about data security, Tuya Cloud provides a five-layer security strategy to ensure the security of smart devices without the risk of information leakage so you can think that your data is inside of a highly-secured safe!&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639765124546%2F93pWT8s1x.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639765124546%2F93pWT8s1x.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tuya Developer Account. Get it here - &lt;a href="https://developer.tuya.com/en/?_source=b0137273d9769517af96e1f625818fe3" rel="noopener noreferrer"&gt;https://developer.tuya.com/en/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Tuya Python SDK and Connector&lt;/li&gt;
&lt;li&gt;Tkinter
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;pip install tuya-iot-py-sdk
pip install tuya-iot-py-sdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Some Basics of Python&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creating The Tuya Project
&lt;/h2&gt;

&lt;p&gt;After signing up using the above link, you will head over to the dashboard. From there, go to 'Cloud' and create a project inserting the following information.&lt;/p&gt;

&lt;blockquote&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639765763630%2FkwZ5H190t.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639765763630%2FkwZ5H190t.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Make sure your Data Center is correct.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Next, you will be asked to Authorize APIs. They give some APIs by default but we don't need them. So you will have to remove most of them and keep only these four (Device Location is optional, just for future improvements).&lt;/p&gt;

&lt;blockquote&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639765839224%2FBU4-ZPMKK.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639765839224%2FBU4-ZPMKK.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Everything is now set up! Finally, we have,&lt;/p&gt;

&lt;h2&gt;
  
  
  Coding Part!
&lt;/h2&gt;

&lt;p&gt;First of all, we should import the libraries as below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;tuya_connector&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="n"&gt;TuyaOpenAPI&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;tkinter&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="c1"&gt;# Explicit imports to satisfy Flake8
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;tkinter&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Tk&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Canvas&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Entry&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;PhotoImage&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;font&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;After that, we should authorize the project by these lines of code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;ACCESS_ID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;*****fyb6fkekonk8qi&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;ACCESS_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;*********0d1ab3fb275cf8040fa&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;API_ENDPOINT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://openapi.tuyain.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;MQ_ENDPOINT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;wss://mqe.tuyain.com:8285/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To find your &lt;code&gt;ACCESS_ID&lt;/code&gt; and &lt;code&gt;ACCESS_KEY&lt;/code&gt;, go to your project and see the Authorization&lt;/p&gt;

&lt;blockquote&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639766329280%2FEa5RXoShY.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639766329280%2FEa5RXoShY.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Access Secret = Access Key&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And the API_ENDPOINT should be based on your Data Center.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639766380089%2FAe3VjSAxC.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639766380089%2FAe3VjSAxC.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And then, we have to Init API and Connect&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;openapi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;TuyaOpenAPI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;API_ENDPOINT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ACCESS_ID&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ACCESS_KEY&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;openapi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we just have to send a request and get the output from OpenAPI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;weather&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openapi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/v2.0/iot-03/weather/current?lat=7.040424985635364&amp;amp;lon=80.00000327776945&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;weather&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This is a Request Parameter. Request parameters are used in API operations of the Cloud Development Platform. Tuya supports the following request methods.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;POST&lt;/code&gt;: Requires the server to perform specified operations.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;GET&lt;/code&gt;: Requests the server to return specified resources.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PUT&lt;/code&gt;: Requests the server to update specified resources.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;DELETE&lt;/code&gt;: Requires the server to delete specified resources.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can see that there are 2 words &lt;code&gt;lat&lt;/code&gt; and &lt;code&gt;lon&lt;/code&gt;. They stand for Latitude and Longitude. Set it to your location (To get the exact latitude and longitude, go to google maps and right-click on the pin after placing it in the right location. Coordinated will be there, you just have to click it and it will be copied to the clipboard.)&lt;/p&gt;

&lt;p&gt;Run the program and see the output. It will be something like this -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;{'result': {'air_quality': {'aqi': '62', 'co': '1081.47', 'no2': '13.4734', 'o3': '79.304', 'pm10': '28.8763', 'pm25': '17.6388', 'so2': '5.66989'}, 'coordinate': {'lat': '7.0404', 'lon': '80.0000'}, 'current_weather': {'condition': 'Overcast', 'condition_num': '132', 'humidity': '88', 'pressure': '1012.1', 'real_feel': '28', 'temp': '26', 'uvi': '0', 'wind_speed': '3.1'}}, 'success': True, 't': 1639762879759}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Great! Now you have all the info. Now we have to do is creating the GUI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating the GUI
&lt;/h3&gt;

&lt;p&gt;We're going to use Tkinter Canvas for this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;
&lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Tk&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;state&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;zoomed&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;configure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bg&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#3eedd6&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Tuya Weather App&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;photo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;PhotoImage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;C:&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s"&gt;Users&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s"&gt;nethm&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s"&gt;Downloads&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s"&gt;tuya logo.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;iconphoto&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;photo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Canvas&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;bg&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#3eedd6&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;height&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1440&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;bd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;highlightthickness&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;relief&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ridge&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;This piece of code creates a simple window with a background of pale green and has the title— Tuya Weather app with the logo.&lt;/p&gt;

&lt;p&gt;Logo:&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640155055292%2FdzMi2lkme.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640155055292%2FdzMi2lkme.png" alt="tuya logo.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Preview: &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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639766991026%2F1QVgcKhnO.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639766991026%2F1QVgcKhnO.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that we need some more logic part for the program. We have to get certain outputs from the Dictionary we got by Tuya API like this,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;current_weather_condition&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;weather&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;result&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;current_weather&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;condition&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;temperature&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;weather&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;result&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;current_weather&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;temp&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;wind_speed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;weather&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;result&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;current_weather&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;wind_speed&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;humidity&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;weather&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;result&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;current_weather&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;humidity&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here what we did is assign variables for certain &lt;code&gt;keys&lt;/code&gt; from the output. So if run &lt;code&gt;print(humidity)&lt;/code&gt;, the humidity will be printed. The reason for this is for the GUI purpose. &lt;/p&gt;

&lt;p&gt;Next we have to create a simple Wishing Part using &lt;code&gt;datetime&lt;/code&gt; library:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;hour&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;now&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;wish&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Good Morning!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;wish&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Good Morning!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;=&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;hour&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;wish&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Good Afternoon!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;wish&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Good Evening!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code is pretty simple, it just says "Good Morning" if the time is less than 12:00, "Good Afternoon" if the time is between 12:00 and 18:00, and "Good Evening", if it is neither morning nor afternoon. &lt;/p&gt;

&lt;p&gt;We're almost there, just a few pieces of code! Now, what we have to do is, displaying symbols, or emojis according to the &lt;code&gt;current_weather_condition&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;symbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;🌞&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;current_weather_condition&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Cloudy&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;symbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;☁&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;current_weather_condition&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Sunny&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;symbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;☀&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;current_weather_condition&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Windy&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;symbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;💨&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;current_weather_condition&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Rainy&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;symbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;🌧&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One more step. We should create Text Widgets and assign the variables correctly, like below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;651.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;30.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hola!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;544.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;154.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;wish&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;370.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;354.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Current Weather Condition:  &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;99.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;521.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Temperature:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;103.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;588.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Humidity:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;99.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;657.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Wind Speed:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;269.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;589.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;humidity&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;%&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;307.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;657.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;wind_speed&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;km/h&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;323.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;522.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;temperature&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;°&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="mf"&gt;909.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mf"&gt;354.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;anchor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;current_weather_condition&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;symbol&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#000000&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Roboto Condensed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;resizable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mainloop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here it is the same code repeated for the purpose of creating Text Widgets. You can see how we used the variables that we assigned before. Now you can run the script and see it yourself!&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639767825894%2FS4cpO4Hxw.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639767825894%2FS4cpO4Hxw.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/SmallLion/Python-Projects/tree/main/Weather%20App%20using%20TuyaAPI" rel="noopener noreferrer"&gt;Get Full Code&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Steps with Tuya 👣
&lt;/h2&gt;

&lt;p&gt;So the tutorial is finished, we move to another project! No, no, there are a lot of improvements you can do to this simple weather app and make it different from other Weather applications. Let's think that the user wants to see a full weather forecast including the next 7 days, you can simply use Tuya's &lt;a href="https://developer.tuya.com/en/docs/cloud/c893bd1af7?id=Kaingz0zsbjnb" rel="noopener noreferrer"&gt;7-day Weather Forecast&lt;/a&gt; service. &lt;/p&gt;

&lt;p&gt;By using the Tuya Weather service, you can do many things, and also, giving lat and long is not the only way to get the weather forecast. You can do it by city and IP address as well.  &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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639798638308%2FFkUWu5DcJ.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639798638308%2FFkUWu5DcJ.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See &lt;a href="https://developer.tuya.com/en/docs/cloud/weather-service?id=K95ztzfrd3zo5" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; for more info.&lt;/p&gt;

&lt;p&gt;So, buddies, that's all for now. See you soon with another article! ✌&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://iot.tuya.com/cloud/?_source=dcc7e84a3e88f1dc506e812dcff2f781" rel="noopener noreferrer"&gt;Tuya Cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://iot.tuya.com/?_source=f117b85de6f7ea6e51c321337da12972" rel="noopener noreferrer"&gt;Tuya IoT Management&lt;/a&gt;&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640155434462%2FsNDPRoSxa.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640155434462%2FsNDPRoSxa.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Why Confidence Is Important For Developers?</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Thu, 09 Dec 2021 07:47:02 +0000</pubDate>
      <link>https://dev.to/unitybuddy/why-confidence-is-important-for-developers-4o9g</link>
      <guid>https://dev.to/unitybuddy/why-confidence-is-important-for-developers-4o9g</guid>
      <description>&lt;p&gt;Hello, buddies! Self-Confidence. This word may very similar to you. But the problem is, most of us are not having it. The improvements of Self-confidence is mostly can be seen in Self-taught developers. And also, lack of self-confidence mostly can be seen in Self-taught developers. How? &lt;/p&gt;

&lt;p&gt;Well, self-taught developer must have enough strength to fight with Imposter's syndrome. To fight with Imposter's syndrome, they must have a self-confidence. That's the reason why they have a good self-confidence.&lt;/p&gt;

&lt;p&gt;On the other hand, we can(rarely) say Self-taught developers are lack of Self-confidence. Cause when they  code together with College-educated developers, they feel they are not good enough and they lose their self-confidence and become the victims of Imposter's syndrome. Anyway, I can say this article is for Self-taught developers to learn the importance of Self-Confidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-confidence makes you attractive
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558388105%2FanA89wBEi.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558388105%2FanA89wBEi.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Do you want to live the life of your dreams?&lt;/p&gt;

&lt;p&gt;Do you want to become a person of affluence?&lt;/p&gt;

&lt;p&gt;You need to be able to attract the right kind of people into your life. You need to learn how to be attractive.&lt;br&gt;
People are attracted to self-confident people.&lt;/p&gt;

&lt;p&gt;If you walked into a room, which of these two people would you be attracted to? The buddy standing in a corner with a smile on his face or the another buddy whose head is bent, staring down at his phone. You would be attracted to the first buddy in a corner.&lt;/p&gt;

&lt;p&gt;When you are self-confident, you are more attractive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-confidence gets you hired for your desired jobs and clients
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558410864%2FFRKVLiRcf.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558410864%2FFRKVLiRcf.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
If you were the main attendee at a presentation, would you listen to the presenter if he wasn’t looking directly at you? You wouldn’t listen. You would switch off in your mind.&lt;/p&gt;

&lt;p&gt;But what if this man was engaging in his presentation? What if he was confident? He asked the right questions and said the things you wanted to hear. His persona was engaging. You would listen to him.&lt;/p&gt;

&lt;p&gt;If you want to seal a business deal, you need to express self-confidence to your prospective client. If you want to get hired for a job, you need to express self-confidence to the interviewers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-confidence helps you aim for things you only dream about
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558523936%2FX0aEHpVOU.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558523936%2FX0aEHpVOU.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Are you waiting for your big break? Does the life you want seem unreachable? Self-confidence gives you the guts to ask for what you want.&lt;/p&gt;

&lt;p&gt;If you want to live the life of your dreams, you need to be confident. If you are not, everyday miracles will pass you by. You won’t ask for what you really want. Don’t expect people to read your mind. &lt;strong&gt;Ask!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-confidence helps you make the right decisions
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558313110%2FHIO-UpxTq.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558313110%2FHIO-UpxTq.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
When you are self-confident, you choose yourself. Most people who lack self-confidence love to please people. They don’t choose themselves. Because they don’t, they make the wrong decisions.&lt;/p&gt;

&lt;p&gt;The more you make the right decisions aligned with your deepest desires and your core values, the faster you will achieve your goals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-confidence makes you productive
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558333563%2FQiDVBwsbY.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622558333563%2FQiDVBwsbY.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
You need to be productive and manage your time wisely. Eliminate all the unnecessary activities. You can’t do this effectively without self-confidence.&lt;/p&gt;

&lt;p&gt;Without self-confidence, you will spend time on activities that don’t help you achieve your goals.&lt;br&gt;
The surprising thing is this action is done unconsciously. You don’t realize you’re doing it. I’ve realized when I don’t feel confident in my ability to achieve a goal, I waste time. I do mechanical tasks like checking my emails instead of focusing on the creative task I want to do.&lt;br&gt;
When you are self-confident — confident in your abilities, you are super productive.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Can I Improve My Confidence, Then?
&lt;/h2&gt;

&lt;p&gt;I don't have to explain you. @&lt;a href="https://dev.to@victoria"&gt;Victoria Lo&lt;/a&gt; has already explained about &lt;a href="https://lo-victoria.com/365-days-of-hashnode-how-i-overcome-imposters-syndrome" rel="noopener noreferrer"&gt;How To Overcome Imposter's Syndrome&lt;/a&gt; Don't worry about &lt;em&gt;Imposter's Syndrome&lt;/em&gt; word cause all the Tips in that article can be used to Improve your self-confidence.&lt;/p&gt;

&lt;p&gt;So buddies, Self-Confidence is very, very important for Developers. So make yours strong as well. Happy Coding!&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.devgenius.io/how-to-deal-with-self-doubt-in-programming-22af62dcb395" rel="noopener noreferrer"&gt;https://blog.devgenius.io/how-to-deal-with-self-doubt-in-programming-22af62dcb395&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.infoworld.com/article/2072517/confidence--an-important-software-developer-trait.html" rel="noopener noreferrer"&gt;https://www.infoworld.com/article/2072517/confidence--an-important-software-developer-trait.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>7 Awesome Python Libraries To Play With 🕺</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Wed, 24 Nov 2021 05:14:46 +0000</pubDate>
      <link>https://dev.to/unitybuddy/7-awesome-python-libraries-to-play-with-4pco</link>
      <guid>https://dev.to/unitybuddy/7-awesome-python-libraries-to-play-with-4pco</guid>
      <description>&lt;p&gt;Hello, buddies! While playing with Python for a time, I found some quite interesting modules that are considered worthy of sharing with others. So today we're going to see 7 Interesting and Awesome Python libraries(modules;) that are useful too!&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Pyperclip
&lt;/h2&gt;

&lt;p&gt;This module was created to enable cross-platform copy-pasting in Python which was earlier absent. The pyperclip module has &lt;code&gt;copy()&lt;/code&gt; and &lt;code&gt;paste()&lt;/code&gt; functions that can send a text to and receive text from your computer’s clipboard. Sending the output of your program to the clipboard will make it easy to paste it on an email, word processor, or some other software &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;pyperclip&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Python program to
# demonstrate pyperclip module
&lt;/span&gt;

&lt;span class="c1"&gt;# This will import pyperclip
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pyperclip&lt;/span&gt;
&lt;span class="n"&gt;pyperclip&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, buddies!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;pyperclip&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;paste&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;pyperclip&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"This is an interesting module!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;pyperclip&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;paste&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Emoji 😉
&lt;/h2&gt;

&lt;p&gt;Emojis have become a way to express and to enhance simple boring texts. Now, the same gems can be used in Python programs too. Yes, really! You now have the ultimate power to use emojis in your code. For this, emoji module is needed to be installed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;emoji&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;emoji&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;emojize&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;emojize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;":laptop:"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Alternatively, &lt;code&gt;encode()&lt;/code&gt; function can be used from emojis module to convert Unicode to emojis:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;emojis&lt;/span&gt;
&lt;span class="n"&gt;emojified&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;emojis&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"There is a :snake: in my boot !"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;emojified&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://www.webfx.com/tools/emoji-cheat-sheet/"&gt;Emoji Cheat sheet&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Wikipedia
&lt;/h2&gt;

&lt;p&gt;Now import Wikipedia in Python using Wikipedia module. Use the incessant flow of knowledge with Python for daily needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install,&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;wikipedia&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;wikipedia&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;wikipedia&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Python Programming Language"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Howdoi
&lt;/h2&gt;

&lt;p&gt;Stuck on a coding problem? Wish to visit StackOverflow without leaving the terminal? With howdoi, you can do it!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install,&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;howdoi&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Code,&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;howdoi&lt;/span&gt; &lt;span class="n"&gt;make&lt;/span&gt; &lt;span class="n"&gt;trees&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;Python&lt;/span&gt;
&lt;span class="n"&gt;howdoi&lt;/span&gt; &lt;span class="n"&gt;commit&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;git&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ask whatever question you have and it will try it’s best to answer it. From now, you don’t need to open those browsers for a quick search and get those hefty amounts of ads and distractions. Just &lt;code&gt;howdoi&lt;/code&gt;!&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Antigravity
&lt;/h2&gt;

&lt;p&gt;The reason this module is here is because this is quite fun! It’s basically an Easter egg in Python 3 which is used in Google App Engines. It was added to Google App Engines just as a medium to amuse the users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;antigravity&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Code,&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;antigravity&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;See the magic! &lt;/p&gt;

&lt;h2&gt;
  
  
  6. urllib
&lt;/h2&gt;

&lt;p&gt;Urllib module is the URL handling module for python. It is used to fetch URLs (Uniform Resource Locators). It uses the urlopen function and is able to fetch URLs using a variety of different protocols.&lt;/p&gt;

&lt;p&gt;Urllib is a package that collects several modules for working with URLs, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;urllib.request&lt;/code&gt; for opening and reading.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;urllib.robotparser&lt;/code&gt; for parsing robot.txt files&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;urllib.parse&lt;/code&gt; for parsing URLs&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;urllib.error&lt;/code&gt; for the exceptions raised&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Install&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# This will import urlopen
# class from urllib module
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;urllib.request&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;urlopen&lt;/span&gt;


&lt;span class="n"&gt;page&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"https://mr-unity-buddy.hashnode.dev/"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also see the coding of the website by using &lt;code&gt;read()&lt;/code&gt; function:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# This will import urlopen
# class from urllib module
&lt;/span&gt;

&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;urllib.request&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;urlopen&lt;/span&gt;
&lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"http://hashnode.com"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Fetches the code
# of the web page
&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

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

&lt;/div&gt;



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

&lt;p&gt;Yes, a turtle can be imported. Don’t worry it’s not slow. Turtle is a Python module to draw. It has a huge application and a number of methods which you can learn about in here. But with just a few basics, pretty cool stuff can be done. This module comes built-in with Python so there is no need to install it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# This will import turtle module
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;turtle&lt;/span&gt;


&lt;span class="n"&gt;myTurtle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;turtle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Turtle&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;myWin&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;turtle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Screen&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Turtle to draw a spiral
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;drawSpiral&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myTurtle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;linelen&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;myTurtle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;forward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;linelen&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;myTurtle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;90&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;drawSpiral&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myTurtle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;linelen&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;drawSpiral&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myTurtle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;myWin&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exitonclick&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So buddies, that's all for now. Happy Coding!&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://pypi.org/project/emoji/"&gt;https://pypi.org/project/emoji/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.python.org/3/library/urllib.html"&gt;https://docs.python.org/3/library/urllib.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://python-history.blogspot.com/2010/06/import-antigravity.html"&gt;http://python-history.blogspot.com/2010/06/import-antigravity.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Playing With Tuya API: An API for Pythonistas</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Thu, 18 Nov 2021 16:50:43 +0000</pubDate>
      <link>https://dev.to/unitybuddy/playing-with-tuya-api-an-api-for-pythonistas-2f8c</link>
      <guid>https://dev.to/unitybuddy/playing-with-tuya-api-an-api-for-pythonistas-2f8c</guid>
      <description>&lt;p&gt;Hello, buddies! Recently, I found an interesting API to play with. It's Tuya! Even though Tuya is known for IoT development, there's a hidden side: the Tuya Cloud Development platform, which can help developers in many ways—  especially in marketing your product or whatever.&lt;/p&gt;

&lt;p&gt;Tuya APIs has many services including Email service and SMS service which can be used effectively for marketing and many things. So today we're going to explore how we can use them with Python easily with a few lines of code. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is Tuya, exactly?
&lt;/h2&gt;

&lt;p&gt;Tuya Smart is a global IoT development platform that builds interconnectivity standards to bridge the intelligent needs of brands, OEMs, developers, and retail chains across a broad range of smart devices and industries.&lt;/p&gt;

&lt;p&gt;Based on the global public cloud, Tuya connects different intelligent scenarios and smart devices by providing hardware development tools, &lt;strong&gt;integrating public cloud services&lt;/strong&gt;, and offering an intelligent business development platform. &lt;/p&gt;

&lt;p&gt;Great, let's go ahead!&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tuya Developer Account. Get it here - &lt;a href="https://developer.tuya.com/en/?_source=b0137273d9769517af96e1f625818fe3" rel="noopener noreferrer"&gt;https://developer.tuya.com/en/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;TuyaOpenAPI. To install,
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;pip install tuya-iot-py-sdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Some basic Python knowledge.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setting Up Tuya
&lt;/h2&gt;

&lt;p&gt;After signing up, you will head over to the dashboard. From there, go to 'Cloud' and create a project inserting the following information.&lt;/p&gt;

&lt;blockquote&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635854853118%2FWcUmOaNkZ.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635854853118%2FWcUmOaNkZ.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Use your Data Center Correctly or it will give bugs as a gift!&lt;/p&gt;

&lt;p&gt;Next, you will be asked to Authorize APIs. They give some APIs by default but we don't need them. So you will have to remove most of them and keep only these five. (You should add the Email service and Short Message Service from the other part)&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636025698700%2FNzKhjS9nw.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636025698700%2FNzKhjS9nw.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, it will be a configuration wizard. Follow the given instructions and fill in that too!&lt;/p&gt;

&lt;p&gt;Done, next, it is,&lt;/p&gt;

&lt;h2&gt;
  
  
  Coding Time!
&lt;/h2&gt;

&lt;p&gt;Great! Now we have set up everything. First, we have to import &lt;code&gt;TuyaOpenAPI&lt;/code&gt; from Tuya Connecter that we installed before.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;tuya_connector&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="n"&gt;TuyaOpenAPI&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, we have to authorize.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;ACCESS_ID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;*************123&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;ACCESS_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;*************56565&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;API_ENDPOINT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://openapi.tuyain.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;MQ_ENDPOINT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;wss://mqe.tuyacn.com:8285/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wait, you can give stars as Input! Your &lt;code&gt;ACCESS_ID&lt;/code&gt; and &lt;code&gt;ACCESS_KEY&lt;/code&gt; are on your Tuya project.&lt;/p&gt;

&lt;blockquote&gt;
&lt;/blockquote&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635956265616%2FnTfQyv0yZ.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635956265616%2FnTfQyv0yZ.png" alt="image.png"&gt;&lt;/a&gt;&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1634213930030%2FUHXxHnCUR.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1634213930030%2FUHXxHnCUR.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Access Secret = Access Key&lt;/p&gt;

&lt;p&gt;Also, make sure that your &lt;code&gt;API_ENDPOINT&lt;/code&gt; is set to your location.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1634214091378%2FwkNf_Kk_l.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1634214091378%2FwkNf_Kk_l.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Great! Now we have Init OpenAPI and connect.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;openapi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;TuyaOpenAPI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;API_ENDPOINT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ACCESS_ID&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ACCESS_KEY&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;openapi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's the foundation for all 3 services. Now let's play with them one by one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Send Emails 📧
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openapi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/v1.0/iot-03/messages/mails/actions/push&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;to_address&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hello@gmail.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;template_id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;MAIL_1624531323&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;reply_to_address&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hi@gmail.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Don't get confused, lemme explain this.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First line of this code is the Request Parameter. Request parameters are used in API operations of the Cloud Development Platform. Tuya supports the following request methods.

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;POST&lt;/code&gt;: Requires the server to perform specified operations.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;GET&lt;/code&gt;: Requests the server to return specified resources.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PUT&lt;/code&gt;: Requests the server to update specified resources.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;DELETE&lt;/code&gt;: Requires the server to delete specified resources.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every action has its specific Request parameters. When sending emails, we use the above.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next, we give the email address we need to send the email to. &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;template_id&lt;/code&gt; is the ID of an email template. You can make them yourself(I will show you later) or use a public one. Tuya gives 2 public default templates,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MAIL_1624531323&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MAIL_1624531338&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;code&gt;reply_to_address&lt;/code&gt; means the address that the user will send replies to.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;And then you will just have to run the program. If it is a success, the result would be,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;{'result': {'send_status': True}, 'success': True, 't': 1634215134788}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want to be sure, check your inbox(If you add your email address to the program).&lt;/p&gt;

&lt;p&gt;But it's not possible to use Tuya's default email templates, we should create one for ourselves too. This code will do it, for sure!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;temp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openapi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/v1.0/iot-03/msg-templates/mails&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nf"&gt;dict &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Here&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;s your code!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;title&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sender_name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Booba&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hey! You&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;re so pretty btw&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;remark&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Isn&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;t it?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see, the first line is the request parameter. &lt;code&gt;name&lt;/code&gt; stands for the template name. And the &lt;code&gt;title&lt;/code&gt; is the template title. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;sender_name&lt;/code&gt; is the sender name with 1 to 30 characters. For example, if you set the sender to Buddy, and the sender’s email address to &lt;a href="mailto:yo@example.com"&gt;yo@example.com&lt;/a&gt;. The receiver will see the sender’s address as “Buddy” &lt;a href="mailto:yo@example.com"&gt;yo@example.com&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;content&lt;/code&gt; is the content, which means the HTML format and Text!&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;type&lt;/code&gt; stands for email type. It will handle whether the email should be in the 'Primary' tab or 'Promotions'. There are 3 valid email types,

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;0&lt;/code&gt; : verification code. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;1&lt;/code&gt; : email notification.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;2&lt;/code&gt; : promotional email.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;remark&lt;/code&gt; is remarks of the application for the email template. Describe your application scenario here!&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;And yeah, now you can run this code and see the result as well. If it is successful, the result is gonna be like this,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;{'result': {'template_id': 'MAIL_0769019106'}, 'success': True, 't': 1634216025543}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result:&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636878381161%2FcH6uW6zvl.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636878381161%2FcH6uW6zvl.gif" alt="Screen Recording (11-9-2021 12-42-25 PM).gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Send Short Messages 📱
&lt;/h2&gt;

&lt;p&gt;Tuya's SMS service allows you to deploy the messaging service for application-to-user communication worldwide. There are 3 types of SMS you can send to users by Tuya,  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;0&lt;/code&gt;: Verification code.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;1&lt;/code&gt;: Notification
-&lt;code&gt;2&lt;/code&gt;: Promotional messages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not like in Emails, first, we have to create an SMS template as below as Tuya doesn't have any default SMS templates.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openapi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/v1.0/iot-03/msg-templates/sms&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The template of the message verification code&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You are registering with your phone number. The verification code is: ${code}, valid for 5 minutes.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;}))&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the same as we created the Email template. the first string is a request parameter. And the dict is for content. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;name&lt;/code&gt; is the name of your template.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;content&lt;/code&gt; stands for the message content.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;type&lt;/code&gt; is for the type of the message— verification code, notification, or promotional.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the end, we print the result and it would be something like this,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;{'result': {'template_id': 'SMS_6195054734'}, 'success': True, 't': 1635956558065}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Not the ned, we just created a template. Kindly note that you won't be able to use this template until it is reviewed and allowed. Don't worry, that process will only take 2 days. After that, you can query the details of the SMS template with the below request parameter&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;openapi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/v1.0/iot-03/msg-templates/sms/{template_id}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After this, you can continue the process!&lt;/p&gt;

&lt;p&gt;So now we have to send messages by this code,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;send&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openapi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/v1.0/iot-03/messages/sms/actions/push&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;country_code&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;94&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;phone&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;945555555&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;template_id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;SMS_3746838509&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}))&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;send&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's break this. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;country_code&lt;/code&gt; is for your country code and don't use the &lt;code&gt;+&lt;/code&gt; mark in that.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;phone&lt;/code&gt; stands for the phone number(s) that you need to send messages. The same rule, &lt;em&gt;no symbols&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;template_id&lt;/code&gt; is the Template ID that you made before, which has been approved.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;{'result': 'send_status': True, 'success': True, 't': 1634216025543}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What else to do with TuyaAPI?
&lt;/h2&gt;

&lt;p&gt;Many things! Tuya is for Smart home applications. But we can do a lot with Tuya's cloud development platform as well! Just like,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.tuya.com/en/docs/cloud/voice-message-service?id=Kaiuye86cq53b" rel="noopener noreferrer"&gt;Voice Message Service&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.tuya.com/en/docs/cloud/app-push?id=Kaiuye3tb3yho" rel="noopener noreferrer"&gt;App Push Notification Service&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developer.tuya.com/en/docs/cloud/weather-service?id=Kaiuyesukz1v3" rel="noopener noreferrer"&gt;Weather Service&lt;/a&gt; and many!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Discover more &lt;a href="https://developer.tuya.com/en/docs/cloud" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Almost all of these APIs are used in almost the same manner. Request Parameter and the dict containing everything required. 🕺🕺&lt;/p&gt;

&lt;p&gt;What I love about Tuya is its documentation. They are really clear and easy to understand. Besides, it provides examples and explanations which helps everyone to use it easily! Remember to check them out whenever you're stuck &lt;/p&gt;

&lt;p&gt;So, buddies, that's it! Thanks for reading and Happy Pythoneering!&lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.tuya.com/en/docs/iot/api-request?id=Ka4a8uuo1j4t4" rel="noopener noreferrer"&gt;https://developer.tuya.com/en/docs/iot/api-request?id=Ka4a8uuo1j4t4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://iot.tuya.com/?_source=f117b85de6f7ea6e51c321337da12972" rel="noopener noreferrer"&gt;https://iot.tuya.com/?_source=f117b85de6f7ea6e51c321337da12972&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://iot.tuya.com/cloud/?_source=dcc7e84a3e88f1dc506e812dcff2f781" rel="noopener noreferrer"&gt;https://iot.tuya.com/cloud/?_source=dcc7e84a3e88f1dc506e812dcff2f781&lt;/a&gt;&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636878863029%2FIaRFgaE7T.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636878863029%2FIaRFgaE7T.png" alt="Copy of STRINGS.png"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>9 Python Automation Ideas For Pythonistas</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Wed, 17 Nov 2021 08:33:35 +0000</pubDate>
      <link>https://dev.to/unitybuddy/9-python-automation-ideas-for-pythonistas-13jl</link>
      <guid>https://dev.to/unitybuddy/9-python-automation-ideas-for-pythonistas-13jl</guid>
      <description>&lt;p&gt;Hello, buddies! Did you know Python is known as &lt;em&gt;an all-rounder programming language&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;Yes, it is, though it shouldn’t be used on every single project.&lt;/p&gt;

&lt;p&gt;We can use it to create desktop applications, games, mobile apps, websites, and system software. It is one of the most suitable language for Automation. But what to Automate? So, today we are going to see what to automate using Python. Simply, Python automation ideas 😊 &lt;/p&gt;

&lt;h2&gt;
  
  
  1. Automate The Login Process For Sites
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966372375%2FK6rsrB0Q-.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966372375%2FK6rsrB0Q-.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
There Are Some Social Sites That we use every day Like Facebook, Twitter, Instagram and etc. Every time you want to log in you need to enter your login id and password which is a very boring procedure. Using python and selenium you can automate the login process. Write a script and pass the user id and password. The script will log in to your account automatically. &lt;/p&gt;

&lt;p&gt;Check out &lt;a href="https://theinsightfulcoder.com/automating-facebook-login-using-python" rel="noopener noreferrer"&gt;this article&lt;/a&gt; by @&lt;a href="https://dev.to@SaiAshish"&gt;Sai Ashish Konchada&lt;/a&gt;, where he shows how to automate Facebook login using Python.&lt;/p&gt;
&lt;h2&gt;
  
  
  2. Desktop Automation (Voice Assistant)
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966419223%2FQp_CibWTi.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966419223%2FQp_CibWTi.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
This Automation Requires lots of work and dedication, has no end. We can use python and its different libraries to create a desktop assistant for you that can do almost every task that you do on your pc. &lt;code&gt;os&lt;/code&gt;, &lt;code&gt;webbrowser&lt;/code&gt;, and &lt;code&gt;speech recognition&lt;/code&gt; are such libraries you can use.&lt;/p&gt;

&lt;p&gt;Luckily, I have 2 articles for you. Check'em out!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mr-unity-buddy.hashnode.dev/make-your-tasks-automated-with-your-voice" rel="noopener noreferrer"&gt;Make Your Tasks Automated With Your Voice 🔥&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mr-unity-buddy.hashnode.dev/make-your-own-jarvis-using-python" rel="noopener noreferrer"&gt;Make Your Own Jarvis Using Python 🔥&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  3. Email Automation
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966425167%2FuTQhNaOIg.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966425167%2FuTQhNaOIg.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Are You Still Writing emails for every client by your hand? Well you can automate emails using python. Create a CSV File and store all the emails and information you want to send then use the email package to send emails. You can check this article to get an insight. Just use a Loop to iterate over each row of CSV and Your Thousands of emails with custom messages are automated! ➰&lt;/p&gt;
&lt;h2&gt;
  
  
  4. Automatic Desktop Cleaner
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966489825%2F72-X3vn_6.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966489825%2F72-X3vn_6.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I like to keep my desktop clean always. I don’t like seeing a desktop with a lot of junk and useless files. If you are someone who likes to keep your desktop in an arranged manner, you can definitely consider doing this automation project.&lt;/p&gt;

&lt;p&gt;The automatic desktop cleaner is going to be a project that can help you arrange various files and folders on your computer and also remove junk files.&lt;/p&gt;

&lt;p&gt;Some of the functionalities of this desktop cleaner include tasks like automatic shifting of downloaded files to appropriate folders, file organization based on required criteria, and arrangement of files based on different types.&lt;/p&gt;

&lt;p&gt;If you like to automate the process of cleaning your desktop, check out this &lt;a href="https://www.youtube.com/watch?v=HcZ3gS1Rgcs&amp;amp;t=150s" rel="noopener noreferrer"&gt;video&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h2&gt;
  
  
  5. SMS Automation
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966515440%2FrqAWWXPT3.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966515440%2FrqAWWXPT3.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Are you tired of writing SMS from your phone. Just use python and free SMS service(&lt;code&gt;fast2sms&lt;/code&gt;) to send SMS from your desktop. We can even take it further by writing a bat script that runs our Python script with just a single click. and if you are a crazy geek then you can take it more further by writer a keylogger that reads your keys and on a perfect combination of keys, it launches the app.&lt;/p&gt;
&lt;h2&gt;
  
  
  6. Instagram Automation
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966541180%2FLBZa8bC4j.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966541180%2FLBZa8bC4j.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Social media plays an active role in our daily life, and the activities we do in these apps are almost recurring ones. So why not try automating these social media activities!&lt;/p&gt;

&lt;p&gt;In this project, we try to automate Instagram activities like photo uploading, following and unfollowing users, commenting etc. Instabot is used here to interact with Instagram.&lt;/p&gt;

&lt;p&gt;The same procedure can be applied to automate other social media activities too. For more information, go through &lt;a href="https://ayushirawat.com/how-to-make-an-instagram-bot-with-python" rel="noopener noreferrer"&gt;this article&lt;/a&gt; by @&lt;a href="https://dev.to@ayushi7rawat"&gt;Ayushi Rawat&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  7. Audiobooks
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966552822%2F5LPxqWKru.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966552822%2F5LPxqWKru.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Kindle is the biggest seller of audiobooks and they sell audiobooks for 9.99 dollars per month. It is not too much but still, you have to pay some money but using python you don’t have to pay a single penny just some lines of code and your Audiobook is ready. &lt;code&gt;pyttsx3&lt;/code&gt; is a python library in python that can be used to convert the text into audio. You can even change the voice, pitch, and rate according to your requirement. &lt;/p&gt;

&lt;p&gt;It's pretty simple, Use the following code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pyttsx3&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;PyPDF2&lt;/span&gt;

&lt;span class="n"&gt;book&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;mybook.pdf&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; rb&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# Add path
&lt;/span&gt;&lt;span class="n"&gt;pdf_reader&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;PyPDF2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;PdfFileReader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;book&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;num_pages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pdf_reader&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;numPages&lt;/span&gt;
&lt;span class="n"&gt;play&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pyttsx3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;init&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Playing Audio Book&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;num_pages&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="c1"&gt;#iterating through all pages
&lt;/span&gt;    &lt;span class="n"&gt;page&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pdf_reader&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getPage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extractText&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;#extracting text
&lt;/span&gt;
    &lt;span class="n"&gt;play&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;say&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;play&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;runAndWait&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  8. Morning Web Automation
&lt;/h2&gt;

&lt;p&gt;Every day when we start our work, we usually open a few common websites like StackOverflow, documentation of the library, Spotify, and youtube. &lt;/p&gt;

&lt;p&gt;We can use the web browser module and bash scripting to automate the web. Just write a simple script that opens multiple websites at a time. Next, use the bash and VBS script to run the script without a console with a single click. &lt;/p&gt;

&lt;p&gt;Opening tabs are simply as follows,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;webbrowser&lt;/span&gt;

 &lt;span class="n"&gt;webbrowser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;stackoverflow.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="n"&gt;webbrowser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hashnode.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="n"&gt;webbrowser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;reddit.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  9. Automatic Time Tracking Tool
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966596599%2FsKRFgtPXA.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627966596599%2FsKRFgtPXA.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
If you are a productivity geek, then this is an amazing project for you. You can this project to manage your time wisely and enhance your productivity.&lt;/p&gt;

&lt;p&gt;The aim of this project is to automatically track the current website or application in use and also the time spent on these sites and applications. Using a JSON file, the data will be saved so that it can be used later as and when needed.&lt;/p&gt;

&lt;p&gt;We can specifically mention tracking usage of certain apps or sites that you overuse. This project can be pretty useful in analyzing your social media usage and control it if you wish to do so.&lt;/p&gt;

&lt;p&gt;So buddies, that's it! Hope you enjoyed it. Reading is not enough, you have to use them 😎 Happy Coding!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>python</category>
    </item>
    <item>
      <title>My Journey From Nothing to Game Designer</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Sat, 13 Nov 2021 12:48:03 +0000</pubDate>
      <link>https://dev.to/unitybuddy/my-journey-from-nothing-to-game-designer-487k</link>
      <guid>https://dev.to/unitybuddy/my-journey-from-nothing-to-game-designer-487k</guid>
      <description>&lt;p&gt;Hello, buddies!! Today is something special for me, it's my Birthday 🙈🙈  So, I was thinking about what should I write on this day and someone from myself told me "Why don't you write about your first &lt;code&gt;Hello, World&lt;/code&gt;?" &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3eXJUyrk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635961918664/NNWNFF53l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3eXJUyrk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635961918664/NNWNFF53l.png" alt="image.png" width="480" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  30 MPD Gaming 🥴
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NYEp6RJq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635959981605/y1J1PiIXE.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NYEp6RJq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635959981605/y1J1PiIXE.png" alt="image.png" width="880" height="495"&gt;&lt;/a&gt;&lt;br&gt;
Almost every game designer is a Gamer(It's a must!). So it was the same with me but I played games only for 30 minutes, maximumly, 1 hour. I know, I know a normal person plays a video game for at least 2 hours. The reason with me wasn't that I'm not interested in Gaming, but I had a lot, I mean a really lot of studies and work to do. Besides, I can't play well-performing games on my old windows 8 laptop.&lt;/p&gt;

&lt;p&gt;But I never wanted to be a Game Designer, even though I love video games. I was just a simple buddy who have never heard of C#, Game Engines, Github, etc. One day, everything was changed. I can't remember why I was forced to watch Brackey's Cube Run tutorial, maybe I watched it for fun. But that's the day my real-life got started!&lt;/p&gt;

&lt;h2&gt;
  
  
  Making the First ever Game
&lt;/h2&gt;

&lt;p&gt;On the same day that I watched Brackey's tutorial, I got a Unity ID and installed Unity and other stuff. Must say that it took me a day to set up Projects with my Old windows 8. But I still wonder that how I was able to install Unity on my machine. &lt;/p&gt;

&lt;p&gt;To be honest, my first piece of code wasn't &lt;code&gt;Hello, World&lt;/code&gt;; it was &lt;code&gt;public Rigidbody Rb;&lt;/code&gt; 😋&lt;/p&gt;

&lt;p&gt;I started to make an actual copy of the Cube Run game but I changes the concept a little bit, actually a lot in the middle of the project. &lt;br&gt;
This is a very, very simple game that can be made in a day. But trust me, it took me 2 months to finish this. I learned so many things and I still believe that it wasn't a waste of time, never! I found a community, I learned how to get used to resources around me, and most importantly, a bug that wasted your day may get fixed on the next day without any effort! 🐛&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;OnTriggerEnter&lt;/code&gt; 😆
&lt;/h3&gt;

&lt;p&gt;I often experience this so I never forgot this &lt;strong&gt;bug&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;OnTriggerEnter&lt;/code&gt; function is used to do something when the Player passes through a trigger. So simply, it was not working. I put Debug.Logs,  used similar somewhat similar functions to see whether it is a problem with physics or something. And tried to get help from experts even. &lt;/p&gt;

&lt;p&gt;They told me different things like "you might as well check the collision matrix", "You should first put a debug.log outside of the if so you know if the problem is with the od part or the ontriggrenter part" and so many things!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Sh-THzfo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635786271590/REdy6NlWb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Sh-THzfo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635786271590/REdy6NlWb.png" alt="image.png" width="880" height="87"&gt;&lt;/a&gt;&lt;br&gt;
Bruh 😑&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;None of them suggested turning on Mesh Renderer :(&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mMbQ1N_1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635785716120/HCtXI2dsZ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mMbQ1N_1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635785716120/HCtXI2dsZ.png" alt="image.png" width="880" height="553"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yeah, it can't collide with the Trigger if it is above the Player 😏&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding a Niche
&lt;/h2&gt;

&lt;p&gt;As a typical absolute beginner, I wanted to make a game that will become a trend and have Millions of downloads! So, I thought that a game like a COD will help me. &lt;/p&gt;

&lt;p&gt;I tried to make a simple FPS game from a Unity Template. After 2 or 3 days of playing with it, I realized that FPS isn't for me. &lt;/p&gt;

&lt;p&gt;By those days, I attended Unity's Create with Code live sessions and they taught me to make a good RPG game. Wow, that's so easy! I will make this for sure.&lt;/p&gt;

&lt;p&gt;So I played some time with RPG games as well. Though they are easy to understand than FPS games, I found that was Boring for me and I don't have a passion for RPG.&lt;/p&gt;

&lt;p&gt;Meanwhile, my first game has been played by near about 200 Unity devs and I got good feedback as it was my first ever game. And One day, A Hyper-casual game studio asked me to join their team as a 1st Tier Developer. And boom, they said my game has a good Hyper-casual look. Why didn't I think about Hyper-Casual!!&lt;/p&gt;

&lt;p&gt;It was only about 2 and a half months I have started with Unity but I didn't want to miss this chance 🤓&lt;/p&gt;

&lt;h2&gt;
  
  
  First-ever Colloboration
&lt;/h2&gt;

&lt;p&gt;They were using Github for collab as usual but I was troubling what an erratic thing is this! Of course, they got confused when I said I don't know Github but I just told them that I have only used Unity's itself Collab feature and it went OK.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZDaf4pJK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635783563093/1WzERPiKa.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZDaf4pJK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635783563093/1WzERPiKa.gif" alt="hammaya-relaxed.gif" width="220" height="249"&gt;&lt;/a&gt;&lt;br&gt;
Phew!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Fortunately, the team lead was kind enough to teach me about this and how to set it up. Although I didn't understand how it exactly works, I got it after a few days!&lt;/p&gt;

&lt;h3&gt;
  
  
  The Game
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sEfXbH1s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635960453902/OxSMQH__c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sEfXbH1s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635960453902/OxSMQH__c.png" width="249" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was half-made a one. We had to do a lot of things, Shop, Leaderboard, Power-ups, Bug fixes, and a lot! But I didn't find it stressful just because our team had at least 2 people in almost every role! Head Programmers, 1st Tier Devs, 2nd Tier Devs, 3D modelers, Sound artists, Testers, etc. Every task is divided and it was my baby steps to Project Management and Marketing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jXUtEpLV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635784731119/3u1yuJw0q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jXUtEpLV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1635784731119/3u1yuJw0q.png" alt="image.png" width="880" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By the time that we finished and published the game, I left them because it didn't seem official anymore. A few members were joined and they are thinking everyone is the same as them or something and the real-talented people left the team. I didn't think that I should be there anymore.&lt;/p&gt;

&lt;p&gt;Fortunately, I got another offer from a Great team to work with them as a Content Creator! I hope this is gonna be better than before 🤞&lt;/p&gt;

&lt;h2&gt;
  
  
  Good-Bye, Unity, will see you again! 👋
&lt;/h2&gt;

&lt;p&gt;And yeah, I'm gonna take a little break from the game design, just because I got a new role to work with I think this is gonna be the same with writing future but I try my best to manage them all. Just don't think I'm giving up haha ✌&lt;/p&gt;

&lt;p&gt;And that's all for now. Thanks a lot for reading this self-centered article. Goodbye and happy coding! See you soon 😉&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>programming</category>
      <category>career</category>
      <category>showdev</category>
    </item>
    <item>
      <title>7 Ways To Improve Your Logic In Programming</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Thu, 04 Nov 2021 15:12:01 +0000</pubDate>
      <link>https://dev.to/unitybuddy/7-ways-to-improve-your-logic-in-programming-55io</link>
      <guid>https://dev.to/unitybuddy/7-ways-to-improve-your-logic-in-programming-55io</guid>
      <description>&lt;p&gt;Hello, buddies! Programming in itself is a very beautiful art. Sometimes we may face some problems while trying to program, but we can definitely overcome them. Most of the programmers/beginner programmers are having problems with the 'Programming Logic' part. They know the syntax, modules to use and everything but can't figure out the problem in the right way. So, in this article, we will see 7 techniques to improve your logic; or we can say "Problem Solving". &lt;/p&gt;

&lt;h2&gt;
  
  
  1. Think to solve
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235586545%2F40DoQloGX.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235586545%2F40DoQloGX.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
If you think that you can’t do it. Then no one else can help you to develop your logic. Programming is all about finding the right solution to the problem. With the help of programming, we split the big problems into smaller ones; then we try to solve the small parts. Apart from writing the whole programming on paper or word document.&lt;/p&gt;

&lt;p&gt;All you need to do is write the pseudo-codes of the programs to solve the problem. If you are a beginner to the programming language. Then it would help if you tried to start from solving the easy problems, then the intermediate ones and then the complex ones.&lt;/p&gt;

&lt;p&gt;But never stop yourself to solve the issues. The more complex issues you try to solve, the more you improve your logical thinking in programming. It will help you do get a solid answer on how to improve logical thinking in programming. &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Practice
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235637906%2F1CZ7c3Z0o.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235637906%2F1CZ7c3Z0o.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Practice is a crucial part of our life. If we want to have a better command over anything, then we need to practice the same thing again and again. And at some point, we get the perfection on something. The same rule applies to program logic.&lt;/p&gt;

&lt;p&gt;We know that programming is not that easy; it requires passion and determination. So why do you need to practice to improve your logic in programming? The most straightforward answer to this question is to try to practice some prewritten algorithms. An algorithm is the set of operations that are used to solve a predefined problem.&lt;/p&gt;

&lt;p&gt;There are millions of algorithms in the world to solve easy to complex problems. It would be best if you practiced some of the most used algorithms to improve your programming logic. In this way, you get an idea of how to improve logical thinking in coding&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Pen and Paper Approach
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235680457%2FFz81i8zvt.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235680457%2FFz81i8zvt.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
After seeing any problem, we generally start coding the same on our IDE. So, when we are asked to write code on paper in interviews, we fail to do so. Always try to write the pseudo code or algorithm of the code before implementing them. It will help you in writing the code and next time whenever you approach a similar problem you will be able to recollect more easily. It will also help you in getting syntactically strong.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Puzzle Solving
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235912897%2FW988pUgIY.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235912897%2FW988pUgIY.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
In many coding competitions, problems are not directly asked based on a concept. Instead, it generally involves a story woven around it, and we have to figure out the logic for solving the program. In such cases, sometimes we are unable to solve the problem. Try solving puzzles such as Sudoku to develop your logic and thinking ability because programming is nothing but solving complex problems with the help of good logic. &lt;/p&gt;

&lt;h2&gt;
  
  
  5. Find a Programmer’s Community
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235867864%2F7z_r0KH5H5.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235867864%2F7z_r0KH5H5.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sometimes we get bored while solving the problems by ourselves with no one to teach or guide us. In such cases, you can always try discussing solutions or complex questions with fellow programmers and friends. This will always help you in finding new logic for the same problem and will help you in optimizing your code. This will also improve your confidence and communication skills!!&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Play Games
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235899570%2FZxeZipdfx.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235899570%2FZxeZipdfx.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Some of the games require plenty of logic. You can play games, Chess, and other similar logical games to improve your logic. Most of the pc games help you to sharpen your logical thinking. In my opinion, you should play games for at least 1 hour every day. It will help you to do your brain exercise. The games are helping the programmer to develop their logical thinking for programming. &lt;/p&gt;

&lt;p&gt;If you want to learn CSS by playing some games,@&lt;a href="https://dev.to@suprabhasupi"&gt;Suprabha Supi&lt;/a&gt; has a &lt;a href="https://suprabhasupi.hashnode.dev/learn-css-by-playing-games" rel="noopener noreferrer"&gt;list of games!&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Read Books and solve Examples
&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235919922%2FIfAvsqCak.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1624235919922%2FIfAvsqCak.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
Having a programming book is also beneficial for the students. You can find plenty of solved examples in the programming books that can help you improve your logic in programming.&lt;/p&gt;

&lt;p&gt;The basics of programming can never be changed, and you can check your programming logic with the help of the programming books. It would help if you also tried to solve all the examples with your efforts and logic. In this way, you can improve your logic in programming. &lt;/p&gt;

&lt;p&gt;So, buddies, that's all for now. See you later and Happy Coding! ✌&lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.codingninjas.com/blog/2021/06/14/7-tips-to-improve-logic-building-skills-in-programming/" rel="noopener noreferrer"&gt;https://www.codingninjas.com/blog/2021/06/14/7-tips-to-improve-logic-building-skills-in-programming/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeksforgeeks.org/10-tips-to-improve-logic-building-skills-in-programming/" rel="noopener noreferrer"&gt;https://www.geeksforgeeks.org/10-tips-to-improve-logic-building-skills-in-programming/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>Make Your Own Music Player Using Python 🎧</title>
      <dc:creator>Mr. Unity Buddy</dc:creator>
      <pubDate>Mon, 01 Nov 2021 12:33:22 +0000</pubDate>
      <link>https://dev.to/unitybuddy/make-your-own-music-player-using-python-4nb8</link>
      <guid>https://dev.to/unitybuddy/make-your-own-music-player-using-python-4nb8</guid>
      <description>&lt;p&gt;Hello, buddies! So, Today, we are going to make our own music player with Python with GUI. No more talks, get ready with your interpreter!&lt;/p&gt;

&lt;p&gt;Wait, why do &lt;strong&gt;I&lt;/strong&gt; want it? Well, my music player doesn't work and I want a new one 😑&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QgGOc1Is--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1621244609273/TJd9P71Rt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QgGOc1Is--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1621244609273/TJd9P71Rt.png" alt="image.png" width="880" height="254"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Knowledge about Python Basics&lt;/li&gt;
&lt;li&gt;Install Tkinter and PyGame. Then, we have to import modules.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pygame&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pygame&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;mixer&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;tkinter&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Coding Time
&lt;/h2&gt;

&lt;p&gt;Your most loving part. Let's start!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;playsong&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;currentsong&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;playlist&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ACTIVE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;currentsong&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;mixer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;music&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;currentsong&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;songstatus&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Playing"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;mixer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;music&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;play&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;playsong()&lt;/code&gt; function is used to play the music. It loads the active song from the list and plays the required song. It gets executed when the user clicks on “play”.

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;currentsong&lt;/code&gt; function gets the active song/music in the PlayList and print it. In song status, it sets 'Playing'.
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;pausesong&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;songstatus&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Paused"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;mixer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;music&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pause&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;stopsong&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;songstatus&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Stopped"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;mixer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;music&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;resumesong&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;songstatus&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Resuming"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;mixer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;music&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;unpause&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;All these 3 functions are related to each other. 
-&lt;code&gt;pausesong()&lt;/code&gt; pause the song and set status to "Paused". 
-&lt;code&gt;stopsong()&lt;/code&gt; and &lt;code&gt;resumesong()&lt;/code&gt; do the same as their names.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Tk&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Buddy Music player'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;mixer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;init&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;songstatus&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;StringVar&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;songstatus&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"choosing"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;In here, &lt;code&gt;root&lt;/code&gt; is the main GUI window. &lt;code&gt;root.title&lt;/code&gt; set a title to the window. (Change it as you want;)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;playlist&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Listbox&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;selectmode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;SINGLE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;bg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"DodgerBlue2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;fg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"white"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'arial'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;playlist&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;columnspan&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;These are also related to GUI. It sets the colors, font etc. &lt;code&gt;fg&lt;/code&gt; means Foreground and &lt;code&gt;bg&lt;/code&gt; means background.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;playlist.grid()&lt;/code&gt;locates widgets in a two dimensional grid using row and column absolute coordinates.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s"&gt;'D:\MyPlayList'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;playlist&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Listbox&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;selectmode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;SINGLE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;bg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"DodgerBlue2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;fg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"white"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'arial'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;playlist&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;columnspan&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;songs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;listdir&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;songs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;playlist&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;END&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;os.chdir&lt;/code&gt;method in Python used to change the current working directory to specified path. It takes only a single argument as new directory path.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;os.listdr()&lt;/code&gt; method in python is used to get the list of all files and directories in the specified directory. If we don't specify any directory, then list of files and directories in the current working directory will be returned.&lt;/li&gt;
&lt;li&gt;In for loop, it inserts all the files in our file directory to the &lt;code&gt;playlist&lt;/code&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;playbtn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"play"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;playsong&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;playbtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'arial'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;bg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"DodgerBlue2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;fg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"white"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;padx&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;pady&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;playbtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;pausebtn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Pause"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;pausesong&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;pausebtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'arial'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;bg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"DodgerBlue2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;fg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"white"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;padx&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;pady&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;pausebtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;stopbtn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Stop"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;stopsong&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;stopbtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'arial'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;bg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"DodgerBlue2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;fg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"white"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;padx&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;pady&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;stopbtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;Resumebtn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Resume"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;resumesong&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Resumebtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'arial'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;bg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"DodgerBlue2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;fg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"white"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;padx&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;pady&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Resumebtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="n"&gt;mainloop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the last part. All of these lines are for GUI Buttons. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;command&lt;/code&gt; is for to command. The comman name is the functions name that we wrote first. Eg : &lt;code&gt;playsong&lt;/code&gt;. &lt;code&gt;resumesong&lt;/code&gt; We talked about all other GUI variables in above. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So finally, you have made your own music player with Python! Congrats buddy!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/SmallLion/Python-Projects/blob/main/Music_player.py"&gt;Get Full Code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And the result will be,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rSbNwImk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1621244386713/TYHU6_MYu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rSbNwImk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1621244386713/TYHU6_MYu.png" alt="image.png" width="462" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since we want only the music player, don't care much about GUI.😉 &lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://mr-unity-buddy.hashnode.dev/make-your-own-music-player-using-python"&gt;Originally&lt;/a&gt; published on Hashnode&lt;/p&gt;

</description>
      <category>python</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
