Image for post
Image for post
Image by author

Python has a long history, starting around 1991 with its first release in a newsgroup called . Since then, we all know how omnipresent the language has become. Last year, Python ranked second in Redmonk’s list of the most popular programming languages. And I can tell you… this year won’t be different. Here’s why Python will stay among the top languages in 2021.

Originally published on Python Land. Make sure to check out our Python tutorial.

Why is python so popular?

Python has a very vibrant community, and it’s very well maintained. …


Image for post
Image for post
A brand new WordPress website — Image by author

I’ve recently switched from Grav CMS to WordPress on one of my sites, Python Land. I jotted down some lessons learned and some advanced tips while setting up this WordPress site that I’d like to share with anyone interested.

I’m not new to WordPress, and I’m certainly not new to running websites. I’ve been doing it for 25 years. My first sites used tables to structure the pages, CSS wasn’t invented yet, and SEO didn’t exist either. Yeah… I guess I’m that old (and wise, hopefully).

Anyways... without further ado, here we go!

1. Pick a good WordPress theme

Picking the right theme is hard; don’t underestimate it. There are many good-looking themes, but it’s hard to judge a book by its cover. There are many crappy themes that may look nice on the surface but are horribly coded and inflexible. They are built to sell, not to keep working flawlessly in the long run. …


Lift your Python development to the next level and save yourself time and hassle with CI/CD

Scaffolding on skyscraper
Scaffolding on skyscraper
Photo by Ashkan Forouzani on Unsplash.

When you finish a new version of your Python application, how do you build and deploy it? Do you change the version number, upload the new files to production, and be done with it?

There are better ways! Continuous Integration/Continuous Delivery (CI/CD) is the pinnacle of good software engineering practices. It’s the point where all other good practices come together.

CI/CD bridges the gap between development and operations because it automates and enforces important steps in building and deploying software. It ensures quality and takes human errors out of the loop.

This article will take an existing application and create a CI/CD pipeline for it. You’ll see how you can set up a professional CI/CD pipeline in under 15 minutes! …


#4: Code never lies, comments sometimes do

Image for post
Image for post
Photo by Austin Distel on Unsplash

Some things you don’t learn from books and schools. These lessons come right from the work floor; I learned them the hard way!

1. Cheap, fast, reliable — Pick two

I love this one because it makes the ones hearing it (your manager) think for themselves:

  • You want it to be reliable and fast? It can be done, but you’ll need to pay the best developers.
  • Cheap and fast? Sure, but don’t expect it to be reliable! In fact, this is the recipe for creating technical debt.
  • Reliable and cheap? Maybe, if you’re lucky. But it will take some time to find someone who can do it for cheap, or it will require a lot of iterations to get it right (or both). …


From forcing keyword arguments to anonymous functions

Time lapse of a road by the forest
Time lapse of a road by the forest
Photo by Jake Leonard on Unsplash.

Do you know how to force keyword arguments, create a function decorator, create anonymous functions, or unpack an array or dictionary into a function's arguments? Here are four advanced tricks regarding Python functions.

For more cool Python tricks, visit the author's website: Python.land

1. Forced Keyword Arguments

Keyword arguments have a number of advantages:

  • You’re not forced into a particular order in which you supply your arguments. The name matters — not the position.
  • Keyword arguments provide clarity. Without looking up the function itself, you can often guess what the argument is used for by looking at the names.

That’s nice, but you probably already knew these things. What you might not know is that you can also force keyword arguments. The details are described in PEP 3202, but it comes down to using an asterisk before the arguments you want to force as keyword arguments. Or, before everything, forcing all arguments to be keyword…


Everything you ever need to know about Python dictionaries

Old books
Old books
Photo by Syd Wachs on Unsplash.

The dictionary is one of Python’s most powerful data types. In other programming languages and computer science in general, dictionaries are also known as associative arrays. They allow you to associate keys to values.

Creating a Dictionary

Let’s look at how we can create and use a dictionary in the Python REPL:

>>> phone_nrs = { 'Jack': '070-02222748', 'Pete': '010-2488634' }
>>> an_empty_dict = { }
>>> phone_nrs['Jack']
'070-02222748'

The first dictionary associates keys (names like Jack and Pete) with values (their phone numbers). The second dictionary is an empty one.

Now that you’ve seen how to initialize a dictionary, let’s see how we can add and remove entries to an already existing…


Senior developers might learn a thing or two as well

Image for post
Image for post
Photo by Frame Harirak on Unsplash

This advice is useful for both beginning and seasoned software developers. There are some jokes intertwined here, too, so you might want to put down that coffee mug.

1. Java is to Javascript like car is to carpet

Hopefully, you know that Java and Javascript are two entirely different things, despite their names. If you didn’t, don’t sweat it; many beginners get confused by it.

So why are they named so similarly?

This is a quote from an interview with JavaScript creator Brendan Eich:

InfoWorld: As I understand it, JavaScript started out as Mocha, then became LiveScript and then became JavaScript when Netscape and Sun got together. …


Even though I’m a Linux junkie, I’m now also a full-time Windows desktop user

Image for post
Image for post
Windows running Ubuntu Linux, with VSCode connected too it (image by author)

Although I’ve been a big fan of Apple’s Macbook Air and Macbook Pro, I’ve recently made the switch to a Dell XPS laptop with Windows on it.

I initially planned on wiping the Dell hard drive to install Linux on it, but since the beast has a 2 TB SSD disk, I changed my mind and decided to create a dual boot setup and keep Windows.

Read on to see how I came to embrace Windows, after years of Linux and MacOS use!

Originally published on Python Land: Run Linux On Windows With WSL.

The new Microsoft?

Now that I had Windows at my disposal again, I started experimenting with it. Although there have been cosmetic changes and improvements, there’s also a lot of stuff from the old days that seems pretty much unchanged. For example, there’s still that dreadful registry. Most shortcuts are unchanged, the look and feel are mostly the same, and the hardware support is still excellent. …


Say goodbye to those hard-to-build software projects by containerizing them

Image for post
Image for post
Photo by Lucas van Oort on Unsplash

More often than not, software projects are difficult to build from source. This can have multiple reasons, here are just a few:

  • The project requires lots of dependencies.
  • The project requires outdated libraries. Once you install those, other projects might break in turn.
  • You’re running Windows or a Mac, but the software is designed to build and run on Linux.

For similar reasons, it can also be hard to run your software in production!

If you’re facing these problems, it’s good to know that there’s an easy fix. It doesn’t require virtualization but instead uses a principle called containerization.

What is a container?

A container is an entity that has everything required to run your software. It…


It’s an unstoppable train coming towards us, and you’d better hop on early

Image for post
Image for post
Photo by Ankush Minda on Unsplash.

Last week, Michael Long wrote an article explaining in detail why Flutter won’t be the “next big thing.” It evoked some passionate reactions from readers, most of them disagreeing with what he wrote. Because I strongly disagree as well, I wrote this article to explain exactly why Flutter will, in fact, be the next big thing!

What Is Flutter?

Flutter is a cross-platform toolkit for developing GUI applications developed by Google. A Flutter app natively compiles to:

  • iOS and Android
  • Windows, Linux, and macOS
  • The web

Many developers have already discovered Flutter and consider it to be a fresh breeze compared to traditional app development frameworks. …

About

Erik van Baaren

Software developer by day, writer at night. Webmaster at https://python.land

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store