<?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: 𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍</title>
    <description>The latest articles on DEV Community by 𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍 (@nnja).</description>
    <link>https://dev.to/nnja</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%2F196450%2F4699d997-b982-40a0-b59a-951baba2199e.jpg</url>
      <title>DEV Community: 𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍</title>
      <link>https://dev.to/nnja</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nnja"/>
    <language>en</language>
    <item>
      <title>🤯 Boost Your Productivity 1000% With This One Weird Trick</title>
      <dc:creator>𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍</dc:creator>
      <pubDate>Sat, 12 Dec 2020 01:49:33 +0000</pubDate>
      <link>https://dev.to/nnja/boost-your-productivity-1000-with-this-one-weird-trick-2824</link>
      <guid>https://dev.to/nnja/boost-your-productivity-1000-with-this-one-weird-trick-2824</guid>
      <description>&lt;p&gt;Have too much to do? Stressed? Overcommitted at home and at work?&lt;/p&gt;

&lt;p&gt;Would you believe me if I told you there was a straightforward solution to your troubles? One that doesn't cost anything at all. You might not believe me, but that’s where I get a chance to introduce one simple word that may change your life.&lt;/p&gt;




&lt;p&gt;“No.”&lt;/p&gt;




&lt;p&gt;Yes, “no.” Now, say it out loud with me, slow and loud — “No…..”&lt;/p&gt;

&lt;p&gt;Don’t like spending time on remote Meetups? Do you feel like you’re signing on just for the sake of it, and not learning anything new anymore? Then don’t. You don’t need to keep spending time on it just because of inertia or habit.&lt;/p&gt;

&lt;p&gt;You don’t have to continue contributing to that open source project if you don’t find the work rewarding. There’s no need to squeeze something into every free bit of time you have on your calendar.&lt;/p&gt;

&lt;p&gt;It may be easy breaking casual agreements, but I have news for you. Even promises and commitments aren’t ironclad. If you’re someone who always dots your i’s and crosses your t’s, the idea of breaking a pledge might seem terrifying, something you do only as a worst-case scenario. But believe me, it really is possible if you put your mind to it.&lt;/p&gt;

&lt;p&gt;You may think that if you start saying “no” in the office you’ll get fired or demoted, or if you say “no” to your friends, they might stop calling you back. In fact, in most cases the opposite is true. By saying no to the things that stretch you too thin, you can &lt;a href="https://dev.to/nnja/easily-write-better-code-with-7-tips-to-get-in-the-zone-21pj"&gt;produce higher quality work&lt;/a&gt; and spend time with the people you love.&lt;/p&gt;

&lt;p&gt;Chances are, the people around you may already have realized that you need to take a breather.&lt;/p&gt;

&lt;p&gt;Breaking commitments is tough, but next time practice saying “no” before you enter into one. By saying “no” to projects at work that aren't a good fit, you can spend more focus time working on the areas where you’ll have the most impact. Work with your manager to communicate about expectations upfront.&lt;/p&gt;

&lt;p&gt;If you do need to break a commitment, do your best to offer alternatives. Think about other options. Can you delegate? Can you point the person to someone who may have more information? Can you recommend someone who’s better skilled or suited for the task? Can the project be put off until some other time, when you’ll have fewer obligations? This effort will help mitigate any issues that crop up.&lt;/p&gt;

&lt;p&gt;Don’t get me wrong — I still have trouble saying no and turning down work and obligations. Luckily, like most things, it’s a skill that gets better with practice.&lt;/p&gt;

&lt;p&gt;Next time you’re faced with something that you don’t have the bandwidth to tackle, try saying “no” instead. If you have a hard time saying “no” to someone’s face, you can imagine them asking you for $1,000 instead. I’m sure you won’t have trouble saying “no” to them now!&lt;/p&gt;

&lt;p&gt;As adults, we have limited attention and time because of endless distractions. It often takes us longer to actually do something than we anticipated.&lt;/p&gt;

&lt;p&gt;By saying “no” and stepping away from too many unattainable commitments, culling excessive meetings and social appointments, and turning down unnecessary responsibilities, you’ll also be stepping away from guilt, stress, and excess worry. This is especially important during a time when many of us have lost access to relaxing activities and the support of seeing friends.&lt;/p&gt;

&lt;p&gt;It’s entirely reasonable to say no to an obligation if you can’t handle the extra load. In the end, you’ll have more free time left over for what truly matters — hobbies, friends, family, and most importantly, free time for yourself.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>beginners</category>
      <category>career</category>
      <category>learning</category>
    </item>
    <item>
      <title>The Python Community is Stronger Together</title>
      <dc:creator>𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍</dc:creator>
      <pubDate>Mon, 16 Nov 2020 20:39:36 +0000</pubDate>
      <link>https://dev.to/azure/the-python-community-is-stronger-together-1anl</link>
      <guid>https://dev.to/azure/the-python-community-is-stronger-together-1anl</guid>
      <description>&lt;p&gt;This article is part of &lt;a href="http://aka.ms/PythonFunBites" rel="noopener noreferrer"&gt;#PythonFunBites&lt;/a&gt;, a week of bite-sizes articles, videos, and more all about Python.&lt;/p&gt;




&lt;p&gt;This past weekend, I was invited to give a remote keynote talk for &lt;a href="https://pycon.id/" rel="noopener noreferrer"&gt;PyCon Indonesia 2020&lt;/a&gt;. The schedule was full of &lt;a href="https://pycon.id/speakers" rel="noopener noreferrer"&gt;amazing people&lt;/a&gt;, the organizers were kind and enthusiastic, and the participants were engaged during Q&amp;amp;A and in chat. Microsoft was able to support the event with a platinum level sponsorship.&lt;/p&gt;

&lt;p&gt;I felt so lucky that even though travel is currently just a pipe dream, I was still able to participate in a wonderful community on the other side of the world.&lt;/p&gt;

&lt;p&gt;During my talk, I shared a few lessons on how I believe the Python community can continue to grow, despite the challenges that 2020 has brought us.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsvv5ogvxzl098elexva3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsvv5ogvxzl098elexva3.png" alt="1-communities"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Participate in a Global Event
&lt;/h2&gt;

&lt;p&gt;Now more than ever, local communities from around the world are welcoming participants who may not have been able to attend otherwise. Use this opportunity to expand your horizons, learn about a new culture, and meet friends from a different country.&lt;/p&gt;

&lt;p&gt;Past events include &lt;a href="https://africa.pycon.org/" rel="noopener noreferrer"&gt;PyCon Africa&lt;/a&gt;, &lt;a href="https://ep2020.europython.eu/" rel="noopener noreferrer"&gt;EuroPython&lt;/a&gt;, and &lt;a href="https://2020.pycon.org.au/" rel="noopener noreferrer"&gt;PyCon Australia&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Future events include &lt;a href="https://pyjamas.live/" rel="noopener noreferrer"&gt;Pyjamas&lt;/a&gt; in December of 2020, and &lt;a href="https://2020.pycascades.com/" rel="noopener noreferrer"&gt;PyCascades&lt;/a&gt; in February of 2021.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwt98f6w9pr9v2m15k1pu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwt98f6w9pr9v2m15k1pu.png" alt="2-stay-in-touch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Stay In Touch
&lt;/h2&gt;

&lt;p&gt;There are lots of great ways to stay in touch with the Python community.&lt;/p&gt;

&lt;p&gt;The Python Discord now has over 100k+ members. Other great discords include &lt;a href="https://aka.ms/python-discord" rel="noopener noreferrer"&gt;Python at Microsoft&lt;/a&gt; and &lt;a href="http://adafru.it/discord" rel="noopener noreferrer"&gt;Adafruit's&lt;/a&gt; for CircuitPython.&lt;/p&gt;

&lt;p&gt;There are lots of community slacks for regional groups, many members of the community are active on Twitter, and the Python Software Foundation offers &lt;a href="https://twitter.com/thepsf/status/1159443643444412417?lang=en" rel="noopener noreferrer"&gt;mailing lists&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fb4vm2v6efu6vdzuoguab.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fb4vm2v6efu6vdzuoguab.png" alt="3-giveback"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Give Back, Volunteer, Contribute to Open Source
&lt;/h2&gt;

&lt;p&gt;There are plenty of opportunities to give back to the community. For one, you can contribute to an open source project. Your contributions don't need to be code either. If you speak another language, &lt;a href="https://www.python.org/dev/peps/pep-0545/" rel="noopener noreferrer"&gt;translations&lt;/a&gt; are always incredible useful.&lt;/p&gt;

&lt;p&gt;You can volunteer at conferences and events, &lt;a href="http://nina.to/talks" rel="noopener noreferrer"&gt;speak at a conference&lt;/a&gt; or Meetup, be a mentor, or even organize your own event. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fx10yn7ga98s7awcrwfmm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fx10yn7ga98s7awcrwfmm.png" alt="4-self-care"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Remember Self-Care
&lt;/h2&gt;

&lt;p&gt;Only contribute if you're able to. 2020 has been incredibly stressful for many of us. Remember to make time for (remote) activities with friends, to learn new things, pick up a hobby, and especially take breaks from the news. It's OK to not be OK.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F53zyfhr8eaubc7turuqg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F53zyfhr8eaubc7turuqg.png" alt="5-psf"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Support the Python Software Foundation
&lt;/h2&gt;

&lt;p&gt;This year I was honored to be elected to the Board of Directors of the Python software foundation. The PSF is a &lt;br&gt;
non-profit that aims to support and promote Python by maintaining Python's intellectual property rights and licenses, giving grants for Python conferences, meetups, and events, supporting and maintaining python.org and PyPi, and running work groups to help support the Python ecosystem.&lt;/p&gt;

&lt;p&gt;You can support the PSF by joining one of the many &lt;a href="https://www.python.org/psf/committees/" rel="noopener noreferrer"&gt;active workgroups&lt;/a&gt;, contribute to open source (docs or code), or with your &lt;a href="https://staging.python.org/psf/donations/" rel="noopener noreferrer"&gt;generous donations&lt;/a&gt;. You can stay up to date with the PSF at &lt;a href="https://twitter.com/thepsf" rel="noopener noreferrer"&gt;@ThePSF&lt;/a&gt; on Twitter. &lt;/p&gt;

&lt;h3&gt;
  
  
  Closing Thoughts
&lt;/h3&gt;

&lt;p&gt;These are just a handful of ways to feel connected a community when in-person events are no longer an option. The community is what makes Python so special, and I'm honored to be a part of it. &lt;/p&gt;

&lt;p&gt;For more, you can &lt;a href="https://nina.to/pyid2020" rel="noopener noreferrer"&gt;view the slides&lt;/a&gt;, keep an eye on PyCon Indonesia's &lt;a href="https://www.youtube.com/channel/UCki_EPDl9JRVfVVkntNdJLA" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt; where recorded talks will be released in a few months, or check out &lt;a href="https://docs.microsoft.com/azure/developer/python/?WT.mc_id=python-11012-ninaz" rel="noopener noreferrer"&gt;Python at Microsoft&lt;/a&gt;. &lt;/p&gt;




&lt;p&gt;Watch for content on all things Python at Microsoft between the 16th and 20th of November. Stay tuned here at dev.to for all kinds of content ranging from IoT, to Machine Learning and much more! 🐍&lt;/p&gt;

</description>
      <category>pythonfunbites</category>
      <category>azure</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Announcing Python Fun Bites: A New Content Collection 🐍🎉</title>
      <dc:creator>𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍</dc:creator>
      <pubDate>Mon, 16 Nov 2020 17:55:22 +0000</pubDate>
      <link>https://dev.to/azure/announcing-python-fun-bites-a-new-content-collection-2mf9</link>
      <guid>https://dev.to/azure/announcing-python-fun-bites-a-new-content-collection-2mf9</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;TL;DR &lt;strong&gt;Bookmark this page&lt;/strong&gt; and check back periodically to see new articles posted every day this week about all things Python at Microsoft for &lt;a href="https://dev.to/t/pythonfunbites"&gt;#PythonFunBites&lt;/a&gt;. Or follow &lt;a href="https://twitter.com/azureadvocates"&gt;@azureadvocates&lt;/a&gt; for announcements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Welcome to #PythonFunBites!
&lt;/h1&gt;

&lt;p&gt;Starting today, new content will be published every day from &lt;a href="https://twitter.com/azureadvocates"&gt;Microsoft Cloud Advocates&lt;/a&gt; and Product teams at Microsoft through November 16th-20th, 2020.&lt;/p&gt;

&lt;p&gt;During this week we will be releasing bite-sized Python content covering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VSCode and the Python extension&lt;/li&gt;
&lt;li&gt;Using GitHub actions for your Python projects&lt;/li&gt;
&lt;li&gt;Machine Learning with Python&lt;/li&gt;
&lt;li&gt;Efficient data processing&lt;/li&gt;
&lt;li&gt;All things serverless with Python&lt;/li&gt;
&lt;li&gt;Internet of Things&lt;/li&gt;
&lt;li&gt;Getting started with Django and Flask&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and much much more! This post will be updated daily so you can keep track of all the amazing content published under #PythonFunBites.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Update: And, we're live! Kicking off the week of Python Fun Bites with our very first article.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Keep an eye out later today for another fun bite.&lt;/p&gt;

&lt;h3&gt;
  
  
  Monday, Nov 16th
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/azure/the-python-community-is-stronger-together-1anl"&gt;The Python Community is Stronger Together&lt;/a&gt; by Nina Zakharenko &lt;a class="comment-mentioned-user" href="https://dev.to/nnja"&gt;@nnja&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/azure/daily-news-report-with-bing-news-search-and-twilio-sms-4g46"&gt;Daily News Report with Bing News Search and Twilio SMS&lt;/a&gt; by April Speight &lt;a class="comment-mentioned-user" href="https://dev.to/aprilspeight"&gt;@aprilspeight&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tuesday, Nov 17th
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Today we have a very exciting holiday edition, with a post about IoT holiday lights!&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/azure/control-holiday-lights-with-python-azure-iot-and-power-apps-2ic6"&gt;Control holiday lights with Python, Azure IoT and Power Apps&lt;/a&gt; by Jim Bennett &lt;a class="comment-mentioned-user" href="https://dev.to/jimbobbennett"&gt;@jimbobbennett&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Wednesday, Nov 18th
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Today's post focuses on our favorite editor, Visual Studio Code.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/azure/working-with-jupyter-notebooks-in-visual-studio-code-5130"&gt;Working with Jupyter Notebooks in Visual Studio Code&lt;/a&gt; by Jasmine Greenaway &lt;a class="comment-mentioned-user" href="https://dev.to/paladique"&gt;@paladique&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thursday, Nov 19th
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Today we have two exciting posts! One about web dev in Python, and one about using Cognitive Services for easy Machine Learning. Check them out below!&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/azure/getting-started-with-web-dev-using-flask-44l5"&gt;Getting started with web dev using Flask&lt;/a&gt; by Christopher Harrison &lt;a class="comment-mentioned-user" href="https://dev.to/geektrainer"&gt;@geektrainer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/azure/translating-text-with-just-a-few-lines-of-code-using-azure-cognitive-services-4fao"&gt;Translating text with just a few lines of code using Azure Cognitive Services&lt;/a&gt; by Christopher Harrison &lt;a class="comment-mentioned-user" href="https://dev.to/geektrainer"&gt;@geektrainer&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Friday, Nov 20th
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;And with that, Python Fun Bites comes to a close. Thank you to all of the amazing authors who contributed articles and to all of our readers. See you next time! 🐍👋&lt;/em&gt;&lt;/p&gt;

</description>
      <category>pythonfunbites</category>
      <category>azure</category>
      <category>python</category>
    </item>
    <item>
      <title>Join Us Live Tomorrow for All about Edge DevTools!</title>
      <dc:creator>𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍</dc:creator>
      <pubDate>Mon, 05 Oct 2020 22:03:52 +0000</pubDate>
      <link>https://dev.to/azure/join-us-live-tomorrow-for-all-about-edge-devtools-3103</link>
      <guid>https://dev.to/azure/join-us-live-tomorrow-for-all-about-edge-devtools-3103</guid>
      <description>&lt;p&gt;As a "full-stack" developer who's more comfortable on the backend, I've always struggled to debug the web when faced with tricky CSS, JavaScript that isn't behaving, and page elements that don't render like they're supposed to.&lt;/p&gt;




&lt;h3&gt;
  
  
  Want to learn how to investigate and debug web-based issues in the browser along with me?
&lt;/h3&gt;

&lt;p&gt;📺 Tune in Oct 6th at 9am PDT on &lt;a href="https://twitch.tv/microsoftdeveloper"&gt;twitch.tv/microsoftdeveloper&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;I'll be using the DevTools built into Microsoft Edge browser, a new cross-platform Chromium-based web browser.&lt;/p&gt;

&lt;p&gt;Joining me will be Rachel Simone Weil, a Product Manager for Edge DevTools who'll walk me through investigating different scenarios like CSS problems, rendering issues, device emulation, and much more.&lt;/p&gt;

&lt;p&gt;Watch the live stream to learn along with me and ask questions in chat from Edge DevTools engineers Brandon Goddard, Brian Cui, Jose Leal Chapa, and Patrick Brosset.&lt;/p&gt;

&lt;p&gt;Want to learn more?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium"&gt;Read the docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Follow the &lt;a href="https://twitter.com/edgedevtools/"&gt;EdgeDev Tools team&lt;/a&gt; on Twitter&lt;/li&gt;
&lt;li&gt;Read the &lt;a href="https://blogs.windows.com/msedgedev/"&gt;team blog&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;br&gt;
Credits:&lt;br&gt;
&lt;a href="https://www.freepik.com/vectors/banner"&gt;Banner vector created by freepik - &lt;/a&gt;&lt;a href="http://www.freepik.com"&gt;www.freepik.com&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>webperf</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>✅ Easily Write Better Code With 7 Tips to Get in the Zone</title>
      <dc:creator>𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍</dc:creator>
      <pubDate>Fri, 04 Oct 2019 18:53:10 +0000</pubDate>
      <link>https://dev.to/nnja/easily-write-better-code-with-7-tips-to-get-in-the-zone-21pj</link>
      <guid>https://dev.to/nnja/easily-write-better-code-with-7-tips-to-get-in-the-zone-21pj</guid>
      <description>&lt;h1&gt;
  
  
  What's Flow?
&lt;/h1&gt;

&lt;p&gt;Flow has been described as a mental state where you're able to become fully immersed, focused, and enjoy the task at hand. &lt;/p&gt;

&lt;p&gt;It's that weightless feeling of humming along with perfect productivity when just doing the work is intrinsically motivating, without the need for additional rewards or using consequences as motivators.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Flow is also described as being “in the zone.”&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Some of my best code was written in this zen-like state while solving challenging problems. I loved solving last year's &lt;a href="https://adventofcode.com/" rel="noopener noreferrer"&gt;Advent of Code&lt;/a&gt;, a coding challenge with a puzzle every day in the month of December. I was so deep in concentration that time felt like it came to a stop.&lt;/p&gt;

&lt;h1&gt;
  
  
  Repetition Is the Enemy of Flow
&lt;/h1&gt;

&lt;p&gt;Unfortunately, the longer we code, the likelier we are to find ourselves working on mundane tasks, solving the same problems over and over again.&lt;/p&gt;

&lt;p&gt;When our work becomes repetitive and routine getting in the zone might feel daunting. It might feel difficult to get into and stay in the zone when the challenges of the work we're doing don't align with our skills. This scenario can result in feeling apathetic, bored, or even anxious.&lt;/p&gt;

&lt;h1&gt;
  
  
  Skill Versus Challenge
&lt;/h1&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%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2Ff%2Ff6%2FChallenge_vs_skill.svg%2F300px-Challenge_vs_skill.svg.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%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2Ff%2Ff6%2FChallenge_vs_skill.svg%2F300px-Challenge_vs_skill.svg.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take a look at the guide above. You'll notice that apathy, or a lack of interest in the task at hand, can be caused by a problem that's too easy even for someone inexperienced.&lt;/p&gt;

&lt;p&gt;If the problem is too easy for our skill level, we might quickly become bored with it. Or worse, when the problem is too hard than our perceived level of skills and abilities, it might cause a heightened sense of anxiety.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Flow happens at the intersection of challenging work and a high skill level.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Get Back in the Zone
&lt;/h1&gt;

&lt;p&gt;How can we use this knowledge to our advantage?&lt;br&gt;
By adjusting the ratios!&lt;/p&gt;

&lt;p&gt;Is the problem is too easy? &lt;em&gt;Move towards flow by increasing the difficulty.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Is the problem is too hard? &lt;em&gt;Move towards flow by leveling up and learning new skills.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;We need to be doing challenging work while feeling like we have the skills to achieve it.&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Sounds easy, right? Well, unfortunately, chances are that the conditions you find yourself in just aren't ideal for getting in the zone most of the time.&lt;/p&gt;

&lt;p&gt;Luckily, while &lt;em&gt;we can't&lt;/em&gt; force a state of flow, &lt;em&gt;we can&lt;/em&gt; make changes to how we work to increase the likelihood that we'll achieve it.&lt;/p&gt;

&lt;p&gt;To understand how we'll review the seven conditions for flow as proposed by &lt;a href="http://humanfactors.com/whitepapers/crafting_fun_ux.asp" rel="noopener noreferrer"&gt;Owen Schaffer&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;
  
  
  7 Steps to Get Back on Track
&lt;/h1&gt;
&lt;h2&gt;
  
  
  1️⃣ Know What to Do
&lt;/h2&gt;

&lt;p&gt;Knowing what to do may seem obvious, but we've all sat down and opened our editor to work on a new feature or to fix a bug without having a clear idea of what we need to do next.&lt;/p&gt;

&lt;p&gt;You &lt;em&gt;think&lt;/em&gt; you can just wing it, but your goals need to be clear and achievable to help you get in the zone.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;💡 Tips&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Identify what success looks like for your working session before you start.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Have a specific idea of what you need to accomplish.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  2️⃣ Know How to Do It
&lt;/h2&gt;

&lt;p&gt;If you don't know enough to finish the task at hand, you may start worrying. Fear of failure can trigger anxiety.&lt;/p&gt;

&lt;p&gt;Success in achieving flow involves making the problem achievable.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;💡 Tips&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Increase your skills with reading and research until you feel like you know enough to try solving the problem again.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Try breaking down the problem into smaller more manageable pieces.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  3️⃣ Know How Well You're Doing
&lt;/h2&gt;

&lt;p&gt;While you're solving a problem, feedback about how well you're doing needs to be both clear and immediate.&lt;/p&gt;

&lt;p&gt;Luckily, we can easily set up our development environments to signal success or failure.&lt;/p&gt;

&lt;p&gt;Are you a front end developer? Aim to have a working prototype as quickly as possible. Set up auto-refresh to see your work-in-progress. It'll allow you to move the project along in real-time.&lt;/p&gt;

&lt;p&gt;Another great way of getting immediate feedback is by writing unit tests or practicing test-driven development (TDD). &lt;/p&gt;

&lt;p&gt;You don't have to stick with every rule of test-driven development to see the benefits. Try to write a few unit tests, and run them frequently. If your test suite is fast, you can even have your tests run every time you save a file.&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fan6ht2d78ee4b9oybpsa.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fan6ht2d78ee4b9oybpsa.png" alt="Sea of green for passing tests"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;💡 Tips&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Work in small increments and test your work frequently.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Write and run tests to immediately see immediate feedback on your code.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  4️⃣ Know Where to Go
&lt;/h2&gt;

&lt;p&gt;Athletes are more likely to achieve flow where they know where to move next.&lt;/p&gt;

&lt;p&gt;The same paradigm is also vital to programming.&lt;/p&gt;

&lt;p&gt;Pausing frequently to figure out what to do next can be increasingly distracting.&lt;/p&gt;

&lt;p&gt;Before getting started, create a detailed plan of attack for how you plan on solving your problem or implement your feature.&lt;/p&gt;

&lt;p&gt;Make sure your tools help you do your job seamlessly and effectively. As a Python developer, I'm a huge fan of the &lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-python.python&amp;amp;WT.mc_id=flow-devto-ninaz" rel="noopener noreferrer"&gt;Python Extension for VS Code&lt;/a&gt; in combination with iTerm2.&lt;/p&gt;

&lt;p&gt;Learn those keyboard shortcuts you've been putting off, adopt more command-line tools if that fits your flow, and dial back on interruptions.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;💡 Tips&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Break up tasks into small, clear, concrete actions and create a detailed to-do list.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Dial in your tools so they're not a distraction.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  5️⃣ High Perceived Challenge
&lt;/h2&gt;

&lt;p&gt;The work that you're doing needs to be sufficiently challenging to keep you interested and engaged. &lt;/p&gt;

&lt;p&gt;If you're highly skilled, but the task is too easy, you're likely to slip into boredom, or worse, apathy.&lt;/p&gt;

&lt;p&gt;What can you do if you're stuck in this situation? Don't aim to overcomplicate, but figure out ways to teach yourself new things while you work.&lt;/p&gt;

&lt;p&gt;Is it possible to try a new design pattern or apply a different architecture to this problem? Can you use an unfamiliar feature in a programming language you know? Would it make sense to learn an entirely new programming language to achieve your goals easier?&lt;/p&gt;

&lt;p&gt;It can be challenging to raise the perceived difficulty of boring, mundane work. If you can find a way to make your work more challenging, you'll be rewarded with a higher chance of slipping into the zone.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;💡 Tips&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;If the task is too easy, find new ways to learn while you work.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  6️⃣ High Perceived Skills
&lt;/h2&gt;

&lt;p&gt;You've already learned that if you're too highly skilled for the task at hand, you're likely to become bored with it. If you're not experienced enough, you might feel anxiety or a fear of failure.&lt;/p&gt;

&lt;p&gt;But what if you &lt;em&gt;do&lt;/em&gt; have the skills, but you just don't know it? That's imposter syndrome, and it's a common issue affecting developers of all levels.&lt;/p&gt;

&lt;p&gt;In the tech industry, it can feel like there's always someone, better, smarter, more confident, and more eloquent than you. It can make you feel smaller, like a failure, or that you'll never live up to your own expectations.&lt;/p&gt;

&lt;p&gt;Getting lost in the whirlpool of comparing yourself to others is a sure-fire way to cause doubts and feel bad about yourself. Try to take an honest inventory of your skills, and celebrate the things you &lt;em&gt;do&lt;/em&gt; know instead of feeling bad about the things you &lt;em&gt;don't&lt;/em&gt;.   &lt;/p&gt;

&lt;p&gt;If you know more than enough to get the job done, but if you don't have confidence in yourself, you'll have a much harder time getting in the zone. You'll need to &lt;em&gt;believe&lt;/em&gt; that you're skilled enough to tackle the challenge.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;💡 Tips&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;If you think you might be suffering from imposter syndrome, read &lt;a href="https://www.fastcompany.com/40421352/the-five-types-of-impostor-syndrome-and-how-to-beat-them" rel="noopener noreferrer"&gt;suggestions for how to beat it&lt;/a&gt;.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  7️⃣ Freedom from Distractions
&lt;/h2&gt;

&lt;p&gt;In today's world full of notifications vying for our attention, freedom from distractions may feel like an impossible goal.&lt;/p&gt;

&lt;p&gt;Unfortunately, you're making it harder to get in the zone by constantly checking your phone, social media, or other distracting websites &lt;em&gt;(*cough* reddit, YouTube, hacker news *cough*)&lt;/em&gt; while you're trying to work.&lt;/p&gt;

&lt;p&gt;Avoid distractions by blocking sites, keeping your phone in another room or in a drawer, or even turning it off completely. Thankfully, there are amazing free tools to help!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;For the web:&lt;/strong&gt; browser plugins block distracting websites, such as StayFocused for Chrome and Leechhblock for Firefox.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On mobile:&lt;/strong&gt; there's a mobile app for iOS and Android called Forest that helps you train your attention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On desktop:&lt;/strong&gt; a favorite for blocking distracting websites on my Mac is the 
&lt;a href="https://selfcontrolapp.com" rel="noopener noreferrer"&gt;SelfControl App&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F7dx1ljdc0jn28brjd1vc.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F7dx1ljdc0jn28brjd1vc.png" alt="Screenshot of the self control app"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;💡 Tips&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Minimize distractions to achieve a productive work session.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;
  
  
  Write Better Code in the Zone
&lt;/h1&gt;

&lt;p&gt;Research has shown that working in the zone has tremendous benefits. It can increase your sense of achievement and overall satisfaction. It can make mundane tasks seem more fun, and more importantly -- it can get you more excited about solving challenges.&lt;/p&gt;

&lt;p&gt;While there's no guaranteed way to force yourself into being in the zone, the tips above should help you achieve that ever-elusive state of flow to help you do your best work.&lt;/p&gt;

&lt;p&gt;If you have thoughts on working in flow, please discuss below or reach out to me on Twitter at &lt;a href="https://twitter.com/nnja" rel="noopener noreferrer"&gt;@nnja&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;&lt;em&gt;Note: a version of this article was originally published on &lt;a href="https://the-pastry-box-project.net/nina-zakharenko/2018-february-14" rel="noopener noreferrer"&gt;The Pastry Box Project&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;Lastly, if you'd like to know more about the topic, make sure to watch the seminal TED talk by Mihály Csíkszentmihályi.&lt;/p&gt;

&lt;p&gt;YouTube: &lt;iframe width="710" height="399" src="https://www.youtube.com/embed/fXIeFJCqsPs"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>codequality</category>
      <category>motivation</category>
      <category>adventofcode</category>
    </item>
    <item>
      <title>A Desktop Python 2.7 Countdown Timer with CircuitPython and PyPortal</title>
      <dc:creator>𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍</dc:creator>
      <pubDate>Tue, 16 Jul 2019 19:00:43 +0000</pubDate>
      <link>https://dev.to/nnja/a-desktop-python-2-7-countdown-timer-with-circuitpython-and-pyportal-3c6e</link>
      <guid>https://dev.to/nnja/a-desktop-python-2-7-countdown-timer-with-circuitpython-and-pyportal-3c6e</guid>
      <description>&lt;h2&gt;
  
  
  ✨Did you know that Python 2.7 won't be maintained after January 1st, 2020? ✨
&lt;/h2&gt;

&lt;p&gt;Inspired by &lt;a href="https://twitter.com/phildini" rel="noopener noreferrer"&gt;Phildini&lt;/a&gt;'s &lt;a href="https://pythonclock.org" rel="noopener noreferrer"&gt;Python Clock&lt;/a&gt;, I wanted to make a desktop version of a Python 2.7 countdown timer for the big event.&lt;/p&gt;

&lt;p&gt;My countdown timer matches my mood, with thirteen different themes to choose from 💅.&lt;/p&gt;

&lt;h3&gt;
  
  
  In Action
&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%2Fd33wubrfki0l68.cloudfront.net%2Fa6cb32f3112d6ffabf05c398d831eeed94033fc3%2F08811%2Fimg%2F2019%2F2019-blog-circuitpython-pyportal-python27-event-countdown%2Fin-action.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%2Fd33wubrfki0l68.cloudfront.net%2Fa6cb32f3112d6ffabf05c398d831eeed94033fc3%2F08811%2Fimg%2F2019%2F2019-blog-circuitpython-pyportal-python27-event-countdown%2Fin-action.gif" alt="The PyPortal Python 2.7 Countdown Clock in Action!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most importantly, the countdown timer had to be written in Python itself. I used &lt;a href="https://circuitpython.org/" rel="noopener noreferrer"&gt;CircuitPython&lt;/a&gt; and a wifi-enabled Adafruit &lt;a href="https://www.adafruit.com/product/4116" rel="noopener noreferrer"&gt;PyPortal&lt;/a&gt; with a touchscreen. The touchscreen allows you to quickly cycle through themes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Theme Examples
&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fm5airccrb160uf4pjl81.jpg" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fm5airccrb160uf4pjl81.jpg" alt="A Snek Theme"&gt;&lt;/a&gt;&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ftk0c49tis3yu70t1cwi9.jpg" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ftk0c49tis3yu70t1cwi9.jpg" alt="An Elegant Black and White Theme"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How?
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://www.adafruit.com/product/4116" rel="noopener noreferrer"&gt;PyPortal&lt;/a&gt; is an wifi-enabled microcontroller device featuring a 3" capacitive touchscreen and CircuitPython baked in.&lt;/p&gt;

&lt;p&gt;It can be programmed with &lt;a href="https://circuitpython.org/" rel="noopener noreferrer"&gt;CircuitPython&lt;/a&gt;, a variant of Python that can be used to program microcontrollers, originally forked from &lt;a href="https://github.com/micropython/micropython" rel="noopener noreferrer"&gt;MicroPython&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I used the &lt;a href="https://code.visualstudio.com/docs/languages/python?WT.mc_id=py27countdown-blog-ninaz" rel="noopener noreferrer"&gt;Python Extension for Visual Studio Code&lt;/a&gt;, along with &lt;a href="https://code.visualstudio.com/docs/editor/multi-root-workspaces?WT.mc_id=py27countdown-blog-ninaz" rel="noopener noreferrer"&gt;workspaces&lt;/a&gt; for easy development. One workspace allowed me to keep my PyPortal code side-by-side with my local (version controlled!) codebase.&lt;/p&gt;

&lt;h3&gt;
  
  
  Show Me the Code!
&lt;/h3&gt;

&lt;p&gt;The repository with all the code and setup instructions you'll need to get your own countdown clock working is available on my GitHub.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/nnja" rel="noopener noreferrer"&gt;
        nnja
      &lt;/a&gt; / &lt;a href="https://github.com/nnja/py27_countdown" rel="noopener noreferrer"&gt;
        py27_countdown
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      PyPortal Python 2.7 Desktop Countdown Clock
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Python 2.7 Desktop Countdown Timer with PyPortal + CircuitPython&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;🐍 ✨Python 2.7 will not be maintained after 2020.✨&lt;/p&gt;
&lt;p&gt;⏲ Eagerly awaiting Python 2.7's retirement? Use an &lt;a href="https://www.adafruit.com/product/4116" rel="nofollow noopener noreferrer"&gt;Adafruit PyPortal&lt;/a&gt; to display a countdown timer to the big event on your desktop.&lt;/p&gt;
&lt;p&gt;💅 Thirteen themes let you match your countdown timer to your mood. Select your theme by pressing the left and right sides of the touchscreen.&lt;/p&gt;
&lt;p&gt;💜 Written by Nina Zakharenko. Stay in touch:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Twitter - &lt;a href="https://twitter.com/nnja" rel="nofollow noopener noreferrer"&gt;@nnja&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Blog - &lt;a href="https://nnja.io" rel="nofollow noopener noreferrer"&gt;nnja.io&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/search?f=tweets&amp;amp;q=%23PythonHardware&amp;amp;src=typd" rel="nofollow noopener noreferrer"&gt;#PythonHardware on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;📺 in action!&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/2030983/60445500-4f35ef80-9bed-11e9-93e7-bfa7f2b2e76c.gif"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F2030983%2F60445500-4f35ef80-9bed-11e9-93e7-bfa7f2b2e76c.gif" alt="in-action"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Table of Contents&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/nnja/py27_countdown#about-pyportal-and-circuitpython" rel="noopener noreferrer"&gt;About PyPortal and CircuitPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nnja/py27_countdown#about-themes" rel="noopener noreferrer"&gt;About Themes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nnja/py27_countdown#dependencies-and-libraries" rel="noopener noreferrer"&gt;Dependencies and Libraries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nnja/py27_countdown#adding-new-fonts-and-themes" rel="noopener noreferrer"&gt;Adding New Fonts and Themes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nnja/py27_countdown#contributions-and-credits" rel="noopener noreferrer"&gt;Contributions and Credits&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;About PyPortal and CircuitPython&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;This code is meant to run on a PyPortal.&lt;/p&gt;
&lt;p&gt;An &lt;a href="https://www.adafruit.com/product/4116" rel="nofollow noopener noreferrer"&gt;Adafruit PyPortal&lt;/a&gt; is an wifi-enabled microcontroller device featuring a 3" capacitive touchscreen and CircuitPython baked in.&lt;/p&gt;
&lt;p&gt;It can be programmed with &lt;a href="https://circuitpython.org/" rel="nofollow noopener noreferrer"&gt;CircuitPython&lt;/a&gt;, a variant of Python that can be used…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/nnja/py27_countdown" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Make the Switch
&lt;/h3&gt;

&lt;p&gt;You might be surprised, but Python 3.0 is over ten years old. Python 2.7 support was originally supposed to drop in 2015, but the deadline was extended another 5 years to 2020 to provide ample time to make the switch.&lt;/p&gt;

&lt;p&gt;Over the past ten years, maintaining Python 2 has been a strain on core developers, library authors, and other volunteers and open source contributors who make the language great.&lt;/p&gt;

&lt;p&gt;As support for Python 2.7 is sunset in 2020, expect major packages to end Python 2.7 support as well such as Tensorflow, PyTest, and &lt;a href="https://python3statement.org/" rel="noopener noreferrer"&gt;many more&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1133496146700058626-52" src="https://platform.twitter.com/embed/Tweet.html?id=1133496146700058626"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1133496146700058626-52');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1133496146700058626&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;It's time to say goodbye to the past, and look towards the future with support for incredible features you might be missing out on, like &lt;a href="https://docs.python.org/3/whatsnew/3.6.html#pep-498-formatted-string-literals" rel="noopener noreferrer"&gt;f-strings&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you haven't started your migration yet, why wait? Don't procrastinate. At the time of this blog post, you have 169 days left to go.&lt;/p&gt;

</description>
      <category>python</category>
      <category>circuitpython</category>
      <category>hardware</category>
      <category>microcontrollers</category>
    </item>
    <item>
      <title>Three Things You Should Know About Visual Studio Code</title>
      <dc:creator>𝙽𝚒𝚗𝚊 𝚉𝚊𝚔𝚑𝚊𝚛𝚎𝚗𝚔𝚘 💜🐍</dc:creator>
      <pubDate>Tue, 16 Jul 2019 17:49:42 +0000</pubDate>
      <link>https://dev.to/nnja/three-things-you-should-know-about-visual-studio-code-1pnn</link>
      <guid>https://dev.to/nnja/three-things-you-should-know-about-visual-studio-code-1pnn</guid>
      <description>&lt;h2&gt;
  
  
  Supercharge your editing experience 🎉
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/?WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt; is a free, cross-platform, open source code editor from Microsoft. You might have also heard it called VS Code, or sometimes, just Code.&lt;/p&gt;

&lt;p&gt;It's the editor I use and enjoy daily. You may already know that it's an excellent option for Python developers -- it supports linting, debugging, features AI-assisted code auto completion, and more.&lt;/p&gt;

&lt;p&gt;With just a little configuration Code can also be so much more!&lt;/p&gt;

&lt;p&gt;Learn about three exciting features in Code below.&lt;/p&gt;

&lt;h2&gt;
  
  
  1: Extensions 🔗
&lt;/h2&gt;

&lt;p&gt;Code starts out as a lightweight editor that's extensible via extensions. That allows you to only install the tools and plugins that are useful to &lt;em&gt;you&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;When you first download and install Code, you'll have a pretty bare bones editor. It comes with simple support for languages like JavaScript, TypeScript, CSS, and HTML, but support for other languages can be &lt;a href="https://marketplace.visualstudio.com/search?target=vscode&amp;amp;category=All%20categories&amp;amp;sortBy=Downloads&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;downloaded as extensions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The extension ecosystem isn't just for languages. You can also find useful plugins, lightweight tools, themes, customizations, key maps to use keyboard shortcuts from other editors, and much more.&lt;/p&gt;

&lt;p&gt;Some of my favorite extensions are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-python.python&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;Python Extension&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Rich feature support for the Python language. Awesome features like &lt;a href="https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;AI-powered IntelliSense&lt;/a&gt;, Jupyter notebook support, a test explorer, and more!&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;a href="https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;autoDocstring&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Quickly generate docstrings for Python functions.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;GitLens&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Supercharge git by with at-a-glance git blame annotations, navigation of git repositories, powerful comparison commands, and more.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;a href="https://marketplace.visualstudio.com/items?itemName=sdras.night-owl&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;Night Owl theme&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;A Visual Studio Code theme for the night owls out there. Fine-tuned for low-light situations, for those who like to code late into the night.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;a href="https://marketplace.visualstudio.com/items?itemName=johnpapa.vscode-peacock&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;Peacock&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Allows you to change the color of each new window, allowing quick visual identification when working on multiple projects.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;a href="https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;TODO Highlight&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Really make your &lt;code&gt;TODO&lt;/code&gt;s and &lt;code&gt;FIXME&lt;/code&gt;s pop!&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note: Do you have a favorite theme or extension? Please share it in the comments!&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-997238414390022144-458" src="https://platform.twitter.com/embed/Tweet.html?id=997238414390022144"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-997238414390022144-458');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=997238414390022144&amp;amp;theme=dark"
  }



&lt;/p&gt;




&lt;p&gt;If you think you won't be using a plugin for a while, you don't have to go through the effort of completely uninstalling it. Instead, you can &lt;a href="https://code.visualstudio.com/docs/editor/extension-gallery?WT.mc_id=pybay-blog-ninaz#_disable-an-extension" rel="noopener noreferrer"&gt;temporarily disable it&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Configure your settings for both Code and Extensions via &lt;a href="https://code.visualstudio.com/docs/getstarted/settings?WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;settings&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2: Jupyter Cell Debugging 🐞
&lt;/h2&gt;

&lt;p&gt;The Python extension has many great features that allow you to &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support?WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;work with Jupyter notebooks&lt;/a&gt; with ease -- in a full-fledged IDE environment.&lt;/p&gt;

&lt;p&gt;If you use Jupyter notebooks, you know how hard debugging can be. The annoyance of having to switch between your browser, your terminal, your notebook, and your editor can be a real drag.&lt;/p&gt;

&lt;p&gt;To help your workflow, the latest Jupyter feature -- Cell Debugging -- is coming soon to the &lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-python.python&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;Python Extension&lt;/a&gt; for Code!&lt;/p&gt;




&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1149062343231455238-751" src="https://platform.twitter.com/embed/Tweet.html?id=1149062343231455238"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1149062343231455238-751');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1149062343231455238&amp;amp;theme=dark"
  }



&lt;/p&gt;




&lt;p&gt;As you can tell from the tweets, it's a highly anticipated feature!&lt;/p&gt;

&lt;p&gt;Soon, support for debugging Jupyter cells will be available inline.&lt;/p&gt;

&lt;p&gt;It's a feature that will save you tons of time, and that's cause to celebrate! 🎉&lt;/p&gt;

&lt;h2&gt;
  
  
  3: Live Share 👥
&lt;/h2&gt;

&lt;p&gt;I work remotely from Portland, OR. As a remote developer, being able to collaborate with others is a top priority.&lt;/p&gt;

&lt;p&gt;Collaborating remotely on software has long been a struggle. Thankfully, Visual Studio Code has a plugin that makes the process simple and pain free -- &lt;a href="https://code.visualstudio.com/blogs/2017/11/15/live-share?WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;Live Share&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Before you were likely stuck using tools like tmux with text-based editors, or dealing with spotty network connections, blurry screens, and fading audio on video calls.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;Live Share extension&lt;/a&gt; improves the process of remote collaboration by leaps and bounds.&lt;/p&gt;

&lt;p&gt;To get started, you and the developer you'd like to work with will both need to install Code, then &lt;a href="https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;download the Live Share extension pack&lt;/a&gt;. Now, one of you will need to &lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-vsliveshare.vsliveshare&amp;amp;WT.mc_id=pybay-blog-ninaz#quickstart-sharing" rel="noopener noreferrer"&gt;&lt;em&gt;start&lt;/em&gt; a shared session&lt;/a&gt;, and the other person will need to &lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-vsliveshare.vsliveshare&amp;amp;WT.mc_id=pybay-blog-ninaz#quickstart-joining" rel="noopener noreferrer"&gt;&lt;em&gt;join&lt;/em&gt; the session&lt;/a&gt;.&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%2Fd33wubrfki0l68.cloudfront.net%2F81ae9eee56ac3a60826ce02890b13ef5437b3e21%2F1642a%2F2019%2Fvs-code-ls-session.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%2Fd33wubrfki0l68.cloudfront.net%2F81ae9eee56ac3a60826ce02890b13ef5437b3e21%2F1642a%2F2019%2Fvs-code-ls-session.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you do, you'll be able to collaborate easily. Your teammate will be able to see your code in their editor, without having to clone a repo, or even install dependencies from your codebase.&lt;/p&gt;

&lt;p&gt;You'll see the other person's cursor, but you can also navigate independently in your own Code instance. That means your themes, keyboard shortcuts, extensions, and custom settings are available to you.  As a bonus, you can even chat or talk over audio with your coding partner.&lt;/p&gt;

&lt;p&gt;This feature is particularly useful for Code Reviews. Let's say you'd like to talk through some comments you made on someone's pull request. Just start a live share session, checkout the PR branch (use the &lt;a href="https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github&amp;amp;WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;GitHub Pull Requests&lt;/a&gt; extension to make it even easier), and that's it. Sometimes it's easier to talk through a miscommunication than leave endless back-and-forth comments.&lt;/p&gt;

&lt;p&gt;That's genuinely the best possible scenario for collaboration.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wrapping Up
&lt;/h3&gt;

&lt;p&gt;Many other features of Code deserve mention -- &lt;a href="https://code.visualstudio.com/docs/remote/remote-overview?WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;remote development&lt;/a&gt; over SSH, Containers, or Windows Subsystem for Linux, &lt;a href="https://code.visualstudio.com/docs/editor/userdefinedsnippets?WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;snippets&lt;/a&gt;, and more.&lt;/p&gt;

&lt;p&gt;That's the benefit -- you don't have to dive in all at once. You can explore the features of Code at your own pace. So if you haven't given it a try yet, there's no time like the present. &lt;a href="https://code.visualstudio.com/download?WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;Download Visual Studio Code&lt;/a&gt;, read the getting started with &lt;a href="https://code.visualstudio.com/docs/python/python-tutorial?WT.mc_id=pybay-blog-ninaz" rel="noopener noreferrer"&gt;Python guide&lt;/a&gt;, and share your thoughts in the comments below.&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>vscode</category>
      <category>jupyter</category>
    </item>
  </channel>
</rss>
