Posts

How to Extend the Window Object in TypeScript

In many cases when you’re working with TypeScript, there are type definitions available for almost every package out there. However, in some circumstances, you might find yourself working with a third party that adds a property to the window object. Think a script tag like how Google Analytics works by adding in the ga property to the window. It doesn’t matter if you are using Angular, React, Vue, Svelte, Aurelia, or any other framework or library, this approach works for all TypeScript projects.

Build Aurelia 2 Plugins and Bundling With Only TypeScript

The Aurelia 2 makes command ships with the option to scaffold applications and plugins. However, the plugin scaffold uses Webpack and a bunch of dependencies for building plugins. There are reasons that the plugin skeleton uses Webpack. Firstly, HTML imports need to be inlined in bundled code or you’ll encounter issues with HTML files not being supported by Aurelia conventions when you consume them in your plugins. The same thing applies to CSS styles, you’ll want to inline those as strings too.

Moving All My Aurelia Plugins Into a Monorepo

Over the last few years, I have created a few plugins for Aurelia, mostly for Aurelia 1. However, with Aurelia 2 on the horizon (possibly released if you’re reading this in the future), I have decided to clean house and adopt a new strategy. My approach has always been to put my plugins into separate repositories. In my mind, separating issues/pull requests and code made it easier. In reality, having a lot of repositories is a maintenance nightmare.

The Weird Saga of the Optus Cybersecurity Breach

In case you weren’t aware, recently one of Australia’s large telecommunication companies Optus suffered one of the largest cybersecurity breaches to date. While the extent of the data breach has yet to be revealed, Optus has 9.7 million subscribers and the data taken allegedly could go back to 2017 and involves former customers. Allegedly, the data could contain data on over 11 million current and former Optus customers. In any other part of the world, this would have resulted in very large fines. In Australia, no such legislation exists to hold any company accountable for a breach like this.

Programming on a Curved Monitor

A few years ago, I ditched the concept of a dual monitor setup as 30"+ displays started to come down in price, and getting a single large monitor instead of multiple smaller ones made more sense. After using my trusty Samsung SJ55W 34" widescreen for a while, I recently tired of the widescreen monitor. It’s not that it didn’t meet my needs; it’s the fact that I program and do stream and screen recording.

I tried TailwindCSS for the first time

After avoiding Tailwind for such a long time, I finally decided to sit down and see what the hype was all about and use it with Aurelia 2. There are some pros and cons, some complications but it was a surprisingly positive experience.

Aurelia 2 vs Svelte — The battle of two front-end underdogs

In this video, I compare some basics like reactivity, component creation and events in Aurelia 2 and Svelte. You’ll notice some similarities between the two but a few differences in the approach to bindables and component creation.

It’s 2022. We’ve Suffered Enough: Developers Use Whatever You Want

I am an avid reader of Medium, and it’s no secret that the quality of Medium articles has gone downhill over the last couple of years. Clickbait articles are intentionally titled and written to garner a response but lack substance. Amongst the shining gems, is a pile of faeces. One recently caught my eye. An article titled. It’s 2022, Please Don’t Just Use “console.log” Anymore. You are probably already rolling your eyes at the title without even reading the article.

A review of the Elgato Facecam

Before the pandemic, webcams were not really on the mind of most. Many used the inbuilt camera on their laptops or phones for any video-related calls. But, as we were all asked to stay home and virtual meetings became the norm, the pandemic was very kind to the webcam industry. For streamers and content creators, webcams aren’t an afterthought. While the top-tier professionals use expensive DSLR cameras and links, many use a good old-fashioned webcam.

Building with Aurelia 2: Episode #1 — Search autocomplete with term highlighting

Because I love punishing myself and loading my plate with more things, I have embarked on a new Aurelia 2 series called Building with Aurelia 2. During this series, viewers will see how easy and fun it is to build Aurelia 2 user interfaces and applications. Since developers have many choices when it comes to frameworks and libraries, I figured a series where developers are shown with real examples of how easy it is to build with Aurelia 2 would be better than more blog posts telling you how great it is.