← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 196
  1. This week a colleague taught me about Simplified Technical English in the context of agentic software development.

  2. A while ago, I wrote that you can use .toString() to reflect about user-defined functions in the JavaScript runtime.

  3. Node has a key process.versions that can tell us a lot about itself.

  4. In JavaScript reflection with .toString(), comments are preserved. const hello = () => { // returns "Hello" return 'Hello'; }; hello.toString(); // '() => {\r // returns "Hello"\r return "Hello";\r}' Note the comment in the returned string.

  5. AI Policy

    This page summarizes my usage of AI on this website.1

  6. Git hooks are scripts that run at key moments in the version-control lifecycle.

  7. Today, after waiting for an album review to load, I built something small: my own take on the Pitchfork aggregate review loading experience.

  8. When developing a local Node module, we might want to point another project’s package.json at the local module.

  9. tsc watch script

    Today I learned what tsc --watch is really for.

  10. Read lpr Configuration

    I’ve written about lpr before; to me the ability to send a file to my printer from the command line is a magic trick.

  11. Today I built a system to read a markdown file from one location in my Hugo project into another.

  12. npm init is a nice tool for initializing a package.json.

  13. This Summer I wrote a number of blog posts for my TypeNotes project.

  14. Something I put off until a bit into a personal project is adding an icon library.

  15. Open Vim Readonly

    We can open Vim in read-only mode in two ways: vim -R <file> Or: view <file> A use case could be a file on a server with credentials that we want to read but be sure not to change.

  16. If/Else in CSS

    Today I got to try the experimental if/else syntax in CSS: /* Component.module.css */ img { transform: if(style(--isZoomed: true): scale(2) ; else: scale(1)); } I used it to pass a variable from React state to the stylesheet: // Component.tsx <img style…

  17. A goal of modular CSS is to scope styles to components.

  18. The Power of One Test

    A developer experience and quality control measure I take on programs I’m building, even small ones, is always to write at least one test.

  19. There are a few ways to know that a file is a symlink.

  20. It’s been a bit since I was typing SQL into a REPL.

  21. I use Ripgrep as my command-line search tool.

  22. Vim view all your maps

    For each way you can map something in Vim, you can inspect those mappings.

  23. We can save all evaluated commands from our TSX REPL session to a file: $ npx tsx > const name: number = "Jake" undefined > .save output.ts Session saved to: output.ts

  24. Want to get better at technical writing?

  25. In the next twelve months, I’m launching twelve software startups.

  26. Today I discovered tsx, a REPL that evaluates TypeScript.

  27. For the golfers out there, we can combine these two lines into one: const items = await getCollection(); return items.sort(); This doesn’t work because sort() is being called on the promise returned by getCollection(): return await getCollection().sort();

  28. Today I’d like to highlight something I built with some colleagues that I think is cool: the dynamic paths of Hashrocket’s daily learning site, Today I Learned (TIL).

  29. 4321 is Astro

    Astro’s default port is 4321.

  30. Node Timeout timers have a private boolean attribute called _destroyed.

  31. Today I used JavaScript to mass-unsubscribe from a website’s email notifications.

  32. Reflection is an important tool in programming; it lets us examine a language’s structure.

  33. Focus a JS Test

    A vital testing skill is focusing a test.

  34. JSDoc has a @deprecated tag that you can use in TypeScript, too.

  35. I’m reading How to Open Source by Richard Schneeman (fantastic) and one of his tips is to show documentation code like this (consider documenting ls): ls <desired-path> Rather than the common: ls /your/path/here

  36. NPM List Packages

    When upgrading a dependency for a security issue, we might upgrade and move on: npm install <dependency>@<version> But wait!

  37. Today while reading the Rust Documentation, I encountered a fantastic UX touch.

  38. Images in Hugo can be a bit tricky.

  39. Unalias an Alias

    Sometimes I want to iterate on an alias.

  40. Today I discovered these two Vim flags: vim -w log.txt file vim -s log.txt file The -w flag sends all keystrokes in your session to log.txt.

  41. I’ve been writing some non-printing characters to a file.

  42. I was doing a Vite demo last week, I changed some markup, and visited the local web server.

  43. Prettier formats code in fenced code blocks!

  44. If you’ve been writing TypeScript for a while, you might have written code like this: // utils.ts export type Color = 'red' | 'blue' | 'green'; // app.tsx import {Color} from '.

  45. New Vite TypeScript/React apps create themselves like this: createRoot(document.getElementById('root')!).

  46. Genuinely Care

    I often reflect on a conversation from years ago with a former Army boss.

  47. 5173 is Vite

    Vite’s default port, 5173, is leet code for the project’s name: 5 = “V” (Roman numerals 😉) 1 = “I” 7 = “T” 3 = “E”

  48. To load Cursor with context of the current directory, use: cursor .

  49. The Outbox Pattern

    Today I learned about the Outbox Pattern.

  50. Leave a Trace

    Always leave something behind.