Ask HN: What's an unsolved problem in your field?
Some examples that come to mind:
Brand Influencer — "The Algorithm" prevents exposure, sales, etc.
Customer Service — Explaining warranty status, other than "because it's the least we have to do legally".
Mathematician — The length of pi is continually increasing, and there doesn't appear to be an end.
Software Engineering — Thoroughly understanding a codebase in a reasonable amount of time.
Ideally, this would be less of a "here's why X field is bad" thought exercise, and more of a "that's interesting, I wonder if X problem could be solved" thought exercise.
[+] [-] ggambetta|6 years ago|reply
Huh? How is this an unsolved problem? It's known that pi is an irrational number, so it doesn't have an "end". We can always compute more digits. Or did you mean something different?
[+] [-] laurentdc|6 years ago|reply
Every solution I've tried is either too narrow (e.g. works on one table or kind of data only), too broad (too much boilerplate), hard to plug into existing data without massive ETL (SAP, Oracle APEX..) or cloud-based apps which are fine for a mom and pop store but basically useless for scenarios with millions of entries.
[+] [-] londons_explore|6 years ago|reply
Code has been written tens of thousands of times to take data from a webform, put it in a database, and display it on a webpage.
It's about time someone could just put that in a standard, simple, easy to use, yet extensive, library or service.
Simple things like defining a field on the frontend, in the server API, in the data model, and again in the database schema should be a thing of the past.
[+] [-] asdfman123|6 years ago|reply
You can have something highly customizable (e.g. write a web application in some common language), or you can try to create some out-of-the-box solution that works great for certain apps but quickly becomes a mess when you try to go beyond it.
The core problem is there's a lot of complexity that's not always obvious and it has to be dealt with somehow.
[+] [-] xixixao|6 years ago|reply
Definitely an interesting problem to solve!
[+] [-] justaguyhere|6 years ago|reply
For your own example : orders, customers and products. How would you generate a UI that matches design decisions of your product? Without specifying super detailed rules, in which case you could write it yourself? What am I missing?
[+] [-] mywacaday|6 years ago|reply
[+] [-] pjc50|6 years ago|reply
Chemistry/materials science: room-temperature superconductivity is probably the big one. There are a whole host of problems in the energy space which would benefit from improvement; while "electricity+CO2+water => fuel" is feasible at the moment it's uneconomic. Can it be done at close to the theoretical minimum energy input in a plant that's scalable and cheap to build?
IC design: is continually solving previously unsolved problems like EUV lithography, but has struggled for years with trying to go "3D" to overcome density issues. Also, is photonic computing feasible and would it achieve lower energy usage?
[+] [-] londons_explore|6 years ago|reply
Considering fuel => electricity+CO2+water is financially viable today, the reverse can never be financially viable unless the prices of the inputs and outputs shift quite a bit...
[+] [-] btbuildem|6 years ago|reply
[+] [-] Taek|6 years ago|reply
If you're building something that nobody has ever made before, you've got unknown unknowns, and your best bet is intuition, which is inevitably going to miss the mark a bit.
[+] [-] zdw|6 years ago|reply
See also: https://www.quora.com/Engineering-Management/Why-are-softwar...
[+] [-] raverbashing|6 years ago|reply
Just kidding. The problem with estimates in SwEng is complicated. The main problem is: every system is different from another.
Anything that's moderately complex will have a variable production time because the process keeps getting improved.
Now, you're not building 10 systems of the same type. Maybe if what you did all day was building, let's say, a blog with RoR you would be able to time it to the minute (but then again, that's not how software works, and once you built it once, it's just a matter of copying files).
In traditional "factories" the design takes some time, then putting together the production line, tools, then the production.
In SW, "real" design and production go together, and "paper sw design" is fragile.
[+] [-] rabuse|6 years ago|reply
[+] [-] neilsimp1|6 years ago|reply
[+] [-] kursus|6 years ago|reply
[+] [-] amypinka|6 years ago|reply
[+] [-] my_username_is_|6 years ago|reply
This is our version of P=NP, and similarly, there's a $1M prize for finding a solution.
https://en.m.wikipedia.org/wiki/Navier–Stokes_existence_and_...
[+] [-] linguae|6 years ago|reply
[+] [-] kawzeg|6 years ago|reply
In general, I guess the search space of all algorithms that might or might not solve a problem is simply extremely huge, so you'd need some good heuristics to find an interesting algorithm.
I can't think of any reason why there would be a theoretical limit on this, but I'm no expert in this.
[+] [-] tr352|6 years ago|reply
[+] [-] azhenley|6 years ago|reply
[+] [-] aglionby|6 years ago|reply
I wonder what the impact on uptake would be if the focus was shifted towards CS as a venue for building things and being creative and away from lines of monowidth code and indecipherable errors. More to the point, I wonder how this might be done.
[+] [-] asdfman123|6 years ago|reply
I'm not saying some ways of teaching aren't preferable to others -- obviously, lectures and hands on teaching is better than just throwing high school students a Dennis Ritchie book and telling them to come back in a year. Just that there's no "one size fits all" answer. (Unless I misunderstand what you're asking.)
[+] [-] graham_paul|6 years ago|reply
[+] [-] volodymyrs|6 years ago|reply
Physics/Astrophysics/Cosmology: Dark Matter and Dark Energy - are clearly observed, no satisfactory explanation exists.
Astrophysics (and Science in general?): very knowledgable specialized domain experts have issues learning from each other: too many different concepts, relations, methods. Even if universe is shared, representations are not easy to map on it at once. Astrophysics is especially bad in this.
[+] [-] Balgair|6 years ago|reply
Mathematics: A generalized solution to n-order partial differential equations. Laplace, Chebyshev, Hamilton, Wave equations, sure, ok, yes. But I mean any n-order partial differential, not the 'lucky' cases. You get that, and you've solved a great deal of the outstanding problems in other fields (hydrodynamics, optics, economics, turbulence). I'm not sure up to date on this, and it may have been proved that a general solution is actually impossible, but I'm not sure.
Physics: Braver grad students. Quantum Gravity is a long was off, we need much bigger machines or a constellation of satellites that use the sky as the particle accelerator. As such, having these brilliant minds labor on obscure portions on some niche interpretation of physics, well, it's useless really. The data will make it all clear as day, whenever the data gets here. Until then, the grad students need to be braver and strike out on their own, leaving the golden age behind. We need them to work on other things. I know that's tough as nails, but I think it's what is needed. Great work has been done in neuroscience by physicists (despite their best efforts :P), and the quants on Wall Street are a meme now. More of that, but in, I dunno, weaving or something.
[+] [-] hexadec|6 years ago|reply
Also, having some agreement on code scanning. Every time security settles on a code scanning tool, engineering gets a million findings. This results in arguing about whether potential risks are actually vulnerabilities rather than improving security.
[+] [-] superhuzza|6 years ago|reply
[+] [-] jayp|6 years ago|reply
[+] [-] dustingetz|6 years ago|reply
[+] [-] Nextgrid|6 years ago|reply
[+] [-] asdfman123|6 years ago|reply
[+] [-] beefhash|6 years ago|reply
[+] [-] dschadd|6 years ago|reply
[+] [-] AnimalMuppet|6 years ago|reply
And, really, if it doesn't pay off for the few that try it, why should the rest use it?
[+] [-] austincheney|6 years ago|reply
* Professional Software Developer Certification. Software developers do not have an industry recognized certification or accreditation program. Every other professional industry has this. Truck drives have this. Here are some specialized subcategories.
* Heat Energy as Electricity. We waste and expend so much energy in the form of heat that could, if captured and stored, be converted to electricity.* Energy Efficient Hydrogen Capture from Water. Currently it takes more energy the shatter a water molecule than you would gain from burning the resulting hydrogen. Liquefied hydrogen is a wonder fuel whose energy efficient combustion yields water as its waste product and could power spacecraft deep in space.
* Obesity. Obesity is caused by a combination of 3 things: insufficient exercise, preference for carbs over fats as the primary energy source, and unhealthy fat sources. The third one can be solved with a combination of science, agriculture, and economics.
* Mental Health Therapy. There are a tremendous number of people who need mental healthy medicine but never get it (for many reasons). By tremendous I mean an utterly astonishingly significant percentage of the population. Those who do get medicine are often prescribed drugs instead of therapy when therapy is generally more effective and doesn't have negative side effects. Also the sheer quantity of mental health medications is detectable in the public water supply.
* Rapid Oil Metabolism. Oil is a necessary part of the modern economy. Crude oil is refined to make plastics, and so it will be with us well into the future. Oil spills are nasty though. It would be nice if there were micro-organisms that could consume oil so that oil pools could be removed organically in months instead of decades/centuries.
* Space Entry. We are currently limited to using rockets to enter space (or exit Earth). That is horribly fuel inefficient. Any alternative would most certainly be cleaner and more energy efficient, but there aren't alternatives yet.
[+] [-] simonw|6 years ago|reply
[+] [-] simonw|6 years ago|reply
"Just use Anaconda/pipenv/the-Python-installer/Docker/etc" isn't a great answer, because they probably tried one of those six months ago, got into a weird state and can't remember what it did or where it put things.
Obligatory XKCD: https://xkcd.com/1987/
[+] [-] TomGullen|6 years ago|reply
[+] [-] unknown|6 years ago|reply
[deleted]
[+] [-] syockit|6 years ago|reply
i.e. with H as Heaviside operator, T the threshold, and * the convolution operator, prove that the following can hold for some kernels A,B,C and signal D:
A * H[B * D-T] = C*D
[+] [-] FiatLuxDave|6 years ago|reply
Once you have two kernels (no thresholding), combining them is fairly straightforward, I think (assuming no singularities). However, I primarily work with straight convolutions for signal processing, not thresholded convolutions, so maybe I am missing something. If so, I'd be happy to learn more!
[+] [-] jasonpeacock|6 years ago|reply
IMO, the best solution is probationary hiring (e.g. 3mo contract-to-hire), but that means you have to leave your current job first and then spend the next year bouncing through a number of "temp" jobs until you find a good fit.