Hacker News new | ask | show | jobs
Ask HN: What are top promising technologies of tomorrow must get involved today?
78 points by bignet 3153 days ago
Hello, What are the top promising technologies of tomorrow must learn today? for example, I hear a lot of buzz around "Blockchain"

shot

21 comments

Kubernetes -> Envoy -> Istio.

Yeah, yeah, it's not rockets to mars or whatever, but I think we've spend DECADES trying to figure out how to abstract away the lower parts of the stack. The last big leap was AWS, and it forced a choice for a lot of people: do you want to work at AWS? or do you want to work on applications that run on AWS? The API is so strong that you can't do both.

There's a similar thing around operating systems, networking tools, and containers. Heroku was a cool PaaS, but ultimately is a little too inflexible to work for everybody. Companies keep rebuilding these internal PaaS systems, and I think Kubernetes has finally nailed it. It's lacking the primitives to do traffic management and introspection, and Envoy / Istio provide those primitives.

Many people see these technologies as an endgame to themselves, but the Istio community has started talking about how they're a platform themselves, and that feels correct. Like AWS, you can abstract away a TON of this stuff, and you will divide people into those that keep a cluster running vs. those that build apps on top of it. The specialization gains will be on the same level as dynamic infrastructure, imho.

Disclaimer: I work at a company that wants to build on top of this new world, but I joined them because I believe this, not the other way around.

Agree, and I think cloud is very much becoming a must-know technology. I suspect many here on HN will be shocked that anyone -doesn't- yet fully grok cloud ecosystems, but there are plenty of us in enterprise environments where physical or at least virtual hosts are still dominant.

3 -4 years go in my sector cloud felt very much like an emerging thing. Now it's absolutely "here", and I would encourage anyone with an interest in staying current over the next 5 - 10 years to get into this stuffif you're not doing so yet!

More so than just "blockchain" I'd say getting into distributed computing will pay dividends in the future. Understanding DC is plenty good for lots of current tech trends (big data, ML, etc), but also looks forward to the switch to trustless systems to be used in everyday life.
Indeed I'm not a fan of "blockchain" as a buzzword at all (especially now that people are trying to apply it to things that shouldn't be distributed); but clearly there are many things that do benefit from distribution.

Things that come to mind are Namecoin, I2P, IPFS, and other tech on the pipeline that can bring the internet closer to it's original ideal of distributivity, each person responsible for their content, etc.

Those are also free software ideals: while great strides have been made in open sourcing user-side software, (mainstream android, Linux on servers, etc), the internet just hides a massive closed system: before you could at least inspect how things work through reverse engineering, but querying web servers is literally a black box model. The problem that not everyone wants to run their own server or even deal with renting out can largely vanish from certain applications. We've started with the easiest ones, which were file sharing (reputation-free), then Bitcoin, with more basic web tasks incoming.

It's important to keep in mind most of those are fit for low-efficiency. Unless we have a breakthrough with Fully Homomorphic encryption, the bulk of computing itself will be centralized (or you will have to accept a mix of high cost or unreliability).

I agree with most things in your comment, I'm just curious what things you see that "shouldn't be distributed"?
I would say anything that can be done by a centralized entity that doesn't benefit from adding censorship resistance. The main reason blockchains need complicated and, in many cases, wasteful consensus algos is because they were first designed to promote open membership to the network. This meant that you had to design a system that allowed strange machines to work together while no entity trusting any other to not cheat it. Open membership means that the ledger can not be effectively censored, and by extension, neither could one's wealth. Outside of that use case (censorship resistance), very few things benefit from transitioning from central authority to blockchains.

I didn't cover the case of smart contracts, but it's essentially the same thing.

> I would say anything that can be done by a centralized entity that doesn't benefit from adding censorship resistance

Ok, and what concrete, real examples does not benefit from that?

You have some private data. You want to compute a hard function of this data, and your computer isn't powerful enough.

For example, this could be a rendering problem: you provide the models, a distributed system computes it (for a cost). This system cannot be private, efficient and reliable. It can be private and reliable, but hugely inefficient, or efficient but non-private and non-reliable. With a non-distributed system (i.e. Google compute, Amazon cloud, etc) you get pretty much all 3 of them, with a slight caveat that privacy is guaranteed circumstantially/legally instead of mathematically. But it's extremely safe to assume you'll be fine.

You want to run and real time multi-user application.

For example, and MMORPG. This one is a fun challenge for sure, but it's a complete nightmare to develop, and again needs sacrifices. In this case you probably can't achieve speed, security, and large number of players simultaneously. Every decision (like "what did this monster drop?") needs to be done through some large scale consensus to guarantee security, which kills latency completely. If you're extremely lax with security and consistency, then you can probably make it work, but accepting users might cheat, possibly game-breakingly. Or you could achieve it all with a handful of players, and reasonable efficiency[1], but your scope will inevitably be limited. I believe Ubisoft's ForHonor[2] uses P2P gameplay, but I'm not sure how safe their system is. Also I'm sure stats and most persistent data is stored centrally.

[1] See Mental poker:

https://en.wikipedia.org/wiki/Mental_poker

[2] Some reddit discussion from quick googling:

https://www.reddit.com/r/forhonor/comments/5u8jlh/why_forhon...

Note that the players largely loathe this system.

Is blockchain actually being used for anything that people are actually using? I've never had such an experience of dissonance about a technology that I hear about incessantly yet can't see a single application of in the wild. Apparently it is consuming all the world's electricity, making graphics cards impossibly expensive, yet... where is it? What is it doing?
The blockchain is not what's responsible for all of the things you describe; rather, it's the dominant algorithm for psuedo-randomly distributing the ability to modify the block chain, called proof-of-work (namely Satoshi's version). There are other, just as computationally wasteful algos that try to be memory hard as opposed to cpu-hard (Cuckoo cycle PoW for example.

Lots of folks are working on different, less wasteful ways of making blockchains more resistant to attack - the most well-known of the alternatives being proof-of-stake which is essentially a betting scheme. It's a fascinating area of computing if you go beyond the hype over the BTC price.

Ok, but what are blockchains doing right now? Does my iPhone use them? Facebook? Small businesses? Tesla? My doctor? Who/what??
Lots of financial institutions and other businesses have been researching ways to replace systems with private blockchain technology [0]. This is just one of several business partnerships exploring ways to integrate the tech.

Unless you're buying/selling or paying for things with cryptocurrencies, then, no, you probably aren't encountering any blockchain tech right now.

[0]: https://entethalliance.org/members/

Robotics, but more specifically Tele operated robots. Remotely driven vehicles and remotely controlled robots.

There is a chance that all factory work becomes like a video game.

Tele-ops robotics would lead to:

- large-scale redistribution of physical/blue-collar jobs (bigger than "software" over last 20 years)

- allow new business models that were never possible in manufacturing (e.g. robots for "rent" - subscription model, gamification, flex-work like Uber for tele-operated robots in manufacturing; low-volume sales)

- order of magnitude better physical health of workers (lower injuries, more fun)

- savings for manufacturers (not just on labor, but lower insurance etc.)

- a 20 to 30 year hedge against the invention of general AI that seems far away and what other roboticists are chasing.

There is a potential to release huge latent wealth by creating a new industry (potentially trillions in value could be released over the next 10 years - no single company would capture it, but it would create something at least as big as "software").

Tele-ops is already successful for surgeries and dangerous situations. But it should be it’s own “field”

DC Microgrids. Massive improvements in storage, solar panels, and DC circuitry is having a massive effect on the way that people think about power. Especially utilities, appliance companies, and regulators. Also the push for electric cars is changing the demand for rapid DC charging.
GraphQL, Serverless & The Graphcool Framework
The new kinds of building blocks provided by these technologies are straight out revolutionary for backend development! I think this has a lot to do with the declarative programming model they are following.

Backend development in the way it was done using Ruby on Rails, Laravel or Express.js will become less and less appealing since the abstractions offered by the mentioned technologies are increasing development speed and generally very cost-efficient.

GraphQL minimizes the data transfer over the network by letting client applications ask for exactly the data they need, thus also making the life easier for frontend developers! Having productive engineers also makes product iteration a lot faster and cheaper, which directly results in business value!

Finally, Serverless enables great deployment workflows and minimizes the overhead companies need to invest in DevOps.

How do you do backend optimizations with GraphQL? For example can I limit the number of records someone can ask for from the backend? Can I limit the time the query runs on my database from the backed? Can I change the order of joins so that my indexed column is hit first? Or hard set what index is used for that rare case that the database tries to use the wrong one?
Brain machine interfaces and neurotechnology. The cycle time is a little longer than releasing a new tinder app but movement in this space has been speeding up with Neuralink, Braingate, heavy investments in neuroscience worldwide with the NIH brain initiative, DARPA's numerous programs, European brain project, and massive investments from private foundations like the Simons, Wellcome trust, Allen institute, HHMI, etc.
Automation and tools that augment human productivity and time saving tools.

For instance, we're helping web developers to automate their regression test construction. This frees the developer up to develop their code, rather than spend all their time developing test cases: https://swif.club/?s=hn1

The field of deep learning seems to produce breakthrough results every other day.
But I wouldn't call deep learning a "technology". DL is a branch of mathematics, technology (e.g programming language, ML framework) is secondary, and most important non-mathematical advancements in the field of DL are those in hardware, not in software.
I consider DL to be a technology. Of course there is DL theory, but most people doing DL are engineers. To say that most advancements are in hardware really trivializes the engineering breakthroughs made in computer vision, language understanding, robotics, etc. DL is enabled by better hardware, but it still requires a lot of work.
> DL is a branch of mathematics

Don't tell the mathematicians that. There's a lot of informal DL floating around.

Mathematicians built computing including programming language semantics
CRISPR
AI/ML - specifically Deep Bayesian approaches. The Deep neural network might have run its course, but Bayesian approaches (Probabilistic Graph Models) hold a lot of promise.
I think "run it's course" is a little needlessly pessimistic when there are still major strides being made each year in that area.
This comes off as pretty biased. "Run its course?" - really? Remind me, did DeepMind use Probabilistic Graphical Models to beat Lee Sedol at Go? Does any of OpenAI's research use them?
just clarifying that there are many ways to incorporate Bayesian approaches in ML besides probabilistic graphical models
Not block chain, Internet of things, self driving cars.
Drones.

Design: increased efficiency and distance. Automation and auto pilot.

Applications: find new verticals to apply this technology. Many industries can be disrupted.

Don't mean to be a downer, but it feels like we'll get to self-driving cars before we can automate/autopilot drones.

Having to consider additional degrees of freedom (z-axis, correction for wind/weather conditions) makes autopiloting drones additional degrees of magnitude harder.

WebAssembly and decentralization are big ideas. Things are moving very rapidly there are probably 100 right answers to this question.
Memristors
Yep. I really want to get my hands on some to start experimenting with, but the ones that are available are still fairly expensive. :-(
Algorithmic mechanism design, agent based neural nets design and lastly Network science
Machine Learning in general. Not just the NN flavour du jour, but the area in the large.
3D (OpenGL, Vulkan, Metal et al), GPGPU and AR. Not so sure about VR though.
Formal methods and provably-correct software.
I have a soft spot for formal methods, but how do you see this taking off?
VR and AR
Cryptocurrencies
AI and ML