https://schalkneethling.com/contact/
Get in touch! - Schalk Neethling - Open Web Engineer
get in touchschalk neethlingopen webengineer
https://schalkneethling.com/blog/
My thoughts, ideas, experiences, and ramblings - Schalk Neethling - Open Web Engineer
my thoughtsschalk neethlingopen webideasexperiences
https://schalkneethling.com/tags/autoresearch/
Posts tagged with autoresearch - Schalk Neethling - Open Web Engineer
schalk neethlingopen webpoststaggedautoresearch
https://schalkneethling.com/posts/styling-codemirror-cursor-light-and-dark/
Styling the CodeMirror 5 cursor for light and dark modes - Schalk Neethling - Open Web Engineer
How do you style the cursor in CodeMirror 5? Also, how can you do this for light and dark themes? Let's take a look.
light and darkschalk neethling
https://schalkneethling.com/posts/safely-selecting-elements-with-special-characters-using-css-escape/
Safely Selecting Elements with Special Characters Using CSS.escape() - Schalk Neethling - Open Web...
Learn how to safely select DOM elements with special characters in their IDs or classes using CSS.escape() to avoid selector parsing errors.
selecting elementsspecial charactersusing cssschalk neethlingopen web
https://schalkneethling.com/posts/freeze-your-object-constants-for-better-type-inference/
Freeze Your Object Constants for Better Type Inference - Schalk Neethling - Open Web Engineer
How combining JSDoc annotations with Object.freeze gives you literal type inference, runtime immutability, and better IDE support for JavaScript constant...
for bettertype inferenceschalk neethlingopen web
https://schalkneethling.com/
Scripting on Caffeine - Schalk Neethling - Open Web Engineer
schalk neethlingopen webscriptingcaffeineengineer
https://schalkneethling.com/tags/security/
Posts tagged with security - Schalk Neethling - Open Web Engineer
schalk neethlingopen webpoststaggedsecurity
https://schalkneethling.com/posts/21-pieces-of-unsolicited-advice-for-junior-web-developers/
21 Pieces Of Unsolicited Advice For Junior Web Developers - Schalk Neethling - Open Web Engineer
In this post, I share 21 pieces of unsolicited advice for junior web developers. I emphasize the challenges of learning web development, encourage...
unsolicited advicefor juniorweb developersschalk neethlingpieces
https://schalkneethling.com/posts/style-details-content-with-details-content/
Style Details Content with ::details-content - Schalk Neethling - Open Web Engineer
Learn how to use the new CSS ::details-content pseudo-element to style the content area of HTML details elements with greater control and flexibility.
schalk neethlingopen webstyledetailscontent
https://schalkneethling.com/posts/flexsearch-tokenizers-learning-through-writing-tests/
Flexsearch tokenizers - Learning through writing tests - Schalk Neethling - Open Web Engineer
An introduction to Flexsearch and its tokenizers through writing and interpreting tests.
writing testsschalk neethlingopen webflexsearchtokenizers
https://schalkneethling.com/posts/switching-from-babel-eslint-to-babel-eslint/
Switching from babel-eslint to @babel-eslint - Schalk Neethling - Open Web Engineer
There are a couple of steps to take when switching from the older babel-eslint to the newer @babel-eslint. No worries, I'll show you how.
schalk neethlingopen webswitchingbabeleslint
https://schalkneethling.com/tags/frontend-engineering-explained/
Posts tagged with frontend-engineering-explained - Schalk Neethling - Open Web Engineer
frontend engineeringschalk neethlingopen webpoststagged
https://schalkneethling.com/tags/web-components/
Posts tagged with web-components - Schalk Neethling - Open Web Engineer
web componentsschalk neethlingpoststaggedopen
https://schalkneethling.com/posts/number-and-currency-formatting-in-javascript-using-intl-numberformat/
Number and Currency Formatting in JavaScript using Intl.NumberFormat - Schalk Neethling - Open Web...
While this post does not by any means aim to cover all the amazing things you can do with Intl.NumberFormat, I do cover two very common use cases you may have...
schalk neethlingopen webnumbercurrencyformatting
https://schalkneethling.com/projects/
Things I'm building - Schalk Neethling - Open Web Engineer
i mschalk neethlingopen webthingsbuilding
https://schalkneethling.com/posts/structuring-feature-specifications-for-ai-agents/
Part 1: Structuring Feature Specifications for AI Agents - Schalk Neethling - Open Web Engineer
How to structure a handoff document that enables AI agents to perform gap analysis and implementation planning—with traceable acceptance criteria, UI state...
for ai agentsschalk neethlingopen webpartstructuring
https://schalkneethling.com/posts/css-property-type-validator-assignment-site-validation/
CSS Property Type Validator: Assignment-Site Validation - Schalk Neethling - Open Web Engineer
The CSS property type validator now catches type mismatches at the point of assignment, not just at var() usage.
property typesite validationschalk neethlingopen webcss
https://schalkneethling.com/about/
Who dat? - Schalk Neethling - Open Web Engineer
who datschalk neethlingopen webengineer
https://schalkneethling.com/tags/web-standards/
Posts tagged with web-standards - Schalk Neethling - Open Web Engineer
web standardsschalk neethlingpoststaggedopen
https://schalkneethling.com/tags/workflows/
Posts tagged with workflows - Schalk Neethling - Open Web Engineer
schalk neethlingopen webpoststaggedworkflows
https://schalkneethling.com/posts/opening-and-closing-dialogs-without-javascript-using-html-invoker-commands/
Opening and Closing Dialogs Without JavaScript Using HTML Invoker Commands - Schalk Neethling -...
Learn how to use HTML invoker commands to open and close dialogs without writing any JavaScript.
opening and closinginvoker commandsschalk neethlingdialogs
https://schalkneethling.com/posts/merging-a-repository-into-existing-repo-keeping-history/
Merging a repository into an existing repository without losing commit history - Schalk Neethling -...
How do I merge one repository into another without losing commit history? This is a quick guide on how to do this.
a repositorycommit historyschalk neethling
https://schalkneethling.com/tags/algolia/
Posts tagged with algolia - Schalk Neethling - Open Web Engineer
schalk neethlingopen webpoststaggedalgolia
https://schalkneethling.com/posts/announcing-the-css-property-type-validator-vscode-extension/
Announcing the CSS Property Type Validator Extension for VSCode - Schalk Neethling - Open Web...
A new editor extension that validates your CSS @property registrations and catches incompatible var() usage as you type.
the cssproperty typevalidator extensionschalk neethling
https://schalkneethling.com/now/
What I'm doing now - Schalk Neethling - Open Web Engineer
what idoing nowschalk neethlingopen web
https://schalkneethling.com/posts/building-a-3d-climate-news-globe-with-html-in-canvas-and-three-js/
Building a 3D Climate News Globe with HTML in Canvas and Three.js - Schalk Neethling - Open Web...
A deep dive into Blue Earth, an experiment that plots positive climate news stories on a rotating 3D globe using the HTML in Canvas API, Three.js, and a...
https://schalkneethling.com/posts/css-property-deserves-better-tooling-so-i-am-building-a-validator/
CSS @property Deserves Better Tooling — So I Am Building a Validator - Schalk Neethling - Open Web...
CSS @property gives authors a type contract for custom properties, but no tooling enforces it at the consumption site. CSS Property Type Validator is an...
i am
https://schalkneethling.com/posts/how-do-you-use-git-rebase-lets-go-through-one-use-case/
How do you use git rebase? Let's go through one use case - Schalk Neethling - Open Web Engineer
Git rebase is a powerful tool that allows developers to reorganize and clean up their commit history, such as by squashing or fixup-ing multiple commits into a...
how do you
https://schalkneethling.com/posts/ai-gave-me-working-code-questioning-it-gave-me-better-code/
AI Gave Me Working Code. Questioning It Gave Me Better Code. - Schalk Neethling - Open Web Engineer
Working code isn't understood code. When AI-generated code feels hard to parse, that's a signal to ask questions, and sometimes, the answer leads to something...
gave me
https://schalkneethling.com/posts/dynamically-enable-and-disable-map-scroll-wheel-zoom-with-leaflet-js/
Dynamically enable and disable map scroll wheel zoom with Leaflet.js - Schalk Neethling - Open Web...
Learn how to programmatically require the presence of a modifier key to enable scroll wheel zoom support in Leaflet maps.
https://schalkneethling.com/posts/the-benefits-of-typing-function-return-values/
Raise The Red Flag Early: The Power of Explicit Return Types in TypeScript - Schalk Neethling -...
Learn how explicit return types in TypeScript can help you catch potential bugs early, improve code reliability, and create more predictable and maintainable...
raise the red flag
https://schalkneethling.com/posts/semantic-html-just-might-make-your-css-less-fragile/
Semantic HTML Just Might Make Your CSS Less Fragile - Schalk Neethling - Open Web Engineer
A real-world exploration of how choosing the right HTML elements for interview transcripts solves both semantic and styling challenges in one cascading swoop.
semantic html
https://schalkneethling.com/posts/typescript-6-0-and-css-side-effect-imports-what-changed-and-how-to-fix-it/
TypeScript 6.0 and CSS Side-Effect Imports: What Changed and How to Fix It - Schalk Neethling -...
TypeScript 6.0 enables noUncheckedSideEffectImports by default, which causes a TS2882 error for CSS side-effect imports like import './style.css'. Here is what...
how to fix it
https://schalkneethling.com/posts/build-a-profile-page-html-css-planning/
Part One: Building a Profile Page with HTML and CSS: Planning - Schalk Neethling - Open Web Engineer
In this part of the series we will break down the design into components using Atomic Design, set up our repository on GitHub, and create the issues we will...
html and css
https://schalkneethling.com/posts/css-property-type-validator-is-getting-much-closer-to-real-world-css-workflows/
CSS Property Type Validator Is Getting Much Closer to Real-World CSS Workflows - Schalk Neethling -...
An update on the CSS Property Type Validator, focusing on recent improvements that make it better suited to practical, real-world CSS development workflows.
property type
https://schalkneethling.com/posts/refined-plan-mode-reviewing-ai-coding-plans-like-pull-requests/
Refined Plan Mode: Reviewing AI Coding Plans Like Pull Requests - Schalk Neethling - Open Web...
A small local web app for reviewing AI-generated coding plans with inline comments, anchored feedback, and structured JSON output, bringing the pull request...
plan modeai coding
https://schalkneethling.com/posts/typed-objects-in-v-for-vue3-typescript/
Typed Objects in v-for - Vue3 with TypeScript - Schalk Neethling - Open Web Engineer
How do I handle type inference challenges with v-for in Vue 3 templates using TypeScript? Let's find out more.
https://schalkneethling.com/posts/watched-it-the-good-the-bad-web-components/
Watched It - The Good, The Bad, and The Web Components - Zach Leatherman - Schalk Neethling - Open...
My takeaways from Zach Leatherman's talk on web components at the 2023 JSHeroes conference.
the goodweb components