Michael Bassili

Michael Bassili

Cloud Engineer, Passionate Writer, Clumsy Speaker

Test Driven Game Development with Godot

Test Driven Game Development with Godot

When coding in Godot, focusing on testing and test-driven development is crucial for maintaining clean and understandable code. This involves modularizing components, writing tests for each scene, and ensuring clear logging for component interactions. Testing scenes individually before integration into larger projects enhances predictability and reduces issues. Comprehensive logging, especially during interactions, aids debugging in non-trivial game development.

Installing Custom Proton Builds

Installing Custom Proton Builds

For avid gamers like me, Proton has been a game-changer in transitioning to Linux from Windows. While some games may not work initially, custom Proton builds on GitHub, such as GloriousEggroll's, offer solutions. This guide simplifies the process of installing these builds for both native and Flatpak Steam, enhancing game compatibility on Linux.

Basic Python Design Patterns

Basic Python Design Patterns

A collection of basic Python design patterns that I've found to be the most useful in my professional life. I hope this reference helps someone with their technical interview, personal project, etc. These patterns can be found in any non-trivial software system (not just in Python), so it pays to be familiar with them.

Simulating Dynamic Website Interactions With GitHub Actions

Simulating Dynamic Website Interactions With GitHub Actions

As a budget-conscious "starving artist," I sought a cost-effective solution for hosting a dynamic website. Embracing Jekyll's static site generation, I leveraged GitHub Pages for free hosting but desired pseudo-dynamism. Employing TravisCI's free plan for open source projects, I implemented daily cron jobs for site rebuilding. Cloudflare secured the site for free, offering additional benefits like analytics.

Evaluating Python Set Creation Performance

Evaluating Python Set Creation Performance

While porting code to Python 3, a PyCharm warning led me to discover that set literals are faster than the set() function due to lower Python overhead. Benchmarking confirmed the performance boost, and the article delves into function call intricacies. Adopting set literals resolved PyCharm warnings during the project.

Smart Shuffling RATM's 'Evil Empire' With Python

Smart Shuffling RATM's 'Evil Empire' With Python

The shuffle feature in my car for CDs is inconvenient as it needs to be re-toggled after each power cycle, often glitches with specific CDs like Evil Empire, and sometimes plays the next track instead of shuffling properly. This frustration contrasts with Spotify's reliable shuffle function, which may be due to the large size of my playlists.