HACKER Q&A
📣 traverseda

If money was no object what software would you create?


Imagine you had a Sufficiently Large Budget to create the software you've always imagined. There are still hard problems, you can't just wish a revolutionary new operating system into existence of solve NP hard problems, but you don't have to worry about the budget.

What do you create?

(As a bonus question, what software would benefit humanity as a whole the most if it suddenly sprang into existence)


  👤 riskable Accepted Answer ✓
A script-based modeling/CAD program like OpenSCAD but supports more modern programming techniques and also lets you manipulate and label surfaces, edges, and vertexes (like Blender). This way you could create a `cube([10,10,10])` then apply a bevel to all or any edge of that cube.

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.


👤 traverseda
Personally I think that a good, mature, open-source, CAD software would really benefit humanity. I've seen a new CAD-kernal quoted at 100+ man-years which doesn't seem unrealistic. I can't help but thinking that better software to make real things in the real world would make the real world better.

👤 qsort
For nerds: A stable cross-language, cross-OS FFI. Closest we have is C, but it's showing its age and won't always work that well. There are maybe problems around ownership but it's mostly a fuckton of engineering (and realistically, getting vendors on board with the idea...).

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.


👤 aitchnyu
Python will have the fastest JIT and easiest FFI. A `python -m packager add package` would install a package and write to a lockfile. No messing with virtualenvs and requirements.txt. No pesky compilation steps for certain packages.

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.


👤 andirk
A fully decentralized internet accessible via ad hoc network connections that cannot be obstructed by any centralized entity.

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.


👤 bsldld
A universal platform to facilitate loan-free education. This will not only make education accessible but also help social mobility.

More info is available here: https://loan-free-ed.neocities.org

Anyone interested in teaming up to make this a reality?


👤 samhuk
Oh, quite coincidentally, I just wrote a blog post about what I would dream of working on if I had more manpower available [0]. Short story is that Javascript tooling is sick. It has a pathology of slowness, bloatedness, dep hell, etc. Webpack is a great example. tsc another.

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 :)

[0] https://samhuk.substack.com/p/what-im-working-on


👤 mikewarot
I've got several ideas, but limited ability to focus on them for health reasons.

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)


👤 version_five
A good open hardware project (I think it can count as software) that does for hardware what linux did for software and allows people control over their own devices, with the same performance as closed options.

👤 drekipus
I'm assuming it's a sufficiently large personal budget that means I'm relatively free to do whatever.

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


👤 eetus
A social media platform that didn't rely on ads. Maybe take some ideas from Friendfeed or Google Reader.

👤 karaterobot
I've always thought that if money was no object, I'd like to create completely free, ad-free, registration-free, in-app purchase free, non-tracking versions of all the simple utility apps for which no good version exists that isn't monetized to hell. A lot of times, I just want a little tool that'll let me scan a bar code, or see stats about my wifi signal, or convert between units, or simple tasks like that, and I have to download 4-5 different apps to find one that isn't annoying. I'd just make the absolute best version of 20-30 different trivial apps and make them all free, hopefully driving the slimy ones out of business.

👤 ilaksh
I might make a new version of this http://vintagesimulator.com with VR support.

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".


👤 houseinthewoods
1) A "modern" scripting language. Scripting languages up to this point have been characterized by syntactic conveniences at the cost of performance, but modern languages have challenged the validity of that trade-off. In my opinion a new scripting language would be focused on as many development/operational conveniences as possible at the cost of performance. I'm not very familiar with Erlang but I imagine it would strive to be similar, without the goal of enabling massive distributed systems (it would more aim to replace all of a hobbyist's shell scripts, and maybe grow up to be used by devops in small/medium-sized companies). The language would be centered around concurrency and pattern-matching, and take Go (plugins) and sqlite (transparent persistence) for granted.

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).


👤 philipswood
Some FPGA-based, massively multi-core computing system with tiny cores with bundled memory with network on chip interconnects.

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.


👤 jtode
The world needs more beautiful single-player adventures like the first three Myst series games. I'd make more of them.

👤 java-man
An operating system and a desktop environment written (mostly) in java/javafx, with a focus on security.

👤 la64710
1. A software to write and run whole system and software merely from text prompts.

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.


👤 philipswood
An anatomy suite, built from out-of-copyright Gray's anatomy and BodyParts3D:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2686534/


👤 mikelevins
Three things:

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.


👤 joshstrange
Easy, a project I've had on the backburner for quite a while with a friend: GivePool

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.


👤 ellis0n
The better programming setup. For the last 10 years I have been researching and developing a revolutionary new kind of programming Animation CPU

Here is a new programming language with realtime reverse debugger + mobile IDE and OS

https://animationcpu.com

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


👤 qup
I'm not sure we can pull it off yet, but the tech I'm excited about is a voice assistant with context that approaches human levels.

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.


👤 amts
I'd create: 1) an Iris type software to have zero blue light and zero PWM flicker at low brightness for code editors (Pycharm, maybe) while retaining the capability to discern color highlighting in the editor 2) an Android emulation for Oracle virtual machine to run mobile apps on a laptop with wired internet connection

👤 sudoit
A new privacy-friendly scripting language for the web. Somehow the language itself needs to make working with userdata something explicit, and then it could provide controls to the browser user.

👤 warrenm
A universal OS

That would run on desktops, tablets, servers, phones, IoT devices, etc


👤 hxugufjfjf
Easy - GTA VI.

👤 bobowzki
It would be nice to have a very historically accurate VR game taking place in Pompeii and Herculaneum. Always wanted to experience that.

👤 coreyp_1
A consumer-friendly, packaged solution for self-hosted everything.

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.)


👤 CrypticShift
> but you don't have to worry about the budget.

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


👤 fuzzfactor
Same thing I'm doing except with fewer limitations.

👤 chadlavi
If money were no object why would I be doing any work at all

👤 whateveracct
Games, music, art, and tools to make those things (all in Haskell).

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.