What do you create?
(As a bonus question, what software would benefit humanity as a whole the most if it suddenly sprang into existence)
Furthermore, it should also let you assign metadata like materials to objects so that you can do accurate physics simulations. For example, if I make an object and set its material type to "spring_steel" I could then run a physics simulation where I get to see how much force is required to make it bend (e.g. while being inserted into something else). It would also be nice if you could just manually set the flexural modulus, fatigue index, etc to any given material for the same purpose.
Any manipulation via the GUI would automatically update the script/code and vice versa. It would be the ultimate parametric CAD tool.
For mankind in general: A simple way to self-host/access self-hosted content. People ought to be able to own their own data without gargantuan efforts.
A linter that does perfect readability, McCabe complexity, static analysis and whatever SonarQube catches. Language server protocol that integrates it all with any editor. Edit a function and it will nudge you to failing tests, uncovered lines, possible nulls etc. Automated hypothesis testing that can exceed a QA with the most twisted mind.
It will have `python -m webserver --staticfiles static/ --websockets sockets.py --web web.py --threads 2 X CPUs+1` that performs as good as elixir, including websockets. And an Akka clone to distribute workers across machines. No need to manually write `await` anywhere.
A fully typesafe ORM, can rival raw SQL and does migrations.
A templating language that rivals JSX. A frontend framework with the smallest bundle sizes and no cognitive overhead of making an Ajax call. An ultrafast GUI toolkit that can run on a microcontroller and workstation alike.
A teaching IDE (like Thonny) that visually illustrates the interpreter for concepts like recursion, allowing you to step through operations. Graphics/physics libraries so kids can make simulated cars fly over speed bumps. It can visualise electron orbitals (actually saw it in a Pycon talk about a school program) with just stdlib.
The main problem it solves is getting information to people under oppressive governments, and to people who don't have reliable access to a centralized internet connection.
It doesn't have to be pretty or even fast, but any SOS of a peoples will be heard so as long as theyre near a device thats near a device thats... that connects to centralized normal internet cables.
We can even start with a Morse Code protocol where only short messages are accepted.
More info is available here: https://loan-free-ed.neocities.org
Anyone interested in teaming up to make this a reality?
Although these tools are great, after all they have been critical in the development of the web, they are slow! Additionally, many lack good Typescript support for various reasons, so there's often guesswork involved, and there's more problems that would be too voluminous to get into.
So my dream software that I would create would be a collection of Go-centric Javascript tooling, essentially growing what esbuild started. I envisage an npm written in Go (imagine deps installed in 1 second rather than 30), hot reloading dev servers using esbuild all written in Go (imagine ~100ms hot reloading of an enterprise-grade website), SASS parsers written in Go, the whole JS toolchain rewritten in a fast compiled langauge.
Unfortunately, the web development community isn't yet ready for such. I personally believe it's the obvious future of web development, just like how it became silly to use anything other than compiled C libs for python development. I go into a bit more detail in my blog post :)
A cross platform build system that just works. It would be able to pull in make, autoconf, or whatever existing build system, and reduce it to something that works with Justine's Actually Portable Executables.
STOIC - It's kind of like Forth, with types, and type checking, it could be as powerful as LISP if implemented correctly
TreeHouse - Instead of directly editing code, the code is a view, updated as you rename variables, procedures, etc. Your code lives in a tree is the cute name.
Something like Metamine - It briefly appeared, and was a programming language with a magical equals sign in that you could make persistent assignments that would get updated any time the things they depended on changed, and yet you could still write normal code as well, all without melting down your brain.
I'd fund Genode enough to get it working on a Raspberry Pi 4.
I'd build an open source data diode, something less than $100 with 2 ports, 2 servers, and all the stuff to support up to at least 10 megabytes/second sustained via gigabit ethernet ports.
Bonus question: I'd implement the ideas put forth by Vannevar Bush in 1945, and build a proper Memex. It would be able to act like a web browser and consume everything already on the web, but store it all in a cache, for a few months. If you noted something, linked to it, etc... it would then be made permanent. You'd be able to make annotated trails through content, and disgorge a copy of it, with all the linked data, for someone else. (This gross violation of copyright is why nobody will ever do it)
I want to make a local/personalised photo-album backup system that can annotate my photos with who they were and at what time. So then I can easily create a timeline of my grandfather's life or my mother's story, which my family could just add to and keep annotating in perpetuity.
(Note photomyne does this, I recently found, but I'm not sure if I like the company yet to trust them with this data)
Then the next bit would be organisational apps, perhaps try and find a way to make life easier/automatic. Then perhaps robot simulations and video games.
Good question, thanks for asking, I've been doing some soul searching on my career and what I want to do with it. I've decided that I don't think the start up hustle culture is for me..
Or actually build this https://github.com/runvnc/tersenet
What I have been thinking about for a few years is a SaaS that takes a video stream and in real-time outputs a 3d reconstruction with separate labeled posed meshes, or maybe even some type of (CAD-like) boundary representation.
It should be possible to use NeRFs to create a VR "teleportation" application.
Also I think that VR or mixed reality user interfaces should be 3D and possibly haptic, and that doing everything in 2d windows in VR doesn't make much sense. So there will eventually be an OS for mixed reality that has 3D widgets or components that can interact and have interesting interfaces.
It will also soon be possible to "clone" a person using dynamic NeRF-like technology combined with new multimodal models of behavior and cognition. Such as take every script from the Colbert show, feed it into a model that combines a LLM with gestures and some visual/spatial correspondence. Automatically create a late night monologue prompted by the news. AKA "Deep Colbert".
2) A 2D game engine. I might just be plagued by an abundance of non-obvious choices, but I'm baffled that I can't confidently draw pixels to the screen in 2022. If I were to start developing a 2D indie game at gunpoint I would probably choose Gamemaker or dare I say Unity, but I would much prefer something like the Processing/p5.js API (but with better performance/portability).
Think tens of thousands to millions on a die (obviously the prototypes would need to be smaller).
I'd like a system that so "flat" in terms of implementation stack that each object is implemented just one or two step above silicon.
2. Use software produced via (1) to build more software to catch every bit of data from the human body, analyze and superimpose it with data and knowledge to recommend and administer treatments to reverse aging or heal the body.
3.Use software produced by (1) to explore and invent new products , natural laws to feed into a knowledge system (produced again by number (1).
4. Use this loop to jumpstart a software engine that monitors and automatically understands humanity’s needs and produce and run software to solve them at global scale.
As to the last question the best thing to benefit humanity is a software system that determines policies at all level of governance based completely on data (including voting data) and removing bias from the systems.
1. A Lisp that makes some improvements on Common Lisp in a few areas without losing its essential nature, including its comprehensive support for livecoding.
2. An OS designed for ubiquitous computing and strong individual ownership of data and computing environment.
3. A livecoding environment designed for interactively building 3D worlds.
I've previously been paid to work on things like all of these before, and of all the things I've worked on, they're the ones I would most like to keep working on. I therefore still spend spare time on them now.
Ideally, I would work on all three, and build them all to work together.
It's a service to allow users to setup a monthly donation amount and spread it across non-profits they pick. They can change the distribution month-to-month or even give their whole monthly amount to 1 non-profit for a month (like in the case of a disaster). It's a single place to manage your giving. We'd set it up as a B-Corp or a non-profit, complete transparency, bringing in just enough money to keep the lights on and add new features as needed. Provide a portal for non-profits to post into the user's "feed" of updates and maybe even create or use an existing system to rate non-profits (like how much goes to admin vs to people directly). We'd effectively "onboard" every non-profit in the US and mail them a check monthly with instructions on how they can setup ACH and interact with their "givers" on our website if they want to, if not that's fine.
One big issue non-profits have is recurring revenue, a lot of their funding comes in fits and spurts as events happen (that they put on or events that happen in the world that drive people to give) and so setting up a recurring amount they can plan for would let them do more and/or work smarter. For myself I want this service because I hate having to manage giving through a bunch of crappy websites, I'd like it to be centralized. If at all possible we'd pay for the website/developers with small monthly fees from the users though we had an idea to have non-profits (or large donors) pay for user's memberships for the first year or so. For the non-profit they would make up that money and some (as long as membership < 12*monthly donation, again we'd make that fee as small as possible) and big donors would do it just out of the "goodness of their hearts" the same way "matching" and the like work today.
It's difficult because no VC or similar is going to be interested as the goal isn't to make a bunch of money or "corner the market", just to make giving easier. Also I'm not too sure I'm interested in VC money for a number of reasons. It'd have to be funded by someone who just wanted to product to exist for the good it would do, not for some future payday. Bootstrapping is potentially an option but I believe we would need money transmitter licenses for this to be legal (I'd love to be wrong) and last I checked that was a couple hundred thousand to get started and then a sizeable amount (maybe up to $100K) a year to keep your compliance (the US fintech scene is a mess).
One day.
Here is a new programming language with realtime reverse debugger + mobile IDE and OS
The project is made by self funding, and development process is unlimited. But marketing is the key, you need an unlimited budget to let everyone know about your project. This is a paradox, because now I am looking for funds for marketing to increase the scale of development
With privacy and a lot more level of ability than they currently have.
In particular, I want the "assistant" part to be really robust. Note-taking, remembering things, reminders, lists, schedules, priorities.
Preferably without a lot of arcane, specific phrases. But if they're required, so be it. I'll become Harry Potter.
That would run on desktops, tablets, servers, phones, IoT devices, etc
Benefit: Ability to evict spying corporations from your life.
How it would appear to the end user: You buy a packaged device (like a RPi in form factor and openness) from Wal-mart and plug it in. Set up the wifi (or wired) internet access, and it operates as your personal gateway. Need more storage? Plug in an additional USB drive. For convenience in this description, call it a "Home Hub" (probably already used by some product... not affiliated).
Possibilities (1): You can have a Home Hub. Your parents can have a Home Hub. Your friend has a Home Hub. Your Home Hubs could act as an encrypted, distributed backup for each other (similar in idea to Raid 6?). If yours goes down, you can reconstitute the contents from your trusted backup pool (parent's and friend's devices). They have the same benefit, too. The more backup space that you offer to others, the more backup space you have available.
Possibilities (2): Your phone. All pictures, contacts, messages, and other misc data could be backed up on and accessible by this system. Communication could use this system for calls, text, mail, etc., rather than the phone company. End-to-end encryption through the interconnections of Home Hub devices. (E.g., your phone -> your Home Hub -> your friend's Home Hub -> your friend's phone.)
Possibilities (3): No need for G4e Drive, G4e Docs, M7t Office 365, Ae3 Cloud, etc. (Yes, I know that there is currently NextCloud and similar, but it appears to be a stand-alone solution, as opposed to a plugin to this larger ecosystem that I am proposing.) This system could host your own, available from anywhere.
Possibilities (4): Track your device's location (or your child's location) without needing to share that information with a 3rd party.
Possibilities (5): No more email. Replace with communications through Home Hub. It's almost impossible to run your own email server these days because the big providers reject any email not sent through the big providers. It will be impossible to bring in another standard, however, unless it is absolutely simple for the average user to use. I can think of several ways of supporting the common email use cases while also prohibiting spam.
Possibilities (6): Yes, corporations and governments can use this system, too. But they will be constrained by the protections designed into the system. For example, a corporation could sell backup space (mentioned in #1) as a service, but because the information is encrypted (and Raid-striped?), they cannot know what is contained in the data.
Possibilities (7): Social media could be built on this as well. I know about Mastadon, but it solves a different problem than my proposal.
In short, we need a dead-simple widget that anyone can buy, plug-in, and connect to the Internet, and that can act as their way forcibly extract spying companies from their life. (Of course, associated mobile software would have to be created, etc.)
> software would benefit humanity as a whole the most
Easy. I will just emulate what the richest man in world did:
- either an open AI Foundation (= OpenAI) but it will be truly open source 100%
- or an open social network (= twitter) but it will be truly decentralized and public 100% (whatever that will turn out to be)
Also just random Haskell with no care about Professional Software Engineering idiocy.
Although I do the latter already when I do have free time. My personal projects have 0 code standards or style consistency. I write whatever forms are the most fun to the touch at the moment. For instance, why pass a parameter around when you can use Kleisli arrows? It's like playing games while coding, but when you're done you have a working thing that people can use.