Python Logo on a stylized background

Python Style Guides

In my pursuit to update my open-source Python Twitter bot, the retweet-bot, I decided to implement style recommendations followed by other open-source projects. This led me to use Pylint and follow the official PEP guidelines in the project. However, I was not prepared for the level of difficulty and pain that followed while implementing style guidelines. While my codebase now follows a consistent style found throughout the open-source Python world, it presented numerous pain points. Through this article, I aim to provide an overview of the pros and cons of Python style guidelines, and to enlighten readers to view these guidelines as flexible, especially for older codebases.

As developers, we have a responsibility to ensure that our code is of high quality and meets certain standards. This is the primary focus of Python style guidelines, and we will explore the pros and cons of both Pylint and PEP8 in this article. I will share my perspective as a relatively novice Python developer.

Continue reading →
Microcosm Twitter Bot Header Image

Microcosm Twitter Bot

I set a goal for #30DayDev January to create a Twitter bot, there weren’t many requirements beyond that it had to retweet people using the hashtag. I can say that after the first week of January I have achieved that goal and released DevMicrocosm into the wild. It followed my rough plan for the project, using Python and Tweepy. This combination of language and library reaffirmed my expectation that it would be quick to develop and deploy.

Due to the Python being able to test commands directly in the terminal, it led to some fantastic opportunities to rapidly prototype some ideas, one of these was to use fully fledged configurations for multiple hashtags. This means that there is no need to redeploy the application every time you want to update what hashtags are being retweeted, you can simply change the config file and the next time the python file is run it’ll use the updated settings.

Continue reading →

Header image for the Microcosm Framework

The Microcosm Framework

Over the course of my past few game development projects, I’ve had to write a lot of code multiple times and every time I’ve been slightly more inconvenienced by it. This ends up wasting valuable time that could be spent doing fun stuff. So I decided enough was enough and I’d create a reusable framework for use with all of my future projects. The premise was simple, I’d outline a set of basic requirements that every project I work on will have and then create a unity package I can import at the start of development to avoid having to try bodge implementations from other projects into a new one.

The initial requirements were simple; a menu system, basic AdMob integration, generic object pooling and simple game management systems to track state/play sounds/etc. These were picked as the requirements because they were the things that I had found the most tedious to set up fresh in every project. However, as I began implementing these features it dawned on me that this limited scope would definitely need to be expanded, what if I wanted Analytics in my games? I would need to first update the framework and then update the package in all subsequent projects it was used in. With the thought of a tedious upgrade process in mind, I went back to the drawing board for my requirements. The final scope was far bigger but added far more value to my future projects, these components and why I chose them are explained in detail below.

Continue reading →

Visual Studio Code Header

5 Must Have Visual Studio Code Extensions

This article looks at improving the effectiveness which developers can write code in Visual Studio Code through the use of extensions. Having an effective development environment makes writing great software both faster and easier. Visual Studio Code is a relatively new open-source IDE primarily developed by Microsoft. VS Code is targeted mainly at developing languages that traditionally haven’t been easy to develop in Visual Studio with such as JavaScript, Python, etc. It has full debugger and breakpoint support for languages that otherwise usually don’t have an easy to use debugger such as JavaScript.

1. Instant Markdown

Instant markdown example

As developers working effectively with markdown files typically used within version control systems such as Git for things such as changelogs or readmes, is very important. This extension makes working with markdown from within VS Code a lot simpler. It also allows viewing as the file is being edited which proves to be an invaluable feature for documentation writing and more. Download and installation instructions found on the visual studio marketplace.

Continue reading →