Linus Torvalds adds arbitrary tabs to kernel code

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • linux

    Linux kernel source tree

  • These are a bit easier to see what's going on:

    https://github.com/torvalds/linux/commit/d5cf50dafc9dd5faa1e...

    https://github.com/torvalds/linux/blob/d5cf50dafc9dd5faa1e61...

    Unfortunately Github doesn't have a way to render symbols for whitespace, but you can tell by selecting the spaces that the previous version had leading tabs. Linus changed it so that the tokens `default` and the number e.g. `12` are also separated by a tab. This is tricky, because the token "default" is seven characters, it will always give this added tab a width of 1 char which makes it always layout the same as if it were a space no matter if you use tab widths of 1, 2, 4, or 8.

  • lapack

    LAPACK development repository

  • Indentation by steps of 3 spaces is common in old Fortran 77 code. This is LAPACK for example. Scroll down to about line 400 to see actual code, not comments.

    https://github.com/Reference-LAPACK/lapack/blob/master/SRC/c...

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • difftastic

    a structural diff that understands syntax 🟥🟩

  • i want a diff tool that shows me exactly which tokens have changed, and which haven't, regardless of how they are laid out.

    These already exist: https://github.com/Wilfred/difftastic

    when we get that, then we should get even less merge conflicts.

    Counterintuitively, that is not the case. AST-merge is a much, much, much, much, much harder problem than AST-diff.

    https://github.com/Wilfred/difftastic?tab=readme-ov-file#can...

    The fact that diffs can be used to drive a 3-way merge is in fact an accidental property that arises due to the sheer crudeness of the diff format. As soon as you start using more-sophisticated diff formats, solutions to "the diff problem" no longer lead directly to solutions to "the merge problem".

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts