@ianjones.info

https://ianjones.info

Wanna _really_ learn Cursor? I'm putting together a workshop covering all the ins-and-out from using Cursor full-time since late '23. I've got that real-world, juicy goodness cookin' and almost ready to serve. Sign-up here to be first in line: egghead.io/workshop/cur...

Expert led courses for front-end web developers.

expert led courses for front-end web developers and teams that want to level up through straightforward and concise lessons on the most useful tools available.

egghead.io

Hey all, I have freelance/consulting capacity opening up for the first time in years. I love to work cross-stack with businesses building on Ruby on Rails, PostgreSQL, React+TypeScript, and Next.js. Please share for reach. Contact me here or via my consulting site www.visualmode.dev

VisualMode - Small-batch software development and consulting

Your business is built on software. You need that software to run like a well-oiled machine so that you can keep moving forward. VisualMode can help. We bring cross-discipline, full-stack expertise to...

visualmode.dev

One nice thing about bsky is notifications are actually real and aren’t just another algorithmic feed

Gemini 2.0 can inspect *100s* of files, so you can ask Gemini to generate instructions for MASSIVE refactors across your entire codebase. In this 2 minute lesson, I walk you through how to do this yourself with a combination of Gemini and Windsurf: egghead.io/use-gemini-2...

Use Gemini 2.0 to Create Agent Instructions to Refactor an Entire Codebase

expert led courses for front-end web developers and teams that want to level up through straightforward and concise lessons on the most useful tools available.

egghead.io

Important little nuance here about callback ref's cleanup function in React 19. If you are assigning a ref object in a callback ref and you decide to add a cleanup function, make sure you re-assign the ref during cleanup.

BildTypescript code snippet:

function setRefReact18(node) {
  // setRef is called when the element is attached and detached. When detaching,
  // the node is null. So if it's referenced elsewhere (eg: another element's
  // event handler), its value will be null if the element is not rendered.
  nodeRef.current = node;
}

function setRefReact19(node) {
  // setRef is called when the element is attached but *not* when it's detached.
  nodeRef.current = node;
  let mutationObserver = new MutationObserver(() => {/* ... */});
  mutationObserver.observe(node, { attributes: true });
  return () => {
    // If you add a cleanup function be sure to explicitly re-assign the ref
    // object to null during cleanup, or other references will point to the
    // ghost element that no longer exists.
    nodeRef.current = null;
    mutationObserver.disconnect();
  };
}

New feed: Leaflets — any docs made with @leaflet.pub and shared on Bluesky! 🍃 You can use Leaflet to publish essays, lists, links, logs, notes, ideas, events, guides, poems, stories… More ideas for *social docs* with atproto in the works :) Try it out by posting a Leaflet you've made!

Post nicht verfügbar.