Posts

A List of WordPress Gutenberg Core Blocks

Believe it or not, finding this information in the official WordPress documentation was a nightmare. I had to go through the WordPress codebase itself to find these values. In a site I am working on, I wanted only to enable specific WordPress Gutenberg blocks. By default, my client will never use a lot of junk, like buttons and page separators that I wanted to disable. I am using the allowed_block_types hook to create an inclusion list where I specify what blocks I want to enable. You can also add your custom blocks to this list.

How to Copy Files Using the Copy Webpack Plugin (without copying the entire folder structure)

Despite the fact that I’ve been doing this whole front-end development thing for over a decade now, I still get caught up on silly things. Mostly build-related things trip me up. In a project using Webpack for the bundler, I needed to copy a folder from a node_modules directory and include the files in my bundle (don’t ask). The first thing I did was this: new CopyWebpackPlugin({ patterns: [ { from: 'node\_modules/@ia/qce/dist', to: 'content/qce' }, ]}), Now, the problem here is that the copy-webpack-plugin will copy the entire path to the file. So, inside of my content/qce directory I had node_modules/@ia/qce/dist folders (the entire path). It will recreate the entire folder structure from the from value instead of just taking the contents (like we want).

What happened to Deno?

The ever-changing landscape of web development can be both cruel and kind. In May 2009, Ryan Dahl introduced Node.js to the world, and it didn’t take long before developers flocked to it like ants on a large pile of sugar. Ryan left the Node project in 2012. Node continued to increase in popularity and, front-end tooling started to build on Node.js, further propelling the popularity even further. To this day, most front-end tooling is built on Node, and Npm underpins the package ecosystem for both browser-based packages and Node.js packages.

Working With the Children Decorator in Aurelia 2

In Aurelia 1, we had the children decorator which allows you to query HTML elements inside of a component and then access them. In Aurelia 2, we have a children decorator, but it works differently. We are going to assume for this article that we have a bunch of custom elements being rendered called product-block which represent detail blocks for products in our custom element view In Aurelia 1 @children('product-block') productBlocks; Simple and effective.

How to Add Typings to the Global TypeScript Window Object

Does this error look familiar? Property ‘AddressFinder’ does not exist on type ‘Window & typeof globalThis’.ts(2339) There will come a time in TypeScript when you are not dealing with package-managed dependencies from Npm. These will come in the form of scripts added into the head or footer of your application. Furthermore, these global scripts might not have typings. You will also run into this error for numerous jQuery plugins and other libraries which work on the premise of modifying the global Window object.

Xiaomi Roborock S5 Max Review

In our household, we resisted buying a robot vacuum cleaner because, for such a long time, we held the belief that they didn’t do as good a job as a traditional vacuum and were more of a gimmick than a helping hand. Despite being the most technology literate person in my family, other family members (including my mother in law) purchased robot vacuums before we did. We kept resisting the need to buy something that we were sure would end up in a closet after a couple of weeks.

One of the best and most affordable streaming microphones

There are many microphones to choose from, and you will read conflicting opinions and reviews on all of them. Let me save you some time if you’re starting in streaming or YouTube and don’t have a $300-$500 budget to drop on a microphone you might not use in six months if you give up. Some opt for the Shure SM7B, but I believe this isn’t meant for streaming and is a waste of money.

A review of the Elgato Key Light Air

If you want to get into streaming, make yourself look better on Zoom or Microsoft Team calls or perhaps add some better lighting to your office, you need good lighting. I am no lighting or videography expert but ask any photographer/videographer how important lighting is, and you will get your answer: light is everything. I have been using lights for a while now, and before I purchased the Elgato Key Light Air, I was using these affordable Absestudio Softbox lights from Amazon. If you are on a budget, softbox lights like these can make a world of difference.

Recording Reaction & Tutorial Videos With Streamlabs OBS

There are numerous software applications you can use for reaction & tutorial videos and even streaming. Today, we will learn how you can record videos (and efficiently stream) using Streamlabs OBS. Streamlabs OBS is synonymous with streaming live video, but many forget that it is a very capable application that can record video. A lot of these tips will extend to better recordings and streams with Streamlabs OBS, not just specifically for recording videos.

Fixing a slow WordPress installation with thousands of hierarchical taxonomy values

Recently while working on a large-scale WordPress site, I encountered a tricky situation. I had quite a lot of locality data for Australian states, suburbs and LGA’s (Local Government Areas). We are talking about tens of thousands of items in the database. At first, I made all of these custom taxonomies hierarchical. Part of the reasoning was that users could visually select values from the meta boxes (hierarchical taxonomies look better). Initially, it wasn’t a problem, but as more data was added, saving posts took forever, I was getting timeouts, and queries were slow.