February 28, 2024
  • I think there's room for a much lighter email viewer. While some emails are more complicated, fundamentally most emails are just text/plain or text/html. We should be able to download and render emails very, very fast.
    • I think this could be a Rust + Tauri app. For example, there seem to be compliant mail parsers in staktrace/mailparse and stalwartlabs/mail-parser (I think the latter is quite serious about RFC compliance).
    • I complain mostly because the email clients available to me on Windows kind of suck. Outlook is a horrible, slow, bloated mess. Search really doesn't work. Sometimes an accidental click (e.g. sort) will cost you minutes of time.
  • There's a whole bunch of programs that are hard to install in the Python world. For example, to install pygrib, the default install option (i.e. pip install pygrib) tries to build eccodes from scratch. Does it compile it with multithreading support? Which one, OpenMP or posix threads? No clue. Modern packaging can help, but we need to do some legwork here.
    • For a lot of Python libraries, the process of installing them looks like: either (a) use conda install packagename or (b) install the dependencies below, then run pip install packagename. This doesn't have to be the case
    • For example, the eccodes library can be a self-contained Python library, where as part of the install process the headers get put in a standardized spot (e.g. inside site-packages/) that is easily accessible (e.g. eccodes.headers). Then you can build packages on top of that, so that pip installing a package also distributes all the binaries you need.
    • The hard thing here is mostly around standardizing the compilation process of a bunch of different C/C++ programs.