Skip to content

Card Sort Session Results #8234

@avivkeller

Description

@avivkeller

These are the results of the Card Sort Session prepared by @avivkeller and @bmuenzenmeyer at the 2025 Cambridge Node.js Collaborators' Summit.

Links

General Concerns

  • The navigation is too linear, however, there are many cases where this harms the reader (i.e. when a document contains a sub-document, like "Flame Graphs")

  • The order of categories prioritizes categories that might not be as helpful to the reader (i.e. Test Runner should be greater than Diagnostics)

  • Many articles have their own "Intro" page, maybe a general "Intro" section would be nice?

  • A lot of articles are out-of-date, which leads to incorrect content

    • Additionally, many articles can be superceded (i.e. ECMAScript 2015 is almost 11 years old)
  • There is a lot of content, and it's doubtful that many users have read the entire thing.

  • It would be nice to add an entire "HTTP" section, with fetch(), node:http, and the various other ways to make network requests

Group Sort

Warning

Not every article on the site was used in this sort.

Group A

  • Flow Control/Async Events
    • Don't Block the Event Loop
    • Overview of Blocking vs Non-Blocking
    • Understanding process.nextTick()
    • The Node.js Event Loop
    • How to use streams
    • Backpressuring in streams
    • JavaScript Asynchronous Programming and Callbacks
    • Asynchronous Flow Control
    • Discover JavaScript Timers
    • Understanding setImmediate()
  • FS
    • Working with folders in Node.js
    • Writing files with Node.js
    • Reading Files with Node.js
    • Working with file descriptors in Node.js
  • Types + Syntax
    • ECMAScript 2015 (ES6) and beyond
    • Introduction to TypeScript
    • Running TypeScript code using transpilation
    • Running TypeScript Natively
    • Running TypeScript with a runner
  • Resources
    • Mentoring
    • Calendar
    • Slack
    • Free JS Security Training
    • Security Best Practices
  • Intro (Advanced)
    • Publishing a package
    • Node.js with WebAssembly
    • Now to publish a Node-API package
    • An introduction to the npm package manager
  • Intro
    • Introduction to Node.js
    • Differences between Node.js and the browser
    • How much JavaScript do you need to kow to use Node.js
    • Run Node.js scripts from the command line
    • Output to the command line using Node.js
    • Accept input from the command line Node.js
    • How to read environment variables from Node.js
  • Testing + Debugging
    • User Journey1
    • Live Debugging
    • Flame Graphs
    • Profiling Node.js Applications
    • Mocking in tests
    • Anatomy of an HTTP Transaction
    • Using Node.js's test runner
    • Discovering Node.js's test runner
  • Diagnostics
    • Debugging Node.js
    • Poor Performance
    • The V8 JavaScript Engine
    • ABI Stability
    • Memory

Group B

  • Node.js in Depth
    • Performance
      • Profiling Node.js Applications
      • Don't Block the Event Loop
      • Poor Performance
      • Memory
      • User Journey1
      • Live Debugging
      • Flame Graphs
    • Core Node.js
      • Introduction to Node.js
      • How to use streams
      • The Node.js Event Loop
      • The Node.js Event Emitter
      • Differences between Node.js and the browser
      • Overview of Blocking vs Non-Blocking
      • Run Node.js scripts from the command line
      • How to read environment variables from Node.js
      • Writing files with Node.js
      • Reading files with Node.js
      • Discovering Node.js's test runner
      • Backpressuring in streams
      • Node.js with WebAssembly
      • Understanding setImmediate()
      • Understanding process.nextTick()
      • Working with file descriptors in Node.js
      • How to work with different Filesystems
      • ABI Stability
  • Other
    • JS
      • Asynchronous Flow Control
      • Discover JavaScript Timers
      • JavaScript Asynchronous Programing and Callbacks
    • Ecosystem
      • The V8 JavaScript Engine
      • Introduction to TypeScript
      • How to publish a Node-API package
      • Publishing a package
      • Security Best Practices
      • ECMAScript 2015 (ES6) and beyond
    • General
      • Anatomny of an HTTP Transaction
      • How much JavaScript do you need to know to use Node.js

Group C

  • HTTP
    • Anatomy of an HTTP Transaction
  • Debugging
    • User Journey1
    • Debugging Node.js
    • Profiling Node.js Applications
    • Live Debugging
    • Poor Performance
    • Flame Graphs
    • Memory
  • Testing
    • Using Node.js's test runner
    • Mocking in tests
    • Discovering Node.js's test runner
  • FS
    • Writing files with Node.js
    • Reading files with Node.js
    • How to work with different Filesystems
    • Working with file descriptors in Node.js
  • Async
    • Asynchronous Control Flow
    • The Node.js Event Emitter
    • The Node.js Event Loop
    • JavaScript Anchronous Programming Calbacks
    • Don't Block the Event Loop
    • Discover JavaScript Timers
    • How to use streams
    • Overview of Blocking vs Non-Blocking
    • Backpressuring in Streams
    • Understanding process.nextTick()
    • Understanding setImmediate()
  • Package Management
    • Publishing a package
    • An introduction to the npm package manager
  • TypeScript
    • Introduction to TypeScript
    • Running TypeScript with a runner2
    • Running TypeScript Natively
    • Running TypeScript code using transpilation
  • Intro to Node.js
    • Introduction to Node.js
    • How much JavaScript do you need to know to use Node.js
    • The V8 JavaScript Engine
    • Differences between Node.js and the Browser
    • ECMAScript 2015 (ES6) and beyond
    • How to use the Node.js REPL
  • Security
    • Security Best Practices
  • Command Line and Environment
    • Run Node.js scripts from the command line
    • Output to the command line using Node.js
    • Accept input from the command line Node.js
    • How to read environment variables from Node.js

Footnotes

  1. This article should be renamed to give a better description of it's contents. Participants were given a card labeled "User Journey in Diagnostics". 2 3

  2. This group elected for this article to be removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    🔖 Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions