<?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: Gareth Dwyer 🇿🇦</title>
    <description>The latest articles on DEV Community by Gareth Dwyer 🇿🇦 (@sixhobbits).</description>
    <link>https://dev.to/sixhobbits</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%2F283368%2Fbf816104-f1b3-40d2-bcf8-4f2a4ce5682c.jpeg</url>
      <title>DEV Community: Gareth Dwyer 🇿🇦</title>
      <link>https://dev.to/sixhobbits</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sixhobbits"/>
    <language>en</language>
    <item>
      <title>Managers and problems</title>
      <dc:creator>Gareth Dwyer 🇿🇦</dc:creator>
      <pubDate>Tue, 13 Oct 2020 14:48:27 +0000</pubDate>
      <link>https://dev.to/sixhobbits/managers-and-problems-4pk3</link>
      <guid>https://dev.to/sixhobbits/managers-and-problems-4pk3</guid>
      <description>&lt;p&gt;Managers usually have different problems from developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples of problems faced by managers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I'm battling to keep track of who is working on what&lt;/li&gt;
&lt;li&gt;I'm not sure how we're doing as a team - were we more productive this week or last?&lt;/li&gt;
&lt;li&gt;I don't know how long things are going to take&lt;/li&gt;
&lt;li&gt;I don't know the status of this particular ticket&lt;/li&gt;
&lt;li&gt;I don't have enough information to do fair performance reviews&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Examples of problems faced by developers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I don't have enough time to implement things to our quality standards&lt;/li&gt;
&lt;li&gt;There are too many meetings and it breaks my concentration&lt;/li&gt;
&lt;li&gt;There is too much mindless admin that doesn't help anyone&lt;/li&gt;
&lt;li&gt;There are too many priorities: everything is important and urgent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because of the power imbalance, managers usually lean on developers to make them solve 'manager problems': do more meetings, more check-ins, more estimates, more updating of tickets.&lt;/p&gt;

&lt;p&gt;Instead, managers should be solving their own problems &lt;em&gt;and in addition&lt;/em&gt; help solve 'developer problems'. Sometimes by doing exactly the opposite of what they are already doing.&lt;/p&gt;

&lt;p&gt;Also see &lt;a href="http://www.paulgraham.com/makersschedule.html"&gt;http://www.paulgraham.com/makersschedule.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>management</category>
      <category>productivity</category>
    </item>
    <item>
      <title>15+ practical Python projects with full walk-through tutorials</title>
      <dc:creator>Gareth Dwyer 🇿🇦</dc:creator>
      <pubDate>Thu, 20 Aug 2020 16:28:49 +0000</pubDate>
      <link>https://dev.to/sixhobbits/15-practical-python-projects-with-full-walk-through-tutorials-153</link>
      <guid>https://dev.to/sixhobbits/15-practical-python-projects-with-full-walk-through-tutorials-153</guid>
      <description>&lt;p&gt;If you're learning to code, sometimes it can be more fun to work through practical end-to-end projects than to learn the theory.&lt;/p&gt;

&lt;p&gt;These 15+ tutorials will be helpful whether you're:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Just starting out and want to get a feel for coding before deciding if it's for them&lt;/li&gt;
&lt;li&gt;Going through another Python course but want to do more practical projects alongside the theory&lt;/li&gt;
&lt;li&gt;Have finished a course and are stuck in the "What should I build phase"&lt;/li&gt;
&lt;li&gt;Are building up your portfolio to apply for jobs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can go through them all in order, or jump in wherever looks interesting. If you prefer, they're also all available as a free e-book (direct download, no email required) in &lt;a href="https://codewithrepl.it/static/code-with-replit.pdf" rel="noopener noreferrer"&gt;PDF&lt;/a&gt;, &lt;a href="https://codewithrepl.it/static/code-with-replit.epub" rel="noopener noreferrer"&gt;epub&lt;/a&gt;, or &lt;a href="https://codewithrepl.it/static/code-with-replit.mobi" rel="noopener noreferrer"&gt;mobi&lt;/a&gt; formats. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; these posts were commissioned by &lt;a href="https://repl.it" rel="noopener noreferrer"&gt;Repl.it&lt;/a&gt; and also show you how to use their online IDE and hosting platform. Everything is entirely free (freedom and beer) though and you are not required to purchase any premium services to go through them. A video version will be released soon.&lt;/p&gt;

&lt;h1&gt;
  
  
  Part 1: The basics of Repl.it
&lt;/h1&gt;

&lt;p&gt;In this section of the course, you'll learn the basics of Repl.it. But that doesn't mean you won't build some fun stuff along the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/01-introduction-to-the-repl-it-ide.html" rel="noopener noreferrer"&gt;Lesson 1: Introduction to Repl.it and using the IDE&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8o0c39r406hlrt3sspb4.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%2F8o0c39r406hlrt3sspb4.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learn the basics of the Repl.it IDE. Why use an online IDE and what are all those different panes? Build a simple program to solve your maths homework.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/02-managing-files-using-repl-it.html" rel="noopener noreferrer"&gt;Lesson 2: Working with files using Repl.it&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F79az8bpc99xpec21vptt.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%2F79az8bpc99xpec21vptt.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Computers were initially created to read and write files, and although we've come a long way files remain central to everything we do. Learn how to create them, read from them, write to them, and import and export them in bulk.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/03-handling-dependencies-with-repl-it.html" rel="noopener noreferrer"&gt;Lesson 3: Managing dependencies with Repl.it&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fr8u03oierion25gp1fjk.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%2Fr8u03oierion25gp1fjk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No one is an island, and if you build software you'll build it on top of existing modules that others have written. Here we show you how to work with other people's code in a variety of ways: in many cases all you need to do is &lt;a href="https://xkcd.com/353/" rel="noopener noreferrer"&gt;import antigravity and fly away&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/04-data-science-and-visualisation-with-repl-it.html" rel="noopener noreferrer"&gt;Lesson 4: Data science: plotting and graphing&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3osbtxrsgrb6pocaoghs.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%2F3osbtxrsgrb6pocaoghs.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Data is only useful if it can be easily understood. Plots, charts, and graphs are the easiest way to know what's happening in the world around you. And did you know that data science is &lt;a href="https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century" rel="noopener noreferrer"&gt;the sexiest job of the 21st century&lt;/a&gt;. Follow along to plot every city in the USA and find out if richer people live longer.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/05-pair-programming-using-multiplayer-with-repl-it.html" rel="noopener noreferrer"&gt;Lesson 5: Pair programming and using multiplayer&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fh9v54azs6x6jfotof1pn.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%2Fh9v54azs6x6jfotof1pn.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Did we mention that no one is an island? Coders don't have to work alone. You can invite your friends to code along with you, a technique used by beginners and experts alike. Learn how to code collaboratively, as if you were using a Google Doc.&lt;/p&gt;

&lt;h1&gt;
  
  
  Part 2: advanced Repl.it use
&lt;/h1&gt;

&lt;p&gt;Once you know the basics, it's time to build larger and more complicated projects and keep them secure.  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/06-github-and-run-button.html" rel="noopener noreferrer"&gt;Lesson 6: Running projects from GitHub&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7j7biyypp5u7tm5wf8n7.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%2F7j7biyypp5u7tm5wf8n7.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most open source software lives on GitHub and it's easy to take advantage of all of this free software by pulling code from GitHub to Repl.it and running it with one click. Some software needs to be configured in specific ways so you'll also learn how to modify what happens when you press that big green "run" button.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/07-building-a-game-with-pygame.html" rel="noopener noreferrer"&gt;Lesson 7: Building a game with PyGame&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcjk4n7rhjpupvcujyq64.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%2Fcjk4n7rhjpupvcujyq64.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do you want to develop games? Of course, you can do that with Repl.it to. We'll build a 2D juggling game using PyGame in this lesson and you'll learn more about graphics programming at the same time: sprites, physics, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/07-building-a-game-with-pygame.html" rel="noopener noreferrer"&gt;Lesson 8: Can you keep a secret? What about from time travellers?&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fw36bmrmfdqymu24qozm1.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%2Fw36bmrmfdqymu24qozm1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have you been hacked? It's only a matter of time if you haven't. Learn how to keep your secrets safe, even when coding in public spaces. Pro tip: if you accidentally paste a password into your code and then remove it, others might still find it in your history, so you'll learn how to navigate that too.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/09-test-driven-development.html" rel="noopener noreferrer"&gt;Lesson 9: Introduction to TDD using PyTest&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fj8vq89ok8r6u9l8rlhdj.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%2Fj8vq89ok8r6u9l8rlhdj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By this stage you'll have made a few mistakes. Learn the TDD way and how to write code that tests your other code to catch frustrating errors before they can hurt anyone. Repetitive jobs is what computers are best at after all.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codewithrepl.it/10-productivity-hacks.html" rel="noopener noreferrer"&gt;Lesson 10: Become an elite hacker with productivity hacks&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7byxl0qzdulbrivknhbu.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%2F7byxl0qzdulbrivknhbu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have you seen the Matrix? Learn to be the Neo of coding by getting more than one cursor, using keyboard shortcuts, and all of the other productivity features that Repl.it offers. You'll be soon producing more code in less time.&lt;/p&gt;

&lt;h1&gt;
  
  
  Part 3: building your own projects
&lt;/h1&gt;

&lt;p&gt;Once you've gone through everything, you might think "but what should I build?". It's a common problem and we've got you covered. Choose your favourite projects from a list (or turn on the coffee machine, order some pizza, and get through them all). Once you've gone through the step-by-step guides you can easily modify or extend the projects to make them your own.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://ritza.co/showcase/repl.it/beginner-web-scraping-with-python-and-repl-it" rel="noopener noreferrer"&gt;Beginner web scraping with Python and Repl.it&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Learn more about what web scraping is, how websites are built, and how to automatically scrape data from websites.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://ritza.co/showcase/repl.it/building-news-word-clouds-using-python-and-repl-it" rel="noopener noreferrer"&gt;Building news word clouds using Python and Repl.it&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Extending the beginner's web scraping tutorial, you'll build a more advanced scraper that extracts the plain text from news articles, stripping away the 'boilerplate' content, such as text in sidebars.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://ritza.co/showcase/repl.it/building-a-discord-bot-with-python-and-repl-it" rel="noopener noreferrer"&gt;Building a Discord Bot with Python and Repl.it&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Build an echo bot using the Discord API. Your bot will always respond with exactly what you send it, but you can customize it afterwards to do something more useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://ritza.co/showcase/repl.it/building-a-discord-bot-with-node-and-repl-it" rel="noopener noreferrer"&gt;Building a Discord bot with Node.js and Repl.it&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A NodeJS version of the Discord bot tutorial above. Even if you prefer Python, it's good to go through this one too to get experience with other languages.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://ritza.co/showcase/repl.it/creating-and-hosting-a-basic-django-application-with-django-and-repl-it" rel="noopener noreferrer"&gt;Creating and hosting a basic web application with Django and Repl.it&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Build a django web application and host it with Repl.it. You'll use geolocation a weather API to show the user their local weather forecast.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://ritza.co/showcase/repl.it/building-a-crm-app-with-nodejs-repl-it-and-mongo-db" rel="noopener noreferrer"&gt;Building a CRM app with NodeJS, Repl.it, and MongoDB&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Another web application, but using NodeJS instead of Django. This is a different application where you'll build a basic app to manage customer information.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://ritza.co/showcase/repl.it/introduction-to-machine-learning-with-python-and-repl-it" rel="noopener noreferrer"&gt;Introduction to Machine Learning with Python and repl.it&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Build a machine-learning based text classifier. We skip the maths but show how you can use machine learning libraries to implement useful solutions without in-depth theoretical knoweldge.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://ritza.co/showcase/repl.it/quicksort-tutorial-python-implementation-with-line-by-line-explanation" rel="noopener noreferrer"&gt;Quicksort tutorial: Python implementation with line by line explanation&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Whether you're applying for jobs or just like algorithms, it's useful to understand how sorting works. In real projects, most of the time you'll just call &lt;code&gt;.sort()&lt;/code&gt;, but here you'll build a sorter from scratch and understand how it works.&lt;/p&gt;

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