Skip to content

Card Sort Session Results #38

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

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions