Deprecated: Grav\Plugin\FormPlugin::onTwigVariables(): Implicitly marking parameter $event as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/form/form.php on line 416

Deprecated: Grav\Plugin\FormPlugin::form(): Implicitly marking parameter $page as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/form/form.php on line 1179

Deprecated: Grav\Plugin\FormPlugin::createForm(): Implicitly marking parameter $name as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/form/form.php on line 1231

Deprecated: Grav\Plugin\FormPlugin::createForm(): Implicitly marking parameter $form as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/form/form.php on line 1231

Deprecated: Grav\Plugin\Login\Login::checkLoginRateLimit(): Implicitly marking parameter $ip as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 314

Deprecated: Grav\Plugin\Login\Login::resetLoginRateLimit(): Implicitly marking parameter $ip as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 333

Deprecated: Grav\Plugin\Login\Login::getIpKey(): Implicitly marking parameter $ip as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 344

Deprecated: Grav\Plugin\Login\Login::sendInviteEmail(): Implicitly marking parameter $message as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 523

Deprecated: Grav\Plugin\Login\Login::sendInviteEmail(): Implicitly marking parameter $user as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 523

Deprecated: Grav\Plugin\Login\Login::getPage(): Implicitly marking parameter $route as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 626

Deprecated: Grav\Plugin\Login\Login::getPage(): Implicitly marking parameter $page as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 626

Deprecated: Grav\Plugin\Login\Login::addPage(): Implicitly marking parameter $route as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 666

Deprecated: Grav\Plugin\Login\Login::addPage(): Implicitly marking parameter $page as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 666

Deprecated: Grav\Plugin\Login\Login::getRoute(): Implicitly marking parameter $enabled as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 688

Deprecated: Grav\Plugin\Login\Login::isUserAuthorizedForPage(): Implicitly marking parameter $config as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Login.php on line 735

Deprecated: Grav\Plugin\Email\Email::message(): Implicitly marking parameter $subject as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/email/classes/Email.php on line 72

Deprecated: Grav\Plugin\Email\Email::message(): Implicitly marking parameter $body as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/email/classes/Email.php on line 72

Deprecated: Grav\Plugin\Email\Email::message(): Implicitly marking parameter $contentType as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/email/classes/Email.php on line 72

Deprecated: Grav\Plugin\Email\Email::message(): Implicitly marking parameter $charset as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/email/classes/Email.php on line 72

Deprecated: Grav\Plugin\Email\Email::send(): Implicitly marking parameter $envelope as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/email/classes/Email.php on line 92

Deprecated: Grav\Plugin\Form\Form::getFileUploadError(): Implicitly marking parameter $language as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/form/classes/Form.php on line 751

Deprecated: Grav\Plugin\Form\Form::removeFlashUpload(): Implicitly marking parameter $field as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/form/classes/Form.php on line 1259

Deprecated: Mf2\Parser::parse(): Implicitly marking parameter $context as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/webmention/classes/Parser.php on line 1100

Deprecated: Grav\Plugin\Form\TwigExtension::includeFormField(): Implicitly marking parameter $default as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/form/classes/TwigExtension.php on line 146

Deprecated: Grav\Plugin\Login\Events\PageAuthorizeEvent::__construct(): Implicitly marking parameter $config as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/login/classes/Events/PageAuthorizeEvent.php on line 40

Deprecated: Grav\Plugin\Form\Forms::createPageForm(): Implicitly marking parameter $name as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/form/classes/Forms.php on line 65

Deprecated: Grav\Plugin\Form\Forms::createPageForm(): Implicitly marking parameter $form as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/user/plugins/form/classes/Forms.php on line 65
Blog | Matthew Miner's Blog

Matthew Miner's Basic-ish BlogMatthew Miner's Blog

Sometimes I might say something

Running Old Games That Use Unsupported DirectDraw Actions

TECH TROUBLESHOOTING GAMING
Deprecated: Parsedown::blockSetextHeader(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/vendor/erusev/parsedown/Parsedown.php on line 715

Deprecated: Parsedown::blockTable(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /home/public/blog/grav-admin/vendor/erusev/parsedown/Parsedown.php on line 853

My wife is huge fan of the Nancy Drew games, so since we've been playing through them, which has been quite fun for both of us. However, some of them are rather old at this point, which occasionally causes some problems. I recently bought Nancy Drew: Secret of the Old Clock on Steam. We played it for a few hours Friday night, then went to play it again yesterday, only to be greeted by the following error:

InitDirectDraw(), SetDisplayMode() - DDERR_UNSUPPORTED - Action not supported.

So it says "DirectDraw" in there. That's an old graphic API in Microsoft's DirectX...

Continue Reading…

If you're anything like me, you've spent the last week or two getting spam notifications on Google Drive almost every day. These typically say something about how hot local singles just want you so bad and come with porn images to try to lure men with zero willpower into clicking some link that I'm sure eventually leads to you letting some person on the other side of the world do horrible, malicious things to your computer.

You know Google doesn't care about you at all and there's no chance yo...

Continue Reading…

In Android 8, Google added adaptive icons, essentially making all apps use the same shape for their icons. This is widely adopted now and you can often customize the shape. However, if you do not like the concept of adaptive icons and prefer the legacy icons where apps are free to use their own shapes, you are in much worse luck nowadays where seemingly everything only cares about adaptive icons. Most launchers don't even have an option to use non-adaptive icons. Many instead have options to for...

Continue Reading…

Part of the radical UI changes that accompanied recent Firefox updates was removing of Windows 10 accent color from the tab and menu bar.

Personally, I was very keen on restoring the rectangular tabs that attach and actually look like tabs. Thankfully, I found a wonderful GitHub project and a helpful reddit comment that combined accomplished that.

However, this still me with this ugly black-on-white-on-gray mess:

Firefox 92 with gray tab toolbar

If you like contrast and being able to distinguish elements or would ev...

Continue Reading…

How to Undo Firefox's "Close Tab Options" Changes?

TECH FIREFOX
Left: The new tab context menu in Firefox 78
Middle: The new tab context menu after adding extensions
Right: The new tab context menu after all changes (Also how the old menu looked)

When you right-click a tab, Firefox historically has had two options in the context menu that let you close multiple tabs at once: "Close Tabs to the Right" and "Close Other Tabs". These are self-explanatory and very useful buttons for people who do a lot of browsing and utilize both windows and tabs. However, in Firefox 78, Mozilla has moved these items into a submenu, largely eliminating their time-saving ability.

The Firefox 78 tab context menu showing the Close Multiple Tabs menu

This was justified by worries that people were closing too many tabs acci...

Continue Reading…

How to Scope CSS by Moving an Element to the Shadow DOM

PROGRAMMING WEB DEVELOPMENT HTML CSS JAVASCRIPT SHADOW DOM TECH
Bakura demonstrating how to banish things to the shadow DOM in Yu-Gi-Oh!

(tl;dr: Jump to the actual moving)

Scope is an important concept in programming. It allows you to just write small sections of code to do what you need them to do without having to worry about something else in your code using the same name and messing everything up. Declarations (such as of variables or functions) will only be visible to code also in the same scope, usually some block of code.

MDN has a good example of the effects of scope in Javascript:

let x = 1;
if (x === 1) {...

Continue Reading…