<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[mannes.tech Blog]]></title><description><![CDATA[mannes.tech Blog]]></description><link>https://mannes.tech/</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Feb 2024 12:15:46 GMT</lastBuildDate><atom:link href="https://mannes.tech/rss.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[How the 12-factor Method helps create better Backends]]></title><link>https://mannes.tech/12-factor/</link><guid isPermaLink="true">https://mannes.tech/12-factor/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[Build Your Own Express.js]]></title><link>https://mannes.tech/build-your-own-express/</link><guid isPermaLink="true">https://mannes.tech/build-your-own-express/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[A Curated List of High-Quality JAMStack Resources]]></title><link>https://mannes.tech/jamstack-resources/</link><guid isPermaLink="true">https://mannes.tech/jamstack-resources/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[Simple Machine Learning: Implementing XCS In JavaScript]]></title><link>https://mannes.tech/xcs-js/</link><guid isPermaLink="true">https://mannes.tech/xcs-js/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[Using Nx with Angular and Nest.js]]></title><link>https://mannes.tech/nx-angular-nest/</link><guid isPermaLink="true">https://mannes.tech/nx-angular-nest/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[Web Rendering Methods Explained (Server-Side, Client-Side, Pre-Rendering, Hydration, ...)]]></title><link>https://mannes.tech/web-rendering-methods/</link><guid isPermaLink="true">https://mannes.tech/web-rendering-methods/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[Michigan-Style vs Pirrsburgh-Style Learning Classifier Systems]]></title><link>https://mannes.tech/michigan-pittsburgh-lcs/</link><guid isPermaLink="true">https://mannes.tech/michigan-pittsburgh-lcs/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[Yet Another Svelte Tailwind Integration (for Elder.js)]]></title><link>https://mannes.tech/elderjs-tailwind/</link><guid isPermaLink="true">https://mannes.tech/elderjs-tailwind/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[How To Encrypt Files With Node.js (draft)]]></title><link>https://mannes.tech/encrypt-files-node/</link><guid isPermaLink="true">https://mannes.tech/encrypt-files-node/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[Principles beat processes - What Is Modern Agile?]]></title><link>https://mannes.tech/modern-agile/</link><guid isPermaLink="true">https://mannes.tech/modern-agile/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[How to run experiments with yourself - and why]]></title><link>https://mannes.tech/personal-experiments/</link><guid isPermaLink="true">https://mannes.tech/personal-experiments/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator></item><item><title><![CDATA[Why Docker Is Worth Adopting for Smaller Projects]]></title><description><![CDATA[Docker is omnipresent in the tech world today. If you are a solo developer or your team is currently using a PaaS like Heroku, you may be wondering what problem Docker solves and if it is worth adopting.]]></description><link>https://mannes.tech/why-docker-is-worth-adopting/</link><guid isPermaLink="true">https://mannes.tech/why-docker-is-worth-adopting/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 24 Mar 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[A Simple Way to Clean up Docker via CLI [2021]]]></title><description><![CDATA[Have you ever had a full hard drive because of Docker? I had. All those old Docker containers, images, and volumes take up so much space. Newer Docker versions have a handy cleanup command for this.]]></description><link>https://mannes.tech/clean-up-docker/</link><guid isPermaLink="true">https://mannes.tech/clean-up-docker/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 27 Mar 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Do You Follow These Best Practices for Docker and Node.js Production Apps? [+ example Dockerfile]]]></title><description><![CDATA[Getting everything right with your Node.js applications in Docker is hard. Features and bugs swallow your precious time, and deadlines are looming over the horizon. Following best practices right now improves your security, decreases deployment times, and saves you headaches later on.]]></description><link>https://mannes.tech/nodejs-docker-best-practices/</link><guid isPermaLink="true">https://mannes.tech/nodejs-docker-best-practices/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 31 Mar 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[5 Rules for Using Shiny New Technologies]]></title><description><![CDATA[Selecting technologies is hard. As a responsible software engineer, you may sometimes wonder: "is it okay to use this technology for this project?".]]></description><link>https://mannes.tech/shiny-objects/</link><guid isPermaLink="true">https://mannes.tech/shiny-objects/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 03 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Verify Your Container Is Healthy: Docker Healthcheck vs Kubernetes Liveness]]></title><description><![CDATA[How do you know your container is running? That it is healthy and can accept traffic? Health checks answer these questions for you.]]></description><link>https://mannes.tech/container-healthiness/</link><guid isPermaLink="true">https://mannes.tech/container-healthiness/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 07 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Avoid Big Design Up Front]]></title><description><![CDATA[Use an iterative approach, hold your client's hand, and step by step, build up trust.]]></description><link>https://mannes.tech/avoid-big-design-up-front/</link><guid isPermaLink="true">https://mannes.tech/avoid-big-design-up-front/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 10 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How This Blog Works: JAMstack]]></title><description><![CDATA[The dev blog. A place where you can shave that goddam yak as much as you want.]]></description><link>https://mannes.tech/this-blog-jamstack/</link><guid isPermaLink="true">https://mannes.tech/this-blog-jamstack/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 14 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Get the Most out of Code Reviews]]></title><description><![CDATA[Reviewing code takes time. Do you use this time to your best advantage? Code reviews provide an outstanding opportunity to learn so many valuable skills…]]></description><link>https://mannes.tech/code-reviews/</link><guid isPermaLink="true">https://mannes.tech/code-reviews/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 17 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[My Top 6 Docker Hosting Providers]]></title><description><![CDATA[You may want it cheap and easy. Or you have complex requirements. For each taste, there exist Docker hosting providers out there.]]></description><link>https://mannes.tech/docker-hosting-providers/</link><guid isPermaLink="true">https://mannes.tech/docker-hosting-providers/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 21 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Why you should contradict your client (and how to do it)]]></title><description><![CDATA[Have you ever been frustrated because of your client? Most of us have. Whether the client wants a feature that doesn't make sense or demands an impossible deadline.]]></description><link>https://mannes.tech/contradict-your-client/</link><guid isPermaLink="true">https://mannes.tech/contradict-your-client/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 24 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[A Letter to Our New Junior Developer]]></title><description><![CDATA[Dear junior. Welcome to your new team! This first year will be overwhelming. You’ll learn so many new things that it will blow your mind every day for the first few weeks.]]></description><link>https://mannes.tech/letter-junior-developer/</link><guid isPermaLink="true">https://mannes.tech/letter-junior-developer/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 28 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[What Every Junior Developer Should Learn About Software Security]]></title><description><![CDATA[Is your code secure? Encryption, hashing, API security, SQL injections, CSRF, XSS, DOS, HSTS, RBAC, .... Oh my. When I started my programming journey, I didn't even know that I should care about software security.]]></description><link>https://mannes.tech/software-security/</link><guid isPermaLink="true">https://mannes.tech/software-security/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 01 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Make Getting Things Done Your Own and Stay Sane]]></title><description><![CDATA[I have a love/hate relationship with Getting Things Done. It has massively increased my productivity. GTD basically means...]]></description><link>https://mannes.tech/getting-things-done/</link><guid isPermaLink="true">https://mannes.tech/getting-things-done/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 05 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[10 Project Ideas for Junior Developers]]></title><description><![CDATA[When I started my software engineering journey, I used my free time to tinker with personal projects. That was one of the best decisions I ever made, in terms of time well spent.]]></description><link>https://mannes.tech/junior-project-ideas/</link><guid isPermaLink="true">https://mannes.tech/junior-project-ideas/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 08 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Why You Should Write, Even If You Don't Publish]]></title><description><![CDATA[How often do you write? And do you even realize it every time? We write more often than we think. Task descriptions, chat messages, job applications, ...]]></description><link>https://mannes.tech/you-should-write/</link><guid isPermaLink="true">https://mannes.tech/you-should-write/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 12 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Why Software Projects Take Longer Than We Think (Pareto Principle)]]></title><description><![CDATA[Software projects take longer than expected. There are many reasons for this. The one I suffer most from is to underestimate amount of work left to do. Where does this come from and how can we avoid this?]]></description><link>https://mannes.tech/pareto-software/</link><guid isPermaLink="true">https://mannes.tech/pareto-software/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 24 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[13 Tips to Be Productive Working From Home as a Junior Developer]]></title><description><![CDATA[Right now most of us work from home. Some people say the current crisis is not comparable to normal work-from-home. And they're right.]]></description><link>https://mannes.tech/working-from-home/</link><guid isPermaLink="true">https://mannes.tech/working-from-home/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 26 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Building a Simple JAMstack Site With Gridsome [2021 Guide]]]></title><description><![CDATA[Gridsome is a modern static site generator based on Vue. It has functionality that allows easy development of fast websites, and loading data from various sources. Learn the basics and build a static site with this guide.]]></description><link>https://mannes.tech/gridsome-jamstack-introduction/</link><guid isPermaLink="true">https://mannes.tech/gridsome-jamstack-introduction/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 29 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[What is The PRPL Pattern?]]></title><description><![CDATA[If you've been reading about JAMstack, you've probably heard about the PRPL pattern. What is it and why does it speed up websites? Let's find out.]]></description><link>https://mannes.tech/prpl-pattern/</link><guid isPermaLink="true">https://mannes.tech/prpl-pattern/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 02 Jun 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Loading Data From Markdown Files With Gridsome [2021 Guide]]]></title><description><![CDATA[In the last part, we started with a basic static site built with Gridsome. Now, we will write Markdown files, load them into Gridsome with a source-plugin, and display them as blog posts using template components.]]></description><link>https://mannes.tech/gridsome-markdown/</link><guid isPermaLink="true">https://mannes.tech/gridsome-markdown/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 05 Jun 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[The 5-Minute Exercise to Boost Your Life - Evening Questions]]></title><description><![CDATA[Do you feel stuck sometimes? You’re not alone. I feel stuck, too. Often. And it sucks to feel like I don’t make any progress. This year, I started a habit that helps me to un-stuck myself.]]></description><link>https://mannes.tech/evening-questions/</link><guid isPermaLink="true">https://mannes.tech/evening-questions/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Mon, 08 Jun 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Style Your Gridsome Blog with Tailwind CSS [2021 Guide]]]></title><description><![CDATA[In the last part, we built a Gridsome blog based on Markdown files. Now let's add some styling with Tailwind CSS!]]></description><link>https://mannes.tech/gridsome-tailwindcss/</link><guid isPermaLink="true">https://mannes.tech/gridsome-tailwindcss/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 12 Jun 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[11 Lessons Evening Questions Taught Me About Productivity]]></title><description><![CDATA[Evening questions can help you. They may not be the holy grail, but they work for me. I want to share with you what I discovered about productivity by answering my own questions every evening.]]></description><link>https://mannes.tech/evening-questions-productivity/</link><guid isPermaLink="true">https://mannes.tech/evening-questions-productivity/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 16 Jun 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Style Your Markdown Posts With Tailwind CSS in Gridsome [2021 Guide]]]></title><description><![CDATA[In the last part, we added styling to our Gridsome blog with TailwindCSS. Now we will style our Markdown blog posts, too!]]></description><link>https://mannes.tech/gridsome-markdown-tailwindcss/</link><guid isPermaLink="true">https://mannes.tech/gridsome-markdown-tailwindcss/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 19 Jun 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[You Should Care About Email Flooding. This Is How to Avoid It.]]></title><description><![CDATA[Imagine this. Someone uses your website form to send thousands of spam emails. And you wake up to your email reputation being ruined and hundreds of “WTF happened” emails.]]></description><link>https://mannes.tech/email-flooding/</link><guid isPermaLink="true">https://mannes.tech/email-flooding/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 23 Jun 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Host Google Fonts Yourself For Performance and Privacy In Your Gridsome Blog]]></title><description><![CDATA[As of May 2020, at least 88 Million Websites use Google Fonts. Apart from the privacy reasons, soon using a CDN other than your own won’t bring you any performance benefits. So let’s host Google Fonts ourselves!]]></description><link>https://mannes.tech/gridsome-google-fonts/</link><guid isPermaLink="true">https://mannes.tech/gridsome-google-fonts/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 26 Jun 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Why Can't I Pull The Scratch Docker Image?]]></title><description><![CDATA[So, you have read of the `scratch` Docker image and tried out a `docker pull scratch`, which failed. What happened? And why?]]></description><link>https://mannes.tech/docker-scratch/</link><guid isPermaLink="true">https://mannes.tech/docker-scratch/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 30 Jun 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Add Styling to Your Code Blocks in Gridsome [With Shiki]]]></title><description><![CDATA[Your code editor has syntax-highlighting. The code in your blog posts should have syntag-highlighting, too.]]></description><link>https://mannes.tech/gridsome-syntax-highlighting/</link><guid isPermaLink="true">https://mannes.tech/gridsome-syntax-highlighting/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 03 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How Morning Pages Give Me Clarity and Focus]]></title><description><![CDATA[I've written morning pages over 100 times this year. They help me to start my day in the right mood, free up my brain's capacity by writing every thought down instead of keeping it in my head, and warm me up for creative work.]]></description><link>https://mannes.tech/morning-pages/</link><guid isPermaLink="true">https://mannes.tech/morning-pages/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 07 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Add Tags to Your Posts In Gridsome [2021 Guide]]]></title><description><![CDATA[The concept we need for categories and tags in Gridsome is taxonomy pages. Every node in Gridsome's GraphQL Schema has a belongsTo field that shows which other nodes are referencing it.]]></description><link>https://mannes.tech/gridsome-tags/</link><guid isPermaLink="true">https://mannes.tech/gridsome-tags/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 10 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tailwind CSS vs Bootstrap: Why Tailwind Is Better For Teams]]></title><description><![CDATA[Gridsome is a modern static site generator based on Vue. It has functionality that allows easy development of fast websites, and loading data from various sources. Learn the basics and build a static site with this guide.]]></description><link>https://mannes.tech/tailwindcss-vs-bootstrap/</link><guid isPermaLink="true">https://mannes.tech/tailwindcss-vs-bootstrap/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 14 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Add ESLint to Gridsome (The Easy Way)]]></title><description><![CDATA[The concept we need for categories and tags in Gridsome is taxonomy pages. Every node in Gridsome's GraphQL Schema has a belongsTo field that shows which other nodes are referencing it.]]></description><link>https://mannes.tech/gridsome-eslint/</link><guid isPermaLink="true">https://mannes.tech/gridsome-eslint/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 17 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[I Stopped Using My Smartphone In The Morning. You Should, Too. Here's Why.]]></title><description><![CDATA[Your morning sets the tone for your day. And the most important thing you can manage during the day is your own attention (not your time).]]></description><link>https://mannes.tech/smartphone-morning/</link><guid isPermaLink="true">https://mannes.tech/smartphone-morning/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 21 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Set Up Drafts And Schedule Posts To Publish With Gridsome]]></title><description><![CDATA[Until now, our simple blog lacks two important features: posts in draft state, and automatic publishing of blog posts in the future. Let’s explore how to implement both in a few minutes!]]></description><link>https://mannes.tech/gridsome-drafts-post-scheduling/</link><guid isPermaLink="true">https://mannes.tech/gridsome-drafts-post-scheduling/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 24 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Find Your Next Blog Post Idea]]></title><description><![CDATA[Sometimes I don’t know what to write. Without a topic to write about, the words don’t flow. That’s where idea generation techniques come into play. After reading this, you will know several techniques to generate fresh ideas for your blog posts.]]></description><link>https://mannes.tech/blog-post-ideas/</link><guid isPermaLink="true">https://mannes.tech/blog-post-ideas/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 28 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Publish Your Gridsome Blog On Netlify]]></title><description><![CDATA[Do you already use Netlify? It’s an awesome service to host static websites on a fast and global CDN. They also offer functions, forms, identity, DNS, automatic HTTPS, and much more.]]></description><link>https://mannes.tech/gridsome-netlify/</link><guid isPermaLink="true">https://mannes.tech/gridsome-netlify/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 31 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Clean Install In CI: How To Freeze Your Lockfile With npm And yarn]]></title><description><![CDATA[Why it is important to fix the dependency version in your CI pipeline. And how to do it.]]></description><link>https://mannes.tech/production-install/</link><guid isPermaLink="true">https://mannes.tech/production-install/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 04 Aug 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How To Add Dark Mode To Your Gridsome Blog With Tailwind CSS V2 [2021 Guide]]]></title><description><![CDATA[UI is finally moving to dark mode. More and more websites allow users to select a dark theme. MacOS, iOS, many apps, and even Windows 10 have dark mode. At the end of this article, you will know how to add dark mode to your Gridsome website with Tailwind CSS V2.]]></description><link>https://mannes.tech/gridsome-tailwind-dark-mode/</link><guid isPermaLink="true">https://mannes.tech/gridsome-tailwind-dark-mode/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 07 Aug 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Timeboxing Works. Use Parkinson's Law to Your Advantage as a Software Engineer.]]></title><description><![CDATA[You’ve probably heard of Parkinson’s Law before. “Work expands so as to fill the time available for its completion.” Learn how to apply it to use your time more effective in work and personal life.]]></description><link>https://mannes.tech/parkinsons-law/</link><guid isPermaLink="true">https://mannes.tech/parkinsons-law/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 11 Aug 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Make Your Gridsome Site SEO-Ready: Meta-Tags, Sitemap, Robots.txt]]></title><description><![CDATA[SEO is crucial. And with site speed being a big factor in SEO, we are set up for a good start with Gridsome. Great technical SEO is the basis for all other SEO techniques.]]></description><link>https://mannes.tech/gridsome-seo/</link><guid isPermaLink="true">https://mannes.tech/gridsome-seo/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 14 Aug 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Universities Don’t Teach Programming, But I Would Study Again. Here’s Why.]]></title><description><![CDATA[It’s 2014 and I’m studying Computer Science at the University of Augsburg. I know this is what I want to do because I’ve already worked in IT for half a year, and I’ve been programming on the side for over a year.]]></description><link>https://mannes.tech/university-software-engineering/</link><guid isPermaLink="true">https://mannes.tech/university-software-engineering/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 18 Aug 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Add Cover Images To Your Gridsome Posts]]></title><description><![CDATA[SEO is crucial. And with site speed being a big factor in SEO, we are set up for a good start with Gridsome. Great technical SEO is the basis for all other SEO techniques.]]></description><link>https://mannes.tech/gridsome-images/</link><guid isPermaLink="true">https://mannes.tech/gridsome-images/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 21 Aug 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How To Add Forestry CMS to Gridsome]]></title><description><![CDATA[Until now, we've managed our content with Git. And Git is great! You have all the files necessary to build your project right there, in your repository. But the editing experience sucks.]]></description><link>https://mannes.tech/gridsome-forestry/</link><guid isPermaLink="true">https://mannes.tech/gridsome-forestry/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 28 Aug 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Create An Article Series Overview Page With Gridsome]]></title><description><![CDATA[You're writing an article series. And you want a place for your readers to see all posts at once. Using the tags system would work, but is not the right fit for this. Here's a simple way to create and automatically update an article series overview page.]]></description><link>https://mannes.tech/gridsome-article-series-overview/</link><guid isPermaLink="true">https://mannes.tech/gridsome-article-series-overview/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 04 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Add Text to Your Tag Pages in Gridsome]]></title><description><![CDATA[We have separate pages for our tags, great! But they are all the same. How can we add text to the tag pages, so we can let our readers know more about them? Here's a simple way.]]></description><link>https://mannes.tech/tag-pages-gridsome/</link><guid isPermaLink="true">https://mannes.tech/tag-pages-gridsome/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 11 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Learn Programming Faster If You Take Courses]]></title><description><![CDATA[You're doing one of the many programming courses and wonder: "How can I accelerate my learning?" Here's the approach I took.]]></description><link>https://mannes.tech/learn-programming-courses/</link><guid isPermaLink="true">https://mannes.tech/learn-programming-courses/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 18 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How Storybook Improves the Way Frontend Teams Work]]></title><description><![CDATA[We started with Storybook one month ago, and I love it. Now, whenever I'm developing components for our React application, I first integrate them into storybook instead of the app itself. Before I explain why, let's first look at what Storybook is.]]></description><link>https://mannes.tech/teams-storybook/</link><guid isPermaLink="true">https://mannes.tech/teams-storybook/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 25 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Decide Between Frontend And Backend Development]]></title><description><![CDATA[You want to learn web development. And you wonder where to start.Frontend development, backend development, or should you dare to try learning both and become fullstack? Here‘s the advice I‘d give my 8 years younger self]]></description><link>https://mannes.tech/frontend-or-backend/</link><guid isPermaLink="true">https://mannes.tech/frontend-or-backend/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 02 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How I Learned Programming – And What I'd Do Differently]]></title><description><![CDATA[I didn't learn programming during my CS degree at University. Yes, we had programming courses. But even though I learned a whole lot about computer science, I didn't get my programming skills (which now pay my bills) from University. Here's how I learned programming, and what I'd do differently in retrospect.]]></description><link>https://mannes.tech/learning-programming/</link><guid isPermaLink="true">https://mannes.tech/learning-programming/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 09 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How To Get Notified On macOS When A Website Changes]]></title><description><![CDATA[As software developers, we have powerful tools we sometimes don‘t think of. A few days ago I was waiting for a press release on local government‘s website. I knew the day, but not the time that the update should come. So I wrote a BASH script.]]></description><link>https://mannes.tech/macos-website-monitoring/</link><guid isPermaLink="true">https://mannes.tech/macos-website-monitoring/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 16 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[5 Content Editing Options For JAMStack Sites]]></title><description><![CDATA[When you have a JAMStack website, you need some way to edit your content. In this article, we‘ll go over the different options you have, so you can find the editor that best suits your content workflow.]]></description><link>https://mannes.tech/jamstack-content-editing/</link><guid isPermaLink="true">https://mannes.tech/jamstack-content-editing/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 23 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[The Symptoms of Information Overload – And How To Prevent It]]></title><description><![CDATA[We're always connected. All the time. As modern humans, there is always something calling for our attention. Although it is enjoyable to “do” something all the time, being this kind of busy leads to stress.]]></description><link>https://mannes.tech/information-overload/</link><guid isPermaLink="true">https://mannes.tech/information-overload/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 30 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Add Storybook to Gridsome [2021 Guide]]]></title><description><![CDATA[Storybook enables component-driven development for frontend teams. This allows you to build high-quality components by thinking about their structure and interface before integrating them into the app. Let's integrate Storybook (6.1.15) with Gridsome (0.7.23) and see how we can use them together.]]></description><link>https://mannes.tech/gridsome-storybook/</link><guid isPermaLink="true">https://mannes.tech/gridsome-storybook/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 06 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Vue Components in Markdown With Vue Remark [Gridsome Guide]]]></title><description><![CDATA[Have you ever wondered how you can get dynamic content inside your blog posts? Stuff like CodePens, image carousels, or quizzes? That's totally possible in Gridsome with markdown posts.]]></description><link>https://mannes.tech/vue-components-markdown/</link><guid isPermaLink="true">https://mannes.tech/vue-components-markdown/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 13 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[7 Software Engineering Articles Every Developer Should Read]]></title><description><![CDATA[There are myriads of articles online about software engineering. You encounter dozens of them every day, and every time you decide to either read that article or not. Like any profession, software developers do a much better job when they get the basics right.]]></description><link>https://mannes.tech/7-must-read-developers/</link><guid isPermaLink="true">https://mannes.tech/7-must-read-developers/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 20 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Contribute to Open Source (It's Easier Than You Think!)]]></title><description><![CDATA[If you're a developer, I'm 100% sure you're using open source projects. Libraries, plugins, your programming language, maybe even your IDE or your OS. Let's take a quick look at why you should contribute to open source (even if it's just a little), and how you can do it (even if you're not a developer).]]></description><link>https://mannes.tech/contribute-open-source/</link><guid isPermaLink="true">https://mannes.tech/contribute-open-source/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 27 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[When You Should Use JAMStack - And When You Shouldn't]]></title><description><![CDATA[JAMStack is getting more and more popular. You've heard about it and are wondering whether you should use it for that next project. The use cases for JAMStack become clearer when we take a short look at what JAMStack is and which benefits it brings.]]></description><link>https://mannes.tech/when-jamstack/</link><guid isPermaLink="true">https://mannes.tech/when-jamstack/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 04 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[12 Debugging Strategies I Use As a Developer]]></title><description><![CDATA[When you‘re developing software, bugs will appear. Some things won‘t work as expected while developing them, and others will stop working after some time. Often, the cause of a software failure is easy to find. But sometimes the hunt for a bug seems to drag on and on and on. The following are 10 of my most often used debugging strategies.]]></description><link>https://mannes.tech/debugging-strategies/</link><guid isPermaLink="true">https://mannes.tech/debugging-strategies/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 11 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Create A Snowfall Animation with Svelte [2 Ways]]]></title><description><![CDATA[When I started the quest to create a snowfall animation with Svelte, I knew nothing about complex transitions or animations. My first step was to go through the motion, transition, and animation tutorials by Svelte. Then I decided on my first approach: custom transitions. ]]></description><link>https://mannes.tech/svelte-snowfall/</link><guid isPermaLink="true">https://mannes.tech/svelte-snowfall/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Wed, 06 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[What Is a REPL? [Read-Eval-Print Loop Explained]]]></title><description><![CDATA[Every programmer has used one. Read-eval-print loops (or REPLs) are a centerpiece of modern software development. What exactly is a REPL, how does it work, and where can I use one? Let's find out.]]></description><link>https://mannes.tech/repl/</link><guid isPermaLink="true">https://mannes.tech/repl/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 08 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Difference between Fault, Error, and Failure explained with JavaScript]]></title><description><![CDATA[You've heard of the terms fault, error, and failure. And as software developers, we use them every day. But what do they mean? One popular definition is...]]></description><link>https://mannes.tech/difference-fault-error-failure-javascript/</link><guid isPermaLink="true">https://mannes.tech/difference-fault-error-failure-javascript/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 17 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[The Two Paretos In Software Development]]></title><description><![CDATA[You know the Pareto principle, right? For many situations, 80% of the consequences come from 20% of the causes. The Pareto principle actually applies to two aspects in software development...]]></description><link>https://mannes.tech/two-paretos-software-development/</link><guid isPermaLink="true">https://mannes.tech/two-paretos-software-development/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 22 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Errors When Using The `{}` Empty Object TypeScript Type]]></title><description><![CDATA[Have you ever used the `{}` type definition in TypeScript? It represents the type "empty object", which is an object with zero own properties. There are few scenarios where returning an empty object is better than returning nothing...]]></description><link>https://mannes.tech/typescript-object-type-errors/</link><guid isPermaLink="true">https://mannes.tech/typescript-object-type-errors/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 29 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Apply YAGNI to More Than Just Software]]></title><description><![CDATA[You aren't gonna need it. That's a programming principle from extreme programming. It states that functionality should not be added until deemed necessary. Let's explore how YAGNI is useful in software development, and as a general productivity tool.]]></description><link>https://mannes.tech/apply-more-yagni/</link><guid isPermaLink="true">https://mannes.tech/apply-more-yagni/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 05 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[You Need Less (Code) Than You Think]]></title><description><![CDATA[The best code is no code at all. Second best is simple, easy-to-read-and-understand code. “A complex system that works is invariably found to have evolved from a simple system that worked...]]></description><link>https://mannes.tech/less-code/</link><guid isPermaLink="true">https://mannes.tech/less-code/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 12 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Terraform for Fullstack Developers]]></title><description><![CDATA[The more complex your infrastructure the more can go wrong. Let's look at Terraform as a way to automate tedious infrastructure setup (and to make it explicit).]]></description><link>https://mannes.tech/terraform-fullstack/</link><guid isPermaLink="true">https://mannes.tech/terraform-fullstack/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 19 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[6 Writing Tips for Developers]]></title><description><![CDATA[As developers, we write a lot. We write documentation, proposals, issues, RFCs, emails, …. You name it. And with more and more companies offering remote work, writing is getting more and more important. Here are 6 tips that help you improve your writing, from blog posts to emails.]]></description><link>https://mannes.tech/writing-tips-developers/</link><guid isPermaLink="true">https://mannes.tech/writing-tips-developers/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 28 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Slow Is Smooth and Smooth Is Fast]]></title><description><![CDATA[The U.S. Navy SEALs have the saying “slow is smooth, and smooth is fast”. I love this quote, as it applies nicely to software projects! It is a reminder to not ignore the fundamentals.]]></description><link>https://mannes.tech/slow-smooth-fast/</link><guid isPermaLink="true">https://mannes.tech/slow-smooth-fast/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 05 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[3 Quick Tips to Convert Types In JavaScript]]></title><description><![CDATA[JavaScript has 6 primitive data types. They are string, number, boolean, null, undefined, and symbol. Here are 3 quick tips for converting data to one specific primitive.]]></description><link>https://mannes.tech/js-type-conversion/</link><guid isPermaLink="true">https://mannes.tech/js-type-conversion/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 14 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[What Are Learning Classifier Systems And How Do They Work?]]></title><description><![CDATA[Machine learning isn't just neural networks. It's also k-means, Principal Component Analysis, Support Vector Machines, Bayes, Decision Trees, Random Forests, Markov Models, …. And there are Learning Classifier Systems (LCSs). LCSs are a system to automatically create and improve `IF … THEN …` rules for a given task.]]></description><link>https://mannes.tech/lcs-intro/</link><guid isPermaLink="true">https://mannes.tech/lcs-intro/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 21 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[3 Ideas How to Use Whiteboards for Software Development]]></title><description><![CDATA[When I'm programming, I'm often making notes or scribble on paper or a whiteboard. It helps me explore and keep track of my options. For small or big architectural decisions (which we're making all the time), it's hard to keep all options …]]></description><link>https://mannes.tech/whiteboard-software-development/</link><guid isPermaLink="true">https://mannes.tech/whiteboard-software-development/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 28 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Include Markdown From Other Markdown Files [Gridsome Guide]]]></title><description><![CDATA[Here's a quick way to include markdown files inside other markdown files with `@gridsome/vue-remark`. If set up properly, it allows to import other markdown files like this]]></description><link>https://mannes.tech/gridsome-markdown-include-markdown/</link><guid isPermaLink="true">https://mannes.tech/gridsome-markdown-include-markdown/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sat, 03 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[A Simple Approach To Fullstack Error Handling]]></title><description><![CDATA[Generic error messages suck. As a user, we encounter them all the time. “An error occurred, please try again later“. Often just to find out the problem wasn't some server outage, but something on our side. A typo in our email - and the server couldn't send that verification email, resulting in a 500 internal server error. Here's a simple but effective way to API error design.]]></description><link>https://mannes.tech/api-errors/</link><guid isPermaLink="true">https://mannes.tech/api-errors/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 11 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to set up PostgreSQL 12 on macOS Big Sur]]></title><description><![CDATA[From starting a clean Mac to developing backends with Postgres with it takes some setup. At the end of this article, you'll have PostgreSQL version 12 set up on your mac, accepting local http connections with password auth.]]></description><link>https://mannes.tech/postgres-big-sur/</link><guid isPermaLink="true">https://mannes.tech/postgres-big-sur/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 18 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[How To Use Folders And Filenames As Paths For Your Webpages With Gridsome]]></title><description><![CDATA[The standard way for URLs in Gridsome is the `slug` parameter. But you can also tie your folder structure to your website structure and use directories and filenames as paths, like other frameworks such as Next.js do. At the end of this article, you'll know how to…]]></description><link>https://mannes.tech/gridsome-folder-structure/</link><guid isPermaLink="true">https://mannes.tech/gridsome-folder-structure/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 25 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[What's the difference between Authentication and Authorization?]]></title><description><![CDATA[Don't use the word "auth". Unless everyone knows what you're referring to. There's authentication and then there's authorization. Let's look at the definitions of both and what to do instead of "auth".]]></description><link>https://mannes.tech/auth/</link><guid isPermaLink="true">https://mannes.tech/auth/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 02 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[How To Set Up Multiple PostgreSQL Versions On macOS With Docker]]></title><description><![CDATA[If you want to get Postgres on macOS working, you can easily use `brew install postgres`. But this way also has its drawbacks. Managing multiple versions or doing major version upgrades becomes a pain. There's an easier way to set up PostgreSQL on Mac and to manage multiple versions: installing Postgres with Docker.]]></description><link>https://mannes.tech/postgres-mac-docker/</link><guid isPermaLink="true">https://mannes.tech/postgres-mac-docker/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 09 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[How To Fix Merge Conflicts in yarn.lock and package-lock.json]]></title><description><![CDATA[Merge conflicts happen. With lock files, this can happen if you have different packages (or package versions) installed than in the branch you want to merge.]]></description><link>https://mannes.tech/merge-lock-file/</link><guid isPermaLink="true">https://mannes.tech/merge-lock-file/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 16 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[As A Developer, Learning Never Stops (And That's A Good Thing)]]></title><description><![CDATA[It feels like we can never learn enough in our field. As software engineers, calling ourselves an “expert” in any area just doesn't feel right. How could we ever know everything about a specific language or framework? Here's why I believe this is a good thing.]]></description><link>https://mannes.tech/learning-never-stops/</link><guid isPermaLink="true">https://mannes.tech/learning-never-stops/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 23 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Kill a Process Using a Specific Port [macOS Big Sur]]]></title><description><![CDATA[A quick way to kill a process that uses a specific port. This is what you need if you get an `EADDRINUSE` error, which says that a process can’t bind to a port because it is already in use by another process. The most likely cause is that a development server hung up or didn’t terminate properly.]]></description><link>https://mannes.tech/kill-process-port/</link><guid isPermaLink="true">https://mannes.tech/kill-process-port/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 30 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[How To Set Up TimescaleDB On macOS Effortlessly [Using Docker] ]]></title><description><![CDATA[Installing TimescaleDB on mac is easy. Simply install Timescale via Homebrew and you're all set up. Except you're not. If you need multiple local Timescale versions or you already have installed Postgres before, you're out of luck. There's an easier way to set up PostgreSQL with Timescale on Mac and to manage multiple versions: by using Docker.]]></description><link>https://mannes.tech/macos-timescale-docker/</link><guid isPermaLink="true">https://mannes.tech/macos-timescale-docker/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 06 Jun 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[My 7 Questions for Weekly Personal Retrospectives]]></title><description><![CDATA[Retrospectives change your life, step by step. I'm doing personal retrospectives every week, and their benefit is immense. For these retrospectives I use 7 questions.]]></description><link>https://mannes.tech/personal-retrospective-questions/</link><guid isPermaLink="true">https://mannes.tech/personal-retrospective-questions/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Mon, 14 Jun 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[5 Productivity Tips for Developers With Side Projects]]></title><description><![CDATA[How can I find time for side projects when I have a job, family, friends, and hobbies? Most devs I know have programming-related side projects. The 5 tips in this article help me to: stay sane while doing things on the side, make progress on each project - every week, and still find time for friends and family.]]></description><link>https://mannes.tech/side-project-productivity/</link><guid isPermaLink="true">https://mannes.tech/side-project-productivity/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 22 Jun 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Writing Code In Small Pieces - Vertical vs Horizontal Development]]></title><description><![CDATA[There are many ways you can write your code. We have best practices and linters, opinionated frameworks and architecture patterns. The very big and very small decisions. Stuff you decide on the team-level. Then there's a middle ground. That's what happens while you implement a larger feature or a smaller service by yourself.]]></description><link>https://mannes.tech/small-pieces/</link><guid isPermaLink="true">https://mannes.tech/small-pieces/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 27 Jun 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Get Freelancing Clients in Germany [As a Software Engineer]]]></title><description><![CDATA[How do you get clients as a freelance software engineer? How does the German market for freelance devs work? I've started working as a freelance software engineer in Germany this year and nearly everyone who has not been a freelancer before asks the same question: “how do you get clients?” From what I've learned by research and by talking to other freelancers, this is my answer. 👇]]></description><link>https://mannes.tech/freelancing-projects-germany/</link><guid isPermaLink="true">https://mannes.tech/freelancing-projects-germany/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 17 Sep 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Have a “Why Conversation” With Your Side-Projects]]></title><description><![CDATA[I did a summer break from this blog to reflect where I want it to go. These are the questions I asked myself to find a new perspective on my blog during my summer-break from it.]]></description><link>https://mannes.tech/side-projects-why/</link><guid isPermaLink="true">https://mannes.tech/side-projects-why/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Tue, 26 Oct 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Mock gRPC Endpoints with GripMock]]></title><description><![CDATA[Many backend services need to integrate with other services via a number of protocols or API conventions. Today, we're looking at how we can simplify microservice development by mocking external gRPC endpoints with GripMock.]]></description><link>https://mannes.tech/gripmock/</link><guid isPermaLink="true">https://mannes.tech/gripmock/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sun, 28 Nov 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Nest.js with MongoDB: TypeORM vs Mongoose]]></title><description><![CDATA[Lately, I had the chance to introduce Nest.js to an existing Nx monorepo. To fit in with the rest of the microservices, I used MongoDB as a database. When using MongoDB with Nest.js, we can decide between TypeORM and Mongoose, both having a great Nest.js integration by their core team.]]></description><link>https://mannes.tech/nestjs-typeorm-vs-mongoose/</link><guid isPermaLink="true">https://mannes.tech/nestjs-typeorm-vs-mongoose/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 07 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[10 Great Questions To Ask To Become Familiar With a Huge Codebase]]></title><description><![CDATA[You've made it. You got through the interview process, and now you’re part of a new team. But as you get access to the repository, you’re overwhelmed. It’s huge. And full of stuff you know nothing about. So. Much. Unfamiliar. Code. Here are 10 smart questions you can ask to become familiar…]]></description><link>https://mannes.tech/10-questions-codebase/</link><guid isPermaLink="true">https://mannes.tech/10-questions-codebase/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 14 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to Choose Technologies as an Early Stage Startup]]></title><description><![CDATA[When choosing a tech stack for your startup (or any project in a new business domain), you need to balance several objectives: reducing time-to-market, reducing development and maintenance time, and having a secure ecosystem. Here's how to choose the right tech.]]></description><link>https://mannes.tech/choose-startup-tech-stack/</link><guid isPermaLink="true">https://mannes.tech/choose-startup-tech-stack/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Sat, 19 Mar 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Should Developers “Measure Twice And Cut Once”?]]></title><description><![CDATA[If you need to cut a piece of wood, measure twice before doing so. If you measure wrong and make the cut, you may need to cut again, or even use a completely new piece of wood. Cutting wood has consequences. Writing code has, too. But most often not very drastic ones!]]></description><link>https://mannes.tech/measure-twice-cut-once/</link><guid isPermaLink="true">https://mannes.tech/measure-twice-cut-once/</guid><dc:creator><![CDATA[Simon Mannes]]></dc:creator><pubDate>Fri, 20 May 2022 00:00:00 GMT</pubDate></item></channel></rss>