Ask HN: What's your favorite programmer niche?

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
  • PixiJS

    The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.

  • Since last year I've been using Pixi.js (https://pixijs.com/) to create an app that puts video meetings into a 2d virtual space (https://flat.social). While learning how to build it, I got really (possibly a bit more than necessary) into optimising graphics performance to make sure it runs smoothly even for users who access it on potato laptops.

    This includes pretty much every aspect of the rendering process - how often are elements updated, textures, masking, interpolation, fonts and making sure that nothing renders more often than it should. It's a challenging but pleasant process as the result of experimentation is usually easy to measure (FPS + memory usage).

    PS. If you're into it as well - try Safari's web inspector for measuring performance and investigating which frames were dropped. I found it much easier to use for debugging than Chrome.

  • equinox

    Elegant easy-to-use neural networks + scientific computing in JAX. https://docs.kidger.site/equinox/

  • Autodifferentiable programming!

    Neural networks are the famous example of this, of course -- but this can be extended to all of scientific computing. ODE/SDE solvers, root-finding algorithms, LQP, molecular dynamics, ...

    These days I'm doing all my work in JAX. (E.g. see Equinox or Diffrax: https://github.com/patrick-kidger/equinox, https://github.com/patrick-kidger/diffrax). A lot of modern work is now based around hybridising such techniques with neural networks.

    I'd really encourage anyone interested to learn how JAX works under-the-hood as well. (Look up "autodidax") Lots of clever/novel ideas in its design.

  • 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
  • diffrax

    Numerical differential equation solvers in JAX. Autodifferentiable and GPU-capable. https://docs.kidger.site/diffrax/

  • Autodifferentiable programming!

    Neural networks are the famous example of this, of course -- but this can be extended to all of scientific computing. ODE/SDE solvers, root-finding algorithms, LQP, molecular dynamics, ...

    These days I'm doing all my work in JAX. (E.g. see Equinox or Diffrax: https://github.com/patrick-kidger/equinox, https://github.com/patrick-kidger/diffrax). A lot of modern work is now based around hybridising such techniques with neural networks.

    I'd really encourage anyone interested to learn how JAX works under-the-hood as well. (Look up "autodidax") Lots of clever/novel ideas in its design.

  • sito

    sito: A serialization suite

  • As of recent I've been weirdly fascinated with codecs, serialization protocols, file formats, and the like. It scratches that low-level hacking itch (I spent most of my professional programming in web dev space) without as much commitment to electronics (used to be super big into arduino but I find that's harder to pick up and put down).

    I've started hacking on my own container format (yeah, I know, xkcd927), after finding it super frustrating to embed arbitrary time-synched data streams into mp4/matroska/ogg/etc. Also it bugs me how crusty, complicated, and arcane mp4 is, and at the same time, mastroska and ogg are weirdly opaque given how they are supposed to be open standards.

    If anyone is curious, here's my container format I've been developing: https://github.com/xkortex/sito

  • cpgtou

    A one-way iconv-like library to convert text from ANSI code pages to Unicode

  • Character sets and internationalization. I just spent a year building a one-way libiconv-ish library called cpgtou, including chasing down MS-DOS Code Page 709. https://github.com/torstenvl/cpgtou

  • TablaM

    The practical relational programing language for data-oriented applications

  • Working in a relational language, to resurrect the spirit of the Base/FoxPro family:

    https://tablam.org

    This is the thing I wish to do full time, but even if not is so interesting! Is not just "making a programming language" is that it touch parts of "make a in-memory database" + "array programming for the masses" that makes it more challenging!

  • notesutils

    Utilities for extracting notes from Notes.app. This repository is lightly maintained and mainly exists to serve as documentation and starting point for your own scripts.

  • I should write this stuff up, but I haven't.

    I do have some brief notes on the "Notes.app" format here:

    https://github.com/dunhamsteve/notesutils/blob/master/notes....

    But I didn't discuss my methodology -- Generic decoding of protobuf, building up a schema as you go -- the tricky part there is that a byte array and a substructure look the same, so you have to try to decode it, and if successful, try that schema on the next example.

    Here is another fun technique - scanning through a disassembly of an Apple framework looking for assembly patterns that match the protobuf compiler output (this was dependent on which language was targeted by protobuf):

    https://gist.github.com/dunhamsteve/224e26a7f56689c33cea4f0f...

    So you find the serializer / deserializer code and figure out what the original protbuf spec looked like.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Keychain-Dumper

    A tool to check which keychain items are available to an attacker once an iOS device has been jailbroken

  • Re keychain, you're probably aware of it, but https://github.com/ptoomey3/Keychain-Dumper/ is very thorough in extracting keychain data (including data that one would expect to no longer be in there).

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