Ask HN: Which software should exist, but doesn't?

23 points by manx ↗ HN
In your daily lives, in development or to improve our society, which platforms, tools frameworks or libraries are missing?

46 comments

[ 2.7 ms ] story [ 109 ms ] thread
A wikipedia of arguments you can refer to in public discussions.
Especially religion and politics.
It's not quite the same, but I feel the Talk pages on Wikipedia are often overlooked as a source of interesting debate, related topics, and other curiosities.
I’ve had this same idea too

What if there were a “structured arguments” wiki

Each topic could have some tree structure, like side A has a list of points, click each point to see side B’s reply

Reducing debates down to their atomic points without all the fluff of reading a flame war thread

Everything must be written with the clarity and succinctness of Wikipedia including sources

For what it's worth, I've been overseeing the development of https://thoughtliner.com

Perhaps the most developed demonstration is at https://thoughtliner.com/thought/11 (click on the button to show responses to see more).

The site is maybe 50% of what I would consider MVP, but work on it has been mostly dormant for the last several months. A more serious effort might resume in 2022.

I started working on it because I thought it could help me organize my own thoughts. It could be a useful resource for people, but I also think the interested audience would be fairly niche. As you dig into various arguments, the topics can easily become fairly esoteric or technical.

If you have interest in it (e.g. you have ideas to contribute or just want to be informed of a "launch"), you should be able to reach me at support@ the domain.

A thought can be anything, right? How is this different than a forum?
Async/await syntax for arbitrary monads. This would be very useful for IO, as well as Observable.
Can you expand on this, maybe show some examples?

I’m familiar with RxJS and have always thought it would be nice to have some syntax sugar for common operations. But I’m not sure how the concept would apply to monads in general.

Inside an async block, the await keyword stands for then/flatMap/bind. Using multiple awaits is the same as a chain of then/flatMap/bind, or the do-notation in Haskell.

async { const a = await getA(); const b = await getB(a); return await getC(b); }

Is the same as:

getA().then((a) => getB(a)).then((b) => getC(b));

Observable is interesting, because it has multiple flatMap variations, like concatMap, switchMap etc.

There could be different await keywords that represent these operators. Example:

asyncObservable { const request = await myRequestStream(); const response = switchMap sendRequest(request); return response; }

This should be equivalent to:

myRequestStream().switchMap((request) => sendRequest(request))

In general, the advantage of this syntax is, that you can work on die values directly, instead of needing to work with the Observable.

React hooks with useState are very similar.
A time series based database that has an interface fully excel facing, including all excel functionality. I want to see the result value of a cell based output at a certain date, when it changed, and why. I need the interface in excel because all of the engineers already know it and all of their calcs are already in it. Not something excel like or similar, excel.
Interesting, thanks for sharing! Can you please clarify:

- what exactly is the use case?

- why isn't e.g. SharePoint or Dropbox version history sufficient?

Sure, anything cloud based is right out, I haven't worked at at single place in 20+ years that allows anything in the cloud. I'm talking about Petro/chem engineering. SharePoint can be on premises, but that is revision/snapshot based, so the whole document is snapshotted, not individual cells. Within a revision a datum / cell might change multiple times, those changes are lost. Each cell change does cascade other changes in many other documents and drawings so being aware of each change is paramount. Missing a change not only would mean incorrect downstream /cross stream documents but it can result in the loss of life. It's a seriously tough problem with serious results.
Fascinating, thank you for sharing! How do you currently deal with this problem?
(comment deleted)
a good ssh/SFTP reverse proxy / load balancer. yes I'm aware ssh doesn't have a host portion, I'm sure there's a way around this.
I don’t follow. What problem would this solve?
having more than one ssh endpoint and only one public IP, and wanting to maintain a single IP and port

my particular use case is trying to load balance git ssh

For git, is there any reason you can't copy the host key to your balanced servers and then either use DNS based balancing or HAProxy/some other TCP load balancer?

It might be nice to be able to do layer 7 partitioning of load, but that doesn't seem essential.

An actually usable programming environment for mobile devices.
The update to Swift Playgrounds coming this fall is something I’m really looking forward to!
A modern 64 bit version of Stoical. http://stoical.sourceforge.net/documentation.php

I got it working in 32 bit Linux, but have no clue about how to convert it to something modern.

What is Stoical? I don’t really understand anything on that page. Could this need be fulfilled by Gforth or Racket?
It's a forth with types, dictionaries, arrays, heaps... it's pretty cool... I managed to get it to to compile on an old 32 bit linux, but I don't know enough C to translate it into modern 64 bit C.
Have you considered installing Alpine or Debian in a 32-bit virtual machine? Using VirtualBox for example. Both Alpine and Debian provide 32-bit images.

It might be possible to use Docker as well, but I’m not sure how.

I've got a virtual machine with Debian 3 installed... it was the only OS that I could find old enough to deal with the variant of C, and was 32 bit.

I'm a Pascal programmer, so it was news to me that there isn't really a standard C, but rather it changed more than once... the old code doesn't work with the new compiler. A few of the macros just will not work because of the way they assign things.

A safe sqlite-like file-based, small database, without backend. Phones would need such a SW. SQLite is a clever hack, but not usable for safe usage. And the text search engine is still fundamentally broken and insecure, even in its 5th iteration.

One should not need PostgreSQL for small problems.

Can you expand on "without backend" in regards to SQLite, or rather its shortcomings?
Could you say why you don't consider SQLite safe? And how the text search is broken and insecure?

I use SQLite quite a bit and I've never found it to be unsafe or insecure.

A modern open source web based email client to have an alternative to Outlook, Gmail and the like. It should also have calendar integration an the possibility to use an existing address book.
What about Roundcube with a calendar plugin?
As far as I know Roundcube doesn't support external address books. When I tested it I somehow didn't like the UX.
I would also love a really good desktop email client. I’ve tried Thunderbird, Apple Mail and Outlook. I don’t like any of them.
I would love a really nice application for music that I own myself. Ideally the audio could be self-hosted on a NAS in my wardrobe and there would be a client for iOS, Android, Linux, macOS, Windows and the web.

Kind of like a combination of Spotify and good old iTunes.

What's wrong with Plex Media Server? This would seem to fit your description
Cool. I should give it a try!
Database-based filesystem