On April 17, 2025 at 18:11

Introducing Lazy Load Blocks for WordPress!

Speed up your site and boost UX by lazy loading any block — videos, embeds, forms, and more without breaking SEO.

πŸ’‘ Easy setup
πŸ€– SEO-friendly
🎯 Lightweight and effective

Watch the walkthrough: πŸ”½

On April 17, 2025 at 13:48

Why is naming things hard? 🏷️ OpenAI is such a young company but their user-facing product names look like this already.

On April 16, 2025 at 16:22

Native <video> in HTML is extremely good these days. Videos encoded with H264/AAC are universally playable and with HTTP chunk support you can serve the same video to all users.

However, browsers seem to request videos with preload=auto/metadata as soon as the page loads which is unnecessary. So I built this lazy-load solution that hides the src attribute (prevents loading) until an Intersection Observer callback.

On April 15, 2025 at 13:48

Responded to @kasparsd:

Optional Chaining & Nullish Coalescing πŸ“œ ES2020

const what = user?.profile?.name ?? 'N/A';

Reads the value of name without undefined crashes, and returns 'N/A` if not present.

On April 15, 2025 at 13:48

Responded to @kasparsd:

Object.entries() πŸ“œ ES2017

const obj = { a: 1, b: 2 };
Object.entries(obj);

returns [ ['a', 1], ['b', 2] ] which is useful for mapping.

On April 15, 2025 at 13:48

Responded to @kasparsd:

Object Spread for Merge πŸ“œ ES2018

const a = { x: 1 };
const b = { y: 2 };
const c = { …a, …b };

Merges like magic (shallow copy).

On April 15, 2025 at 13:48

Responded to @kasparsd:

Computed Property Names πŸ“œ ES6 (2015)

const key = 'foo';
const obj = { [key]: 123 };

Turns variable value into a property key. Syntax sugar for obj[key] = 123.

On April 15, 2025 at 13:48

Responded to @kasparsd:

Nested Destructuring πŸ“œ ES6 (2015)

const user = { profile: { name: 'Ada' } };
const { profile: { name } } = user;

Same as name = user.profile.name;

And you can rename the variable name to userName:

const { profile: { name: userName } } = user;

On April 15, 2025 at 13:48

Responded to @kasparsd:

Destructuring with defaults πŸ“œ ES6 (2015)

const { foo = 'default' } = {};

Sets the default value of foo to 'default' if the value isn't defined.

On April 15, 2025 at 13:48

JavaScript object tricks that look weird but work wonders (and when they were added to the language.

If you've ever seen { [key]: value } and thought β€œwhat the heck?” — this thread is for you.πŸ‘‡

On April 14, 2025 at 19:39

Was chatting with an AI about Zero-Knowledge (ZK) proofs and how they relate to backtraces and public-key crypto (concepts I know):

> Imagine a PHP backtrace, turned into a spreadsheet, hashed into a Merkle root, and then proved using fancy math that it obeyed all your function contracts without ever showing you the contents. 🀯

On April 14, 2025 at 13:48

Built the ultimate login/logout block that works with the WP core navigation block. Use it to:

– Display only the logout link for logged-in users.
– Display only the login link for anonymous users.
– Specify a custom page (any post type) as the login destination.

On April 9, 2025 at 13:48

Do we really need to wait for the block bits (a shortcode replacement) to enable dynamic content inside inline elements? Currently there isn't a way to display the post title as a paragraph tag in a query loop block, for example.

On April 7, 2025 at 13:48

Responded to @kasparsd:

Importantly, it doesn’t matter if just one sitemap is slow to respond β€” it will still encourage Google to throttle crawling.

Most of the popular SEO plugin sitemap implementations are known to have both issues on sites with 10k posts or more β€” there is a delay in regeneration and the dynamic response times can be 30 seconds and more even on dedicated enterprise hosting.

Make sure your sitemaps are quick to update and fast to render at ALL times!