Obvious and possible software innovations nobody does

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
  • rust-bindgen

    Automatically generates Rust FFI bindings to C (and some C++) libraries.

  • I really dislike the article, here are some reasons (referencing the numbered arguments in the article).

    1. There are many such parsers. Rusts bindgen [1] is one of them, I have written a proprietary one last year. This is pretty common to do for narrow use cases, there just isn't one for "Convert a C API to Ruby"..

    2. "Most VM designs I’ve seen are basically just student exercises". Seriously? Create a better on and get rich then! I'm pretty sure Google would pay good money for something better than v8.

    3. You can run z/OS on EC2. They do very different things. It's like saying I wish that cars were as simple as a strawberry.

    4. "People used to make GUI frameworks which did more than electron apps, looked better and fit in the tens of kilobytes range." That's correct and that's why lots of apps are based on native UI frameworks. For some use cases, electron seems to hit a sweet spot (mostly not having to write UI for each platform and the web too). If you don't like electron apps, don't use them, most run in the browser too.

    5. "Compilers and interpreters should learn how modern computers work." I don't know where to begin here. Modern compilers optimize for latest hardware all the time, one recent example out of thousand others is this [2] where V8 redundantly inserts short functions into memory regions close to the code they are called from in order to get more instruction cache hits.

    [1] https://github.com/rust-lang/rust-bindgen

    [2] https://www.techradar.com/news/google-chrome-is-now-dramatic...

  • JNA

    Java Native Access

  • JNA looks reasonable for accessing native code from Java: https://github.com/java-native-access/jna/blob/master/www/Ge...

  • 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
  • panama-foreign

    https://openjdk.org/projects/panama

  • Automated ffi parser soon (TM) to be in standard Java: https://github.com/openjdk/panama-foreign/blob/foreign-jextr...

  • 2014-slides

    Slides from PyCon 2014

  • https://en.wikipedia.org/wiki/SWIG

    >Initial release February 1996; 25 years ago

    http://www.swig.org/history.html

    >July, 1995. Dave develops SWIG while working in the Theoretical Physics Division at Los Alamos National Laboratory. Originally, it was conceived as an extension building tool for a customized scripting language that had been created for the Connection Machine 5.

    David Beazley, the author of SWIG, is a brilliant programmer, and excellent presenter.

    https://en.wikipedia.org/wiki/David_M._Beazley

    Check out his many talks about programming, especially his PyCon 2014 talk on his work as an expert on a patent infringement case.

    https://www.youtube.com/watch?v=RZ4Sn-Y7AP8

    >David Beazley: Discovering Python - PyCon 2014

    >So, what happens when you lock a Python programmer in a secret vault containing 1.5 TBytes of C++ source code and no internet connection? Find out as I describe how I used Python as a secret weapon of "discovery" in an epic legal battle.

    >Slides can be found at: https://speakerdeck.com/pycon2014 and https://github.com/PyCon/2014-slides

    https://www.reddit.com/r/programming/comments/25svd1/the_epi...

    >YellowSharkMT 7y

    >So much dry, geeky wit... Beazley should be a stand-up comic. This is probably the most entertaining talk from the entire 2014 PyCon.

    >"This is my attempt to come up with the most boring talk title at the Pycon... that was actually one of the review in the submission..."

    >"These are usually like the people at the law firm who haven't made partner yet, their job's probably on the line..."

    >"You're gonna get all sorts of fun reading assignments...you read that, and it's just like your head explodes" (slide image shows dude from Scanners)

    >"And the provided tools were Windows XP - awesome. The Windows command prompt - awesome. The Search Mutt - (audience erupts in laughter) [...] pretty awesome. Notepad [...] and then b/c they were feeling generous, they had Visual Studio on there."

    >"By good fortune, I actually wrote the Python book, and I was allowed to bring books into the vault, so I was like OK, I'll be right back, I'm gonna go get my book..."

    >His tutorial on generators was also really excellent. Lots of respect for him, he's really skilled at presenting technical concepts in an entertaining and engaging way.

    https://www.youtube.com/watch?v=D1twn9kLmYg&ab_channel=PyCon...

  • SWIG

    SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.

  • * I was using SWIG (http://www.swig.org/) 15+20 years ago to bind C/C++ to Perl and Java and it still exists.*

    I've used it. It took the entire thing you want to call and generated one giant file of munged C. That's sort of where that idea takes you.

    But the author is on to something. There's a C to Rust translator. It sucks, because it works by emulating C pointer arithmetic in unsafe Rust, using its own set of primitives along the lines of "offset this pointer by this much". Now you have ugly, unsafe Rust.

    What's needed is something that infers the meaning of an ambiguous function call from the code. Something that reasons like this:

    Function call:

        int read(char* buf, size_t n)

  • win32metadata

    Tooling to generate metadata for Win32 APIs in the Windows SDK.

  • Windows has partly moved and is moving in this direction - WinRT (higher-level, C#-like but without requiring the .NET runtime and GC) APIs are already defined in metadata, and now Win32 (lower-level, C-style) APIs are being defined that way as well: https://github.com/microsoft/win32metadata/blob/master/docs/...

  • Introducing .NET Multi-platform App UI (MAUI)

    .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.

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