Baldur’s Gate 3 on Ubuntu Linux

It’s difficult to be a gamer or a D&D fan these days and not be inundated with news and information about how great Baldur’s Gate 3 is. Happily I have a great group of gamer friends always up for trying new games. My husband was a big fan of the Divinity games so we’re giving BG3 a go. Since I use a Ubuntu PC there’s always a bit of stress and tinkering required for games, although thanks to Valve’s incredible work on their Proton compatibility layer, it’s now rare to encounter a game I want to play but can’t get working through Steam. Baldur’s Gate however is $80 CAD so I definitely had to make sure I could get it working before the refund period passes (less than 2 weeks or 2 hours of gameplay). I did end up having to pour through the info for BG3 on ProtonDB to get it working.

Continue reading “Baldur’s Gate 3 on Ubuntu Linux”

Backyard Ninja Warrior Course – DIY Project

This summer we tackled the largest DIY project that I’ve ever done in my life. My husband and I and our 3 sons are big fans of the American Ninja Warrior tv show, and last winter I installed gym rings in the rafters of our basement so the kids could swing through the laundry room and get some mid-winter exercise. This was such a hit that more rings and a pullup bar followed shortly after. With our kids starting to outgrow our modest (and rotting) backyard wood jungle gym, along with a trampoline starting to rust… it was time for a new backyard play structure of some kind. Something that could grow with the kids and still be used when they’re teens. So the plan was hatched to build our own ninja warrior structure. This became a massive, expensive and months-long project with (if I do say so myself) stunning results!

Continue reading “Backyard Ninja Warrior Course – DIY Project”

Convert Symfony Auth Scaffolding Login to use Form Builder

If you follow various tutorials (like this one) to set up some basic user authentication steps like a login form, logout route, user registration form… you’ll use commands like php bin/console make:registration and php bin/console make:registration which will generate login and registration forms for you. When I did this in Symfony 6, I ended up with a registration form created with Symfony’s Form Builder method and a login form created with a typical html form in the twig templates. Later when adding the symfonycasts/reset-password-bundle flow to add a ‘forgot my password’ step, this created another form using Form Builder. Eventually I ended up with all of my auth steps using Form Builder except the login form. Inconsistency- yuck!

I’m using Symfony 6.2 as of this writing.

Here’s how to switch the login form so it works like the rest.

Continue reading “Convert Symfony Auth Scaffolding Login to use Form Builder”

Disable Doctrine Migrations Check in Symfony

I wanted to set up my own Symfony Skeleton project and get all my favourite packages and configuration set up. One need I have is to have Doctrine and Doctrine Migrations packages installed but I don’t want them to be used (yet). The problem is that I was finding a lot of errors in my logs like this:

app.ERROR: error while trying to collect executed migrations {...} (File: /vendor/doctrine/doctrine-migrations-bundle/Collector/MigrationsCollector.php | Line: 41)

doctrine.INFO: Connecting with parameters array{...} (File: /vendor/doctrine/dbal/src/Logging/Driver.php | Line: 31)
Continue reading “Disable Doctrine Migrations Check in Symfony”

RPG In A Box – A Game Dev Tool For Everyone

One recent evening, my husband grabbed my attention, to show me a newly free title on Epic Games, called RPG In A Box. On a brief read of the description I figured it sounds interesting, so he added it to his library so we can try it for free later.

Fast forward about a week, and my oldest son -10 years old- starts excitedly telling me about a game that he’s making. With a shop, and different weapons based on which class you are going to be, that he’s building inside of… Minecraft. Now, this is not very unusual. He’s had a strong interest in making games for a couple years now. From printouts and leftover minis turned into board games – my favourites being “Don’t Wake Mom!” and “AmongUs Ants: Board Game Edition”. To game authoring tools aimed at children like level editors in games like Mario Brothers and Battle Block Theatre, to more recently Game Builder Garage which we own on the Switch. He’s constantly building things in these tools. He even play tests and tweaks them repeatedly to get the balance just right.

Continue reading “RPG In A Box – A Game Dev Tool For Everyone”

RunCloud, PHP 8, And WordPress Update Errors

If you are provisioning servers using Runcloud.io, you may encounter an error with WordPress updates of core or plugins due to the following error:

Fatal error: Uncaught Error: Call to undefined function set_time_limit()

This error occurs in the WordPress file wp-admin/includes/class-core-upgrader.php and for me it only occurred when the web app was set to use PHP 8.0, yet worked fine on PHP 7.4.

Continue reading “RunCloud, PHP 8, And WordPress Update Errors”

Keeping Symfony Projects Up To Date

Keeping any project which uses a framework or a collection of 3rd party libraries up to date is an exercise in continuous upgrades. In my situation, I have dozens of projects on a variety of internal and 3rd party frameworks, so keeping everything updated – from the PHP version to the framework and library versions – is an important and time consuming process. Here are some strategies and techniques.

Continue reading “Keeping Symfony Projects Up To Date”

Custom Error Pages in Symfony Framework

As I make my way through some tutorials on SymfonyCasts and begin a re-write of my SyntaxSeed website from CodeIgniter to Symfony… I occasionally encounter something that took a bit more struggle than a simple web search. This is one of those tasks.

Symfony gives you some generic built in error pages, for example when you get a 404 missing resource error or a 500 error. When working in your dev environment you don’t see these, you instead get the nice Whoops error pages with extra details. Customizing the error pages requires a few steps.

Continue reading “Custom Error Pages in Symfony Framework”