On April 17, 2025 at 18:11
Responded to @kasparsd:
Get the beta version with a 50% discount here: https://wpelevator.com/plugins/lazy-load-blocks
Responded to @kasparsd:
Get the beta version with a 50% discount here: https://wpelevator.com/plugins/lazy-load-blocks
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: π½

Why is naming things hard? π·οΈ OpenAI is such a young company but their user-facing product names look like this already.
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.
WordPress would be perfect for this kind of personal AI buttler β we have a simple table for memories and cron runner for scheduled tasks. https://www.geoffreylitt.com/2025/04/12/how-i-made-a-useful-ai-assistant-with-one-sqlite-table-and-a-handful-of-cron-jobs
Responded to @kasparsd:
Which one do you use the most? Which blew your mind the first time?
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.
Responded to @kasparsd:
Object.fromEntries() π ES2019
const entries = [ ['a', 1], ['b', 2] ];
Object.fromEntries(entries);
returns { a: 1, b: 2 }.
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.
Responded to @kasparsd:
Property Shorthand π ES6 (2015)
const x = 1, y = 2;
const point = { x, y };
Less typing, same object.
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).
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.
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;
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.
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.π
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. π€―

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.
Responded to @kasparsd:
Here is a link to the "bits" proposal: https://github.com/WordPress/gutenberg/discussions/39831
Responded to @kasparsd:

There are inline images but they don't support any block attributes and are placed as simple inline markup.

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.