Ask HN: What's the next big thing in computing / programming?
I managed to surf some of the software hype waves, some like "AI" have not really benefitted me in a major way and some, like crypto I deliberately ignore by now.
What do you think is the next big thing in programming or computers/Internet in general?
I'm thinking low-code or no-code tools that are actually composable by programmers perhaps?
How about something in the physical space - are we going to see more types of wearables, for example?
Basically I'm looking for ideas on what to focus my learning on in 2022.
170 comments
Real personal computing, that benefits end-users on their terms. In the Future of Coding community, we often use the analogy of "home cooking". As in, we have restaurants & professional chefs but not enough home cooks in computing. Tools & processes are super different when you're cooking for yourself / family vs for a restaurant!
There are a few trends that are tiptoeing on the edges here:
- tools for thought / creative tools (Muse, Nodes.io, Mem, etc)
- end-user programming (people trying everything from visual PL's to simpler / more constrained programming interfaces)
- local-first software (https://www.inkandswitch.com/local-first/)
- web3 - I'm biased here and a bit skeptical of the fervor here, but matches some of the ethos / philosophy
- more customizable / hackable personal computing hardware (https://frame.work/)
- spatial + tactile computing so the body can participate in the thinking process (instead of only the 'head'): https://dynamicland.org/
- explorables, games / interactive viz to quickly transfer rich context: https://explorabl.es/
- video games, often indie ones, are exploring deep ideas: see Zachtronics games, Jonathan Blow's games, some of Annapurna Interactive funded games, etc. So many!
- open data: better end-user data tools so anyone can understand the systems around them
There are a few trends that are tiptoeing on the edges here:
- tools for thought / creative tools (Muse, Nodes.io, Mem, etc)
- end-user programming (people trying everything from visual PL's to simpler / more constrained programming interfaces)
- local-first software (https://www.inkandswitch.com/local-first/)
- web3 - I'm biased here and a bit skeptical of the fervor here, but matches some of the ethos / philosophy
- more customizable / hackable personal computing hardware (https://frame.work/)
- spatial + tactile computing so the body can participate in the thinking process (instead of only the 'head'): https://dynamicland.org/
- explorables, games / interactive viz to quickly transfer rich context: https://explorabl.es/
- video games, often indie ones, are exploring deep ideas: see Zachtronics games, Jonathan Blow's games, some of Annapurna Interactive funded games, etc. So many!
- open data: better end-user data tools so anyone can understand the systems around them
To add to the list:
- 'Authorship Environments: In search of the “personal” in personal computing' Strangeloop talk (https://www.youtube.com/watch?v=5U6MkU5fLJw)
If we are to make computing personal, as any medium of thought needs to be, we'll need a new framework, a new way to think about computing, We'll need to shed the ingrained assumptions. We'll need a new language: no more "users" and "programmers." I've never heard a good definition of either but these terms are too loaded and too corrosive today.*
I am not claiming this is the next big thing, but if we are to move to the sort of goals described in a number of the projects in the list, something like this will have to happen.
* Best one I know is of programming: blindly manipulating symbols in hope of an outcome.
- 'Authorship Environments: In search of the “personal” in personal computing' Strangeloop talk (https://www.youtube.com/watch?v=5U6MkU5fLJw)
If we are to make computing personal, as any medium of thought needs to be, we'll need a new framework, a new way to think about computing, We'll need to shed the ingrained assumptions. We'll need a new language: no more "users" and "programmers." I've never heard a good definition of either but these terms are too loaded and too corrosive today.*
I am not claiming this is the next big thing, but if we are to move to the sort of goals described in a number of the projects in the list, something like this will have to happen.
* Best one I know is of programming: blindly manipulating symbols in hope of an outcome.
This! I believe while we have this powerful machines at our fingertips, we still haven't scratched the surface of them being useful. And now, people think more about how to get customers then how to make useful stuff that people would love to use and it would make their life better.
I adore the banner idea here. The various trends are interesting, but I still don't see anything that really sings deeply to me. They all have hints of the real, of a coming harmony & bridging of the gulf between development & user, but they fall short too.
End-user programming comes close, but I don't think it's the real notion. It makes primary the programmability, which is, imo, an unncessary ego-centrism. Software simply making what it does visible, making it observable, and inviting in the potential for interaction, for manipulation, change, alteration: that, to me, is where we must go. I'm delighted and quite surprised to see this comment having risen mightily in the rankings, to the #2 spot, but permit me to cite the #1 comment in reflection here:
> "We’ve known for a long time that software will eat the world — the comings and going’s of everyday life, once they are expressed as code, become infinitely easier to patch and improve using only a keyboard and display."
To me, it's less about home-cooked & home-grown & indie, and more about software that has a basic fair shake. Software is either societal in nature: it participates in, shapes/can be shaped, discusses itself, engages in the democratic processes of the world. Or it is a closed, dark entity. I see little ways to regard most software as anything other than alien and hostile, as invasive & anti-communicative: a blackbox, with us trapped inside.
The way through though is incremental. Finding new ways to let the software we have expose itself, to make itself visible & explicit & introspectable & orchestrateable & controllable & malleable. I believe software high & low will better serve the world, be better able to do it's job, when there is a general systems fabric & when it can keep us in the loop.
End-user programming comes close, but I don't think it's the real notion. It makes primary the programmability, which is, imo, an unncessary ego-centrism. Software simply making what it does visible, making it observable, and inviting in the potential for interaction, for manipulation, change, alteration: that, to me, is where we must go. I'm delighted and quite surprised to see this comment having risen mightily in the rankings, to the #2 spot, but permit me to cite the #1 comment in reflection here:
> "We’ve known for a long time that software will eat the world — the comings and going’s of everyday life, once they are expressed as code, become infinitely easier to patch and improve using only a keyboard and display."
To me, it's less about home-cooked & home-grown & indie, and more about software that has a basic fair shake. Software is either societal in nature: it participates in, shapes/can be shaped, discusses itself, engages in the democratic processes of the world. Or it is a closed, dark entity. I see little ways to regard most software as anything other than alien and hostile, as invasive & anti-communicative: a blackbox, with us trapped inside.
The way through though is incremental. Finding new ways to let the software we have expose itself, to make itself visible & explicit & introspectable & orchestrateable & controllable & malleable. I believe software high & low will better serve the world, be better able to do it's job, when there is a general systems fabric & when it can keep us in the loop.
> > "We’ve known for a long time that software will eat the world — the comings and going’s of everyday life, once they are expressed as code, become infinitely easier to patch and improve using only a keyboard and display."
Yeah, I kinda see this as the exact opposite. The fact that symbolic code, keyboards, and displays are all tied together is no accident. It's a limitation that prevents computation / simulation from being used in situations that aren't oriented around text-input.
There's so many situations like this! We're a bit blind to it, because we're used to pulling out our phone, and it's hard to predict what we'd all use computers for if we escaped the trappings of mouse-keyboard-text-code. It's just like how cheap paper / the push for literacy helped make paper receipts at coffee shops a thing, but nobody could have predicted cheap-paper-receipts in the 1600's when books were so insanely laborious to create (forget even read!).
Yeah, I kinda see this as the exact opposite. The fact that symbolic code, keyboards, and displays are all tied together is no accident. It's a limitation that prevents computation / simulation from being used in situations that aren't oriented around text-input.
There's so many situations like this! We're a bit blind to it, because we're used to pulling out our phone, and it's hard to predict what we'd all use computers for if we escaped the trappings of mouse-keyboard-text-code. It's just like how cheap paper / the push for literacy helped make paper receipts at coffee shops a thing, but nobody could have predicted cheap-paper-receipts in the 1600's when books were so insanely laborious to create (forget even read!).
Curious, when you say open data so anyone can understand the systems around them, what do you mean? What isn't working?
It's insanely laborious to pull in information from datasets on systems, quickly transform them to approximate the answer to a question you're trying to answer, and have a discussion around it. Some examples:
- Have restaurants in my local town started to close earlier because of worker shortages, COVID, and the chaos of the last 2 years? - Which nearby public parks are both free, open right now, and not too busy? And also will it rain soon?
The state of the art for this is probably CSV's & Excel / spreadsheet, with lots of limitations. Most datasets are hidden behind obscure API's, available only to programmers.
And then let's say you want to have this type of computational conversation while sitting around the dinner table? Forget about it
- Have restaurants in my local town started to close earlier because of worker shortages, COVID, and the chaos of the last 2 years? - Which nearby public parks are both free, open right now, and not too busy? And also will it rain soon?
The state of the art for this is probably CSV's & Excel / spreadsheet, with lots of limitations. Most datasets are hidden behind obscure API's, available only to programmers.
And then let's say you want to have this type of computational conversation while sitting around the dinner table? Forget about it
The granularity of computing seems to become finer by the day and with it comes ever faster and more fluid tooling and creativity.
What would once be a metal machine onto which you load executable code has become a thing that you can run virtually. Containers, serverless lambdas, dynamic language runtimes. Everything becomes faster, more fungible (a zeitgeist word but I mean it in the old way) and easier to work with.
We’ve known for a long time that software will eat the world — the comings and going’s of everyday life, once they are expressed as code, become infinitely easier to patch and improve using only a keyboard and display.
What’s new and ongoing is that software is eating itself. Another comment here expresses this as code becoming a data structure but that’s too pure for me. The practical improvements we’ll see don’t need to go that far and won’t be as zealous but we’ll reap the same rewards.
I’m personally looking forward to the next generations of infrastructure as code, where all the useful parts are factored out of the current monolithic ecosystems and become as composable as actual code is. It feels like, to draw an analogy with version control systems, we are at that 2005 boundary of CVS to SVN, and git is still around the corner.
What would once be a metal machine onto which you load executable code has become a thing that you can run virtually. Containers, serverless lambdas, dynamic language runtimes. Everything becomes faster, more fungible (a zeitgeist word but I mean it in the old way) and easier to work with.
We’ve known for a long time that software will eat the world — the comings and going’s of everyday life, once they are expressed as code, become infinitely easier to patch and improve using only a keyboard and display.
What’s new and ongoing is that software is eating itself. Another comment here expresses this as code becoming a data structure but that’s too pure for me. The practical improvements we’ll see don’t need to go that far and won’t be as zealous but we’ll reap the same rewards.
I’m personally looking forward to the next generations of infrastructure as code, where all the useful parts are factored out of the current monolithic ecosystems and become as composable as actual code is. It feels like, to draw an analogy with version control systems, we are at that 2005 boundary of CVS to SVN, and git is still around the corner.
so what's the advice here- learn more about tools like Terraform, k8s and nix?
I don't know, but i'm pretty sure its going to be nothing that's listed here.
Everything listed here is stuff at the high end of the hype cycle. Everyone is already looking at it. The next big thing is going to be something nobody is looking at. If people are already looking, it would have already happened.
Everything listed here is stuff at the high end of the hype cycle. Everyone is already looking at it. The next big thing is going to be something nobody is looking at. If people are already looking, it would have already happened.
There's multiple cycles. Hype usually predates the technology by several years. Drones are common now. But the last drone hype I saw was 20 years ago. AI has been around longer than I was born. Stuff like DDD and functional programming are ancient but they've become more popular in recent years.
I think it takes a long time. Often the tech is a puzzle piece when we don't have the rest of the puzzle yet.
I think it takes a long time. Often the tech is a puzzle piece when we don't have the rest of the puzzle yet.
I think VR definitely fit this. What we are seeing now is like the web 2.0 wave of VR.
I often compare VR to 3D during the 80s. It's still early. I don't think it'll take over though. It's just uncomfortable sitting in a headset for too long, like there's a human instinct to see if someone else is in the same room as you or something.
I'm not sure if it will end up being the case, but I would like to hope that open firmware and/or hardware will become a big thing in the next decade. Open source software has been such a game changer, and it would be amazing if we could realise the same benefits in the embedded/hardware sphere.
There is a mountain of gatekeeping at the CPU, motherboard, and firmware levels that benefits only governments and manufacturers. It will need to be routed around or tunneled through at each layer.
I cannot imagine people having mini fabs at their house like that have 3d printers. But, the technology could reach the point where making an ASIC could be dirt cheap. Imagine being able to get your own chip created at a micro fab for dirt cheap?
Me too, I recently started using OpenWRT and I'm blown away. Also used pfSense for years.
I second this and for several major reasons:
1. Prices are down(yes, lower down your guns). I'm not talking about CPUs or GPUs but embedded products. It's absolutely mind blowing that you can get the computational power of a mid-90's computer with the size of a coin for just a few bucks. Same goes for sensors, transceivers, motors and communication modules.
2. 3D printing has come a long way, also dirt cheap and easily accessible to people and is yet another game changer for prototyping. Essentially you can have a functional part in your hands in a day.
3. With works towards lowering carbon footprint(further amplified by inflation), smart devices with low footprint will become more popular-anything which will lower costs. It may sound counter intuitive at first glance but you can imagine how a smart home/office/factory/store/restaurant/anything could be more efficient if power consumption is managed in the most efficient way possible and likely far better than you ever could.
4. Open firmware and hardware is going to be a game changer in another area which seemed completely out of reach just a few years ago - space exploration. Even there, the prices have dropped massively. And there's one more thing when it comes to space exploration: I know that people are really on both extremes when it comes to opinions on Elon Musk but here are my thoughts: ignore what he says and pay attention to what he does. I'm not entirely sure that he's right on electric cars and I suspect that he might not be on the winning side if synthetic fuels become widely available. The one thing which makes me sway towards them are the billions Porsche is pouring into research in that area and credit where it's due: they have been right throughout the entirety of the automotive history.
5. Industrial purposes. Again looking at what Elon Musk is doing - I think he is giving us a glimpse of what Industrial revolution 2.0 might look like. And again something which was further fueled by the pandemic.
The one thing that I see truly missing in the picture is cheap, fast and easy way to make PCB prototypes - that is still an expensive and complicated endeavor. Or at least I am not aware of a cheap and efficient way to do this. I've personally gone as far as trying to figure out a way to use conductive paint for that purpose. With 0 success so far I'm afraid.
1. Prices are down(yes, lower down your guns). I'm not talking about CPUs or GPUs but embedded products. It's absolutely mind blowing that you can get the computational power of a mid-90's computer with the size of a coin for just a few bucks. Same goes for sensors, transceivers, motors and communication modules.
2. 3D printing has come a long way, also dirt cheap and easily accessible to people and is yet another game changer for prototyping. Essentially you can have a functional part in your hands in a day.
3. With works towards lowering carbon footprint(further amplified by inflation), smart devices with low footprint will become more popular-anything which will lower costs. It may sound counter intuitive at first glance but you can imagine how a smart home/office/factory/store/restaurant/anything could be more efficient if power consumption is managed in the most efficient way possible and likely far better than you ever could.
4. Open firmware and hardware is going to be a game changer in another area which seemed completely out of reach just a few years ago - space exploration. Even there, the prices have dropped massively. And there's one more thing when it comes to space exploration: I know that people are really on both extremes when it comes to opinions on Elon Musk but here are my thoughts: ignore what he says and pay attention to what he does. I'm not entirely sure that he's right on electric cars and I suspect that he might not be on the winning side if synthetic fuels become widely available. The one thing which makes me sway towards them are the billions Porsche is pouring into research in that area and credit where it's due: they have been right throughout the entirety of the automotive history.
5. Industrial purposes. Again looking at what Elon Musk is doing - I think he is giving us a glimpse of what Industrial revolution 2.0 might look like. And again something which was further fueled by the pandemic.
The one thing that I see truly missing in the picture is cheap, fast and easy way to make PCB prototypes - that is still an expensive and complicated endeavor. Or at least I am not aware of a cheap and efficient way to do this. I've personally gone as far as trying to figure out a way to use conductive paint for that purpose. With 0 success so far I'm afraid.
This is definitely an area that is going to grow. I think most of the initial growth will be in the low-end, cheap, disposable projects - stuff for managing your home (IoT), for example where you want as much control over the whole stack as possible.
The current IoT hype has blown over a little, but the need to control various things around you in an intelligent and safe way is still an unsolved problem, worth exploring further.
> The current IoT hype has blown over a little
I don't think it ever picked up: It was trying to solve a problem which didn't exist at the time. In the mid 2010's when they started popping up, the economy was growing and most of climate change, lowering carbon footprints and all that was seen as "Greta Thunberg's pretentious and delusional world" to working class citizens. And for the most part that still would have been the case if it wasn't for covid and the accompanying inflation. I don't think average Joe has learned a lesson from it or realizing how fragile our economy is. Almost like enforced necessity: "hey my electric bill is 4 times what it used to be" opens a new market. The ecosystem however was(and sadly still is) appalling: You get a hama wifi enabled light bulb, you need to download their app to set it up. You buy a Phillips one a few months later and you need to download yet another app to set it up. Not to mention the absolute hell that are both google home and alexa. Worst of all is that there are no efforts to open source alternatives(home assistant technically relies on either google or amazon). Privacy aside, their interfacing options are equally annoying. I do have a few wifi enabled light bulbs and I turn them on for my dog when I'm not at home through google and it is just as messy as it was on day one.
I don't think it ever picked up: It was trying to solve a problem which didn't exist at the time. In the mid 2010's when they started popping up, the economy was growing and most of climate change, lowering carbon footprints and all that was seen as "Greta Thunberg's pretentious and delusional world" to working class citizens. And for the most part that still would have been the case if it wasn't for covid and the accompanying inflation. I don't think average Joe has learned a lesson from it or realizing how fragile our economy is. Almost like enforced necessity: "hey my electric bill is 4 times what it used to be" opens a new market. The ecosystem however was(and sadly still is) appalling: You get a hama wifi enabled light bulb, you need to download their app to set it up. You buy a Phillips one a few months later and you need to download yet another app to set it up. Not to mention the absolute hell that are both google home and alexa. Worst of all is that there are no efforts to open source alternatives(home assistant technically relies on either google or amazon). Privacy aside, their interfacing options are equally annoying. I do have a few wifi enabled light bulbs and I turn them on for my dog when I'm not at home through google and it is just as messy as it was on day one.
How cheap do you want PCBs to be? They're already at the point where shipping costs dominate the price. https://jlcpcb.com/
In the US maybe. In a small country in eastern Europe having this done in 24 hours for peanuts exists only in the realm of science fiction. The fastest and cheapest service I know of here is not that far from my flat and you'd be lucky to get them to do anything in less than a week and for less than 70-80 bucks, shipping not included.
If you 3D print your own, you don't have to pay the shipping ;-)
you still have to pay for the shipping of the 3d printer and the filament...
Re insutrial revolutioon, FYI, they're calling it industry 4.0 now, although I'm pretty sure it didn't happen how they expected, so maybe they'll just call it industry 5.0. Or better yet, it will somehow become part of the metaverse :/
Not personally excited for this, but I think the next big thing will be the internet and computers becoming "hyper-transactional" through crypto. I believe this is what companies like Facebook are really pushing toward when they talk about Web 3.0 and the metaverse. It will still, for the most part, be the same internet accessed through phones and computers, but videogame-style micro-transactions powered by crypto will become part of most websites to access content. Since every site having micro-transactions would probably piss off a lot of the general population, I think there will also be an explosion of new ways to earn very small amounts of crypto online, by doing mechanical turk style tasks, playing a new game, creating a bit of content for someone, etc. Average consumers will earn these small amounts of crypto, then immediately spend them on the content they want.
I wonder if this starts to pan out whether it might lead to something like the below comment regarding reduced consumption of digital media. I can see a scenario where the majority of businesses/apps/sites that implement this see a significant drop in traffic. Generally, people like stuff for free, and even though the expression of anti-advertising is in vogue, I find it hard to believe that the majority of people would choose paying any amount over a free/ad-induced version.
Imagine getting paid in crypto to watch ads on a platform? This would be an interesting incentive.
I also hope this doesn't happen, but it's a valid scenario.
Anything in sustainability.
Climate change and related issues are driving big changes that large corporates are already having to address regardless of impending legislation.
Energy efficiency, waste management, sustainable computing, carbon markets, regulatory compliance and reporting (ISO50001), smart grids, EV logistics... there are so many areas.
Anything that you choose to focus on next year will be immensely valuable and important when the demand suddenly picks up before the end of the decade. You can build up on your existing technical foundations.
Climate change and related issues are driving big changes that large corporates are already having to address regardless of impending legislation.
Energy efficiency, waste management, sustainable computing, carbon markets, regulatory compliance and reporting (ISO50001), smart grids, EV logistics... there are so many areas.
Anything that you choose to focus on next year will be immensely valuable and important when the demand suddenly picks up before the end of the decade. You can build up on your existing technical foundations.
I think people will soon realize that code is a data structure, not text.
Like a hash map or an array, its text representation is merely a human-readable interface to it. I predict the capabilities of IDEs will expand, and to make their state persistent, they will begin to store IDE-specific files in your source code directory. Eventually this will morph into the source code itself being stored in binary format and opened/searched by editors.
The programming language Unity is pioneering in this domain, but they are too far ahead of their time. The transition to code-as-data will be gradual.
Like a hash map or an array, its text representation is merely a human-readable interface to it. I predict the capabilities of IDEs will expand, and to make their state persistent, they will begin to store IDE-specific files in your source code directory. Eventually this will morph into the source code itself being stored in binary format and opened/searched by editors.
The programming language Unity is pioneering in this domain, but they are too far ahead of their time. The transition to code-as-data will be gradual.
>> people will soon realize that code is a data structure, not text
Are you being tongue in cheek because most haven’t realised it in 63 years!!!
[1] https://en.wikipedia.org/wiki/Lisp_(programming_language)
Are you being tongue in cheek because most haven’t realised it in 63 years!!!
[1] https://en.wikipedia.org/wiki/Lisp_(programming_language)
When I see people talking about storing code in an AST representation or something similar, I see people who are focusing on the "happy path" and not really thinking about why code-as-text has been so sticky for half a century.
(1) Code spends a huge amount of time in a non-parsable state. I need to be able to save code even when it's not currently parsable into a valid AST of the language I am writing. Sometimes I even need to check in this code to my source control. You cannot have the primary storage of your code be valid, parsed syntax trees for this reason, so you need to invent a brand new format that is different from both text and the AST being modeled. This format needs to be optimized for programmer workflow, clarity, and communication; not optimized for the machine.
(2) You need to re-invent how source control works for your representation if you're not using text. This actually has a lot of potential -- syntax-aware merging done well would be a godsend. But this is a huge undertaking to do well, and problem 1 rears its head strongly here as well.
(1) Code spends a huge amount of time in a non-parsable state. I need to be able to save code even when it's not currently parsable into a valid AST of the language I am writing. Sometimes I even need to check in this code to my source control. You cannot have the primary storage of your code be valid, parsed syntax trees for this reason, so you need to invent a brand new format that is different from both text and the AST being modeled. This format needs to be optimized for programmer workflow, clarity, and communication; not optimized for the machine.
(2) You need to re-invent how source control works for your representation if you're not using text. This actually has a lot of potential -- syntax-aware merging done well would be a godsend. But this is a huge undertaking to do well, and problem 1 rears its head strongly here as well.
> (1) Code spends a huge amount of time in a non-parsable state.
One way to attack this is via holes, as in https://hazel.org/
One way to attack this is via holes, as in https://hazel.org/
> (2)
Have you heard of https://dion.systems/ that was linked here recently? They are working towards going away from text as the source format.
It remains to be seen whether or not it is a good idea and/or if it will succeed if it is.
> (1)
I guess in something like Dion, you have a source format that doesn't allow syntax errors, since you are not editing something that can be in an invalid state (necessarily).
Have you heard of https://dion.systems/ that was linked here recently? They are working towards going away from text as the source format.
It remains to be seen whether or not it is a good idea and/or if it will succeed if it is.
> (1)
I guess in something like Dion, you have a source format that doesn't allow syntax errors, since you are not editing something that can be in an invalid state (necessarily).
> I think people will soon realize that code is a data structure, not text.
Always 5 years out, like nuclear fusion. :-(
Always 5 years out, like nuclear fusion. :-(
So you mean smalltalk or lisp?
Deno is the thing I think I can realistically hope for as a technological breakthrough in 2022.
If it does it can become huge. Not because of TypeScript as a native language. Not because it can create binaries. Not because it has an audited standard library or any other good reason.
But because it includes a simple but flexible way to prevent itself from doing things the author didn't want it to.
If we are extremely lucky other platforms will pick this up.
If it does it can become huge. Not because of TypeScript as a native language. Not because it can create binaries. Not because it has an audited standard library or any other good reason.
But because it includes a simple but flexible way to prevent itself from doing things the author didn't want it to.
If we are extremely lucky other platforms will pick this up.
What do you mean?
I mean that explicitly having to request the permissions an app needs from the OS using a simple, powerful syntax is smart and Deno got it right.
I hope other runtimes pick it up and I hope package managers pick it up too.
I hope other runtimes pick it up and I hope package managers pick it up too.
I think that decentralization is coming in a big way. The myriad of scandals and corruption surrounding the largest tech companies being one of many push forces, and platforms supporting self hosting with little technical expertise and products encouraging the same being pull forces.
A small bit of confirmation for this in my mind is the increase in companies switching to a business model that is aware of this. "We will host it for you for a fee, but we fully support self-hosting too." ala Gitlab and Ghost (https://ghost.org/docs/hosting/)
A small bit of confirmation for this in my mind is the increase in companies switching to a business model that is aware of this. "We will host it for you for a fee, but we fully support self-hosting too." ala Gitlab and Ghost (https://ghost.org/docs/hosting/)
Better, simpler data flow frameworks. Represent all your business's logic declaratively, or at least succinctly. Connect up all the inputs, batch or streaming. The platform automagically maintains your data, always consistent and up-to-date. Apps are just views on top of this that trigger more events later. Find a bug in some of your logic? Fix it and the entire dataset refreshes, with policies on how you want to deal with external integrations that trigger off the back of that. This is what a lot of enterprise data infrastructure already looks like, but cobbled together and slow and buggy. I don't think adding no/low code on top of that really moves the needle. Make it painless and joyful from beginning to end.
If you're thinking of wearables, I personally don't think there's anything interesting there until someone can work out a decent high-bandwidth way of communicating with your device. Gimme something like subvocalisation that doesn't require me to wear something stupid or talk out loud.
If you're thinking of wearables, I personally don't think there's anything interesting there until someone can work out a decent high-bandwidth way of communicating with your device. Gimme something like subvocalisation that doesn't require me to wear something stupid or talk out loud.
Thanks for sharing. Are there any dataflow frameworks you are particularly pleased with at the moment?
I think Materialize is a wonderful product for what it is, but is somewhat narrow. At the very least I'd love if it started to incorporate window functions as well as just lateral queries though. A gap in the market that I'd like to see filled is stateful stream processing where you care about sequences of events. Kafka Streams removes the need to care about windows and watermarks, for example, so you can accommodate extremely late data in a simple aggregate, but no frameworks that I'm aware of make it easy to work with state machines over sequential data where events in that sequence might arrive or be updated later. Give me the illusion of being able to run forward-only logic over an entire historical dataset on every update, while remaining fast, and I'd be a very happy camper.
Materialize looks fantastic. Thank you
ARM will continue to make inroads in the server space as adoption picks up and as more and more projects target that architecture
Personal bias talking, but I'd expect to see modest uptick in Nix[os] interest
Kubernetes will transition from new and exciting to a mature platform. Expect less new big features and more minor improvements
Personal bias talking, but I'd expect to see modest uptick in Nix[os] interest
Kubernetes will transition from new and exciting to a mature platform. Expect less new big features and more minor improvements
Genuinely curious, I've heard of Nix OS but I don't know anything about it. Why do you think interest will grow, and would you recommend it?
I love it, but I'd hold off on recommending it outright for everyone. There's a learning curve to be sure and if you run software not provided in its packing system it can take time to port to the Nix way
Just about everything in a NixOS is configured in a declarative way, but that only really scratches the surface. It's the first Linux OS I've used that configuration is done at a wholistic level
Say for example you have a RHEL/Debian Linux server and you want to see how it’s configured. This sounds easy, but can be quite time consuming. You can see what packages are installed but then you’d need to examine all the /etc files. Try and see which ones are modified. Look at all services, look for further configuration that may exist in /opt or /usr. When you get to a certain scale tools like Chef, Puppet or Salt tend to help with managing configuration. Over time to meet compliance and monitoring requirements configuration can grow. And that’s not getting into any filesystem permissions you may set.
If you're using `yum install` or `apt-get` to install packages out of the system repos, you'll get the latest package in that repo. Run that command at different times, you can get a different package version
In NixOS the system and packages are versioned together; makes for very reproducible systems. The downside/upside (depending on your needs) is, updating your kernel will update your packages in lockstep
With NixOS, you can configure a complete system with a single file making Chef, Puppet or Salt obsolete. Once you get over that first hurdle of using NixOS and moving your workloads to it, it tends to be easier to maintain
The major downside I run into is that most of the world does not use Nix[OS]. So if you need something not provided by Nix[OS], you’ll need to learn how to make your own package (derivation)
There are many caveats to everything I said above, but its the general idea
Just about everything in a NixOS is configured in a declarative way, but that only really scratches the surface. It's the first Linux OS I've used that configuration is done at a wholistic level
Say for example you have a RHEL/Debian Linux server and you want to see how it’s configured. This sounds easy, but can be quite time consuming. You can see what packages are installed but then you’d need to examine all the /etc files. Try and see which ones are modified. Look at all services, look for further configuration that may exist in /opt or /usr. When you get to a certain scale tools like Chef, Puppet or Salt tend to help with managing configuration. Over time to meet compliance and monitoring requirements configuration can grow. And that’s not getting into any filesystem permissions you may set.
If you're using `yum install` or `apt-get` to install packages out of the system repos, you'll get the latest package in that repo. Run that command at different times, you can get a different package version
In NixOS the system and packages are versioned together; makes for very reproducible systems. The downside/upside (depending on your needs) is, updating your kernel will update your packages in lockstep
With NixOS, you can configure a complete system with a single file making Chef, Puppet or Salt obsolete. Once you get over that first hurdle of using NixOS and moving your workloads to it, it tends to be easier to maintain
The major downside I run into is that most of the world does not use Nix[OS]. So if you need something not provided by Nix[OS], you’ll need to learn how to make your own package (derivation)
There are many caveats to everything I said above, but its the general idea
If Musk gets Starship to work and is successful in driving down the costs of launching material into LEO by another couple of orders of magnitude as intended then you can expect to see an explosion in the numbers of cheap and cheerful cubesats, not to mention experimental LEO factories and general weird stuff floating around in orbit. There will be a massive need for people to write control code and to process the data coming in. Unlike in the past the emphasis will be on knocking out "good enough" code, rather than something that is written to NASA standards, because the hardware being launched will be so cheap and the launch costs even cheaper. It is hard to get a grip on just how much more stuff is going to be up there by the end of the decade, all of which will require software writing for it.
Seems like it could be a textbook case of first-mover advantage.
Hyper IOTization. I'm coining the term.
- pots that tell you when they are hot.
- bikes that say their tires are flat.
- weights that track how many reps you did.
- shoes that tell you: stop landing on your heels so hard.
- pillboxes that shove pills down your throat.
- pillboxes that shove politics down your throat.
- chargers that tell you their pronouns are he/him.
- coffee mugs that tell you weather.
- pants that say you've worn them too long.
- windshields that tell you to stop texting.
- food containers that tell you maybe you shouldn't eat that leftover casserole.
IOT is gonna be the next big thing, get on the hype train cause this ones for real. Don't be left behind still writing SQL.
- pots that tell you when they are hot.
- bikes that say their tires are flat.
- weights that track how many reps you did.
- shoes that tell you: stop landing on your heels so hard.
- pillboxes that shove pills down your throat.
- pillboxes that shove politics down your throat.
- chargers that tell you their pronouns are he/him.
- coffee mugs that tell you weather.
- pants that say you've worn them too long.
- windshields that tell you to stop texting.
- food containers that tell you maybe you shouldn't eat that leftover casserole.
IOT is gonna be the next big thing, get on the hype train cause this ones for real. Don't be left behind still writing SQL.
> pots that tell you when they are hot.
Tell you how? Send you a text? Yeah, no. Do not need.
Tell you verbally (because they expect that you're within earshot of the kitchen)? Maybe.
> bikes that say their tires are flat.
Useful, even if they do it by text.
> weights that track how many reps you did.
Marginally useful. I can count fairly well.
> shoes that tell you: stop landing on your heels so hard.
Useful, but most people won't want them.
> pillboxes that shove pills down your throat.
Pillboxes that remind you to take your pills are useful for those who are forgetful.
"Shove"? Not my pills. I presume that was sarcasm, but if it wasn't, I own a sledgehammer.
And that's my answer to most of the rest of your list. I won't buy it; if I can't buy something without it, I'll disable it if at all possible.
Tell you how? Send you a text? Yeah, no. Do not need.
Tell you verbally (because they expect that you're within earshot of the kitchen)? Maybe.
> bikes that say their tires are flat.
Useful, even if they do it by text.
> weights that track how many reps you did.
Marginally useful. I can count fairly well.
> shoes that tell you: stop landing on your heels so hard.
Useful, but most people won't want them.
> pillboxes that shove pills down your throat.
Pillboxes that remind you to take your pills are useful for those who are forgetful.
"Shove"? Not my pills. I presume that was sarcasm, but if it wasn't, I own a sledgehammer.
And that's my answer to most of the rest of your list. I won't buy it; if I can't buy something without it, I'll disable it if at all possible.
Your response comes a bit across as old-man-yells-at-clouds.gif, I'm mildly amused. ;) If you wouldn't object, I'd like to change you to be a bit more open-minded: read Doctorow's sci-fi novel "Makers" which paints a more coherent, broad picture of a world with similar elements that GP mentioned. Book review: https://www.wired.com/2011/05/cory-doctorow-predicts-the-fut...
> shoes that tell you: stop landing on your heels so hard.
This might happen quite quickly. Thing is how you walk and how much you abuse your legs can be a major source of problems like shot knees in the long run. And these things creep, they don't just happen quickly so you can't remedy it so fast.
This might happen quite quickly. Thing is how you walk and how much you abuse your legs can be a major source of problems like shot knees in the long run. And these things creep, they don't just happen quickly so you can't remedy it so fast.
Already exists. I managed a project for a well-known company in the sneaker industry that sends gait & foot pressure data from the shoe to an app and they have been working on this for probably close to a decade at this point. I can only assume that they've decided that commercialization outside the niche of Olympic athletes isn't worthwhile.
And they are definitely not the only player since I recall writing some similar code for another organization in that field.
And they are definitely not the only player since I recall writing some similar code for another organization in that field.
I remember when I played football (like 5 years ago) there were ads in the stores for cleats with chips in it for a lot of tracking, we didn't buy them because we didn't know how to use them so I don't know how they actually worked but the marketing was there (and I suspect the actual product too)
I spent the last half-decade or so in the electronics & software end of the fitness industry and I think there are a lot of niches like this. On the one hand you have the massive market for wrist & chest strap Heart Rate Monitors, and the speed/power meters in stationary bikes. On the other there are many much smaller markets that need a particular type of fitness data that doesn't get a whole lot of external exposure.
Getting the data isn't the hard part; knowing how to make it useful is.
Getting the data isn't the hard part; knowing how to make it useful is.
The tire pressure monitoring system (TPMS) in cars is so simple ubiquitous and invaluable. No reason we can’t put more non privacy invasive or rent seeking iot devices out there.
I've been hearing that story for the last decade. What changed?
The whole post is meant to be tongue-in-cheek. I doubt people really want:
> - pillboxes that shove politics down your throat.
> - pillboxes that shove politics down your throat.
Reducing the usage and having an actual degrowth of electronic devices consumption, and especially power consumption.
If we are not choosing to go there, physics will teach us the hard way (it already begun).
Basically any region/country that is able to do the same, with less hardware, less energy will have a big advantage over the other regions/countries in the upcoming years.
If we are not choosing to go there, physics will teach us the hard way (it already begun).
Basically any region/country that is able to do the same, with less hardware, less energy will have a big advantage over the other regions/countries in the upcoming years.
Hardware has gotten more power hungry over the years not less. As long as people are more expensive than energy/hardware, I don't see this changing anytime soon. Maybe we'll get better at utilizing our high performance hardware by offloading the computations more and more to the cloud but overall energy usage will likely keep going up. Growing economies and cheap, abundant energy go hand in hand.
> Hardware has gotten more power hungry over the years not less.
Hardware has massively improved in the power/watt and computation/joule categories. The increased power consumption is because of rebound effect. If we really only used cellphones for telephone calls and SMS, we could build them to last for months on a single charge. Yet we have to charge them every day because they are built to do not just telephony, but also maps, reservations, banking, 3D games, and so on and so forth.
Hardware has massively improved in the power/watt and computation/joule categories. The increased power consumption is because of rebound effect. If we really only used cellphones for telephone calls and SMS, we could build them to last for months on a single charge. Yet we have to charge them every day because they are built to do not just telephony, but also maps, reservations, banking, 3D games, and so on and so forth.
> Yet we have to charge them every day because they are built to do not just telephony, but also maps, reservations, banking, 3D games, and so on and so forth.
While I agree with you here, I feel like people don't try to optimize an already working base. For example, I recently updated the clock app on my android phone. There is no difference in functionality in the new app, but it has the android 12 design. This time could have been spent optimizing the app in a way or another. I do the same thing on my phone as I did 5/6 years ago: read a lot online, sometimes listen to music, sometimes look at maps, sometimes use apps, telephony. My battery lasts longer these days, but not as much because my phone also has to show sweet animations and be able to run high-performance stuff (I made the error of buying a flagship phone).
While I agree with you here, I feel like people don't try to optimize an already working base. For example, I recently updated the clock app on my android phone. There is no difference in functionality in the new app, but it has the android 12 design. This time could have been spent optimizing the app in a way or another. I do the same thing on my phone as I did 5/6 years ago: read a lot online, sometimes listen to music, sometimes look at maps, sometimes use apps, telephony. My battery lasts longer these days, but not as much because my phone also has to show sweet animations and be able to run high-performance stuff (I made the error of buying a flagship phone).
I'm aware of the efficiency gains, it doesn't change what I said though. Power consumption for computing won't go down anytime soon in my opinion.
Things don't seem to be going there. We had dumb phones lasting around a week in the 00s, then switched to semi-cordless smartphones that need to be charged sometimes more than once a day. Same for RAM and CPU usage, when looking at browsers. We, developers, seem to expand our resource usage to consume whatever is available, irregardless of some theoretical minimum we could be aiming for.
Yeah it's kind of like how people have stopped opening windows in their car because they would stand out, even if it's relatively cool outside and the air is nice. People still opt to keep their air con/heat on at all times.
When's the last time you heard someone's conversation in the car beside you? Or even just their normal volume music?
This is true even in nice, mild climates.
This example is the same with homes to a degree too. People are addicted to the new, inefficient way of doing things. But I doubt we'll actually go backwards. There will be a kind of morality trend pushing us backwards but nothing much else.
When's the last time you heard someone's conversation in the car beside you? Or even just their normal volume music?
This is true even in nice, mild climates.
This example is the same with homes to a degree too. People are addicted to the new, inefficient way of doing things. But I doubt we'll actually go backwards. There will be a kind of morality trend pushing us backwards but nothing much else.
No-code. It's not understood by software developers, but it introduces the joy of simple programming to non-technical people and that genie can't be put back in the bottle.
Serverless. Current clouds are a half-step because they partially abstract away hardware. Serverless is the ultimate cloud because it abstracts away all hardware.
Self-hosted open-source alternatives to public clouds. Public cloud providers use proprietary software to provide and manage cloud services. However, open-source alternatives will eventually appear and will only require a pool of machines (virtual or not) to operate in order to provide a set of cloud services - computation, storage, identity management, load balancing, etc. This will lead to decentralization and proliferation of private self-managed clouds.
Serverless. Current clouds are a half-step because they partially abstract away hardware. Serverless is the ultimate cloud because it abstracts away all hardware.
Self-hosted open-source alternatives to public clouds. Public cloud providers use proprietary software to provide and manage cloud services. However, open-source alternatives will eventually appear and will only require a pool of machines (virtual or not) to operate in order to provide a set of cloud services - computation, storage, identity management, load balancing, etc. This will lead to decentralization and proliferation of private self-managed clouds.
2022? Probably focus on the big things of 2021. Not much will change within a year.
2032? Hard to say, but it is quite possible that software and the web will actually look quite similar to what we have now. I found the concepts in this presentation quite intriguing [1]. Some stuff like airplanes haven't changed THAT much in the last 50 years, because they are good enough for their purpose.
[1]: https://idlewords.com/talks/web_design_first_100_years.htm
2032? Hard to say, but it is quite possible that software and the web will actually look quite similar to what we have now. I found the concepts in this presentation quite intriguing [1]. Some stuff like airplanes haven't changed THAT much in the last 50 years, because they are good enough for their purpose.
[1]: https://idlewords.com/talks/web_design_first_100_years.htm
airplanes haven't changed much because safety is paramount and every crash is big PR fiasco so planes have not changed much because the industry is heavily regulated and there are duopoly players in the commercial space (Boeing/Airbus).
But I concur with some of your thesis...
Not that you’re wrong, but there seems to be this implicit assumption on hn of unbounded potential for innovation, when it stands to reason that most things are going to hit asymptotic growth at some point.
If I had to guess at one thing that will become of increasing importance over the next decade it would be privacy and security related to that. I think some jurisdictions will force this issue, and companies will have to start treating large amounts of personal data that might be stolen as a liability rather than an asset.
This is likely to be a business change as much as a technological one, but it’s definitely going to have an effect.
This is likely to be a business change as much as a technological one, but it’s definitely going to have an effect.
Security is going to be the next big thing.
I’m hoping for a small revolution in 3rd party libs and a locking down on the supply chain as a start.
I’m hoping for a small revolution in 3rd party libs and a locking down on the supply chain as a start.
I agree. Security/privacy aren’t going to become less of a problem, and knowing what is actually running on our systems is a remarkably unsolved problem.
Web3 will go through its current hype cycle peak (with lots of people both hyping and hating it), and in a few years we will see what actually comes of it. I predict we will find some interesting unforeseeable use cases for decentralized computing/currency, but it'll take some time.
I'm not sure that I like the term 'Web3', as it implies that everything will move in that direction, which I don't think will be the case. I just refer to it as the Decentralized Web. Centralization has many benefits over Decentralization and vice versa. Its a very healthy thing to happen though.
I do think it has a place, and is a promising emerging market. Which is why I've been interested in learning development in that area.
I do think it has a place, and is a promising emerging market. Which is why I've been interested in learning development in that area.
It's not too important for me what the name is, but I think the boat already sailed and the name Web3 will stick. When Web 2.0 was being born, the name wasn't that important either. It's just a social phenomenon that we need a common moniker to refer to the technology/culture at a high level.
Web3 means using UDP as the backbone protocol and with hole-punching it makes P2P interactions possible. Hence the whole decentralisation bit. Tbh ipv6 can also achieve the same goals but at the cost of de-anonymization since it's a unique marker.
Is that really the technology capability that has been added? I'm not sure you can talk about decentralized Web3 without talking about blockchain.
I credit much of Web2 kicking off with AJAX, HTML5, and CSS3. Though many others would say it was lead by mobile.
My general thoughts, it isn't one thing, or just one technology. Even Web1 was a combination of TCP/IP, HTML, HTTP, and Mosaic/Netscape.
I credit much of Web2 kicking off with AJAX, HTML5, and CSS3. Though many others would say it was lead by mobile.
My general thoughts, it isn't one thing, or just one technology. Even Web1 was a combination of TCP/IP, HTML, HTTP, and Mosaic/Netscape.
I have a bit of a knee-jerk reaction every time I hear web3, and immediately picture somewhat interesting tech with not that many practical applications.
I'm possibly lacking vision, so I'm wondering if anyone could share interesting examples of that (old) new wave of technology?
I'm possibly lacking vision, so I'm wondering if anyone could share interesting examples of that (old) new wave of technology?
Yes I think semantic technologies will become more popular as the performance overhead will be less a problem.
I believe that formal verification is the next big thing. The problem with software reliability and security becoming the most critical one and this is the way to tackle it. There is sufficient research in academia which could be used as a foundation to build tools for the industry.
but is formal verification required/needed to solve latest security issues?
I mean those related to: CPUs, NPM, External Libraries, parsers written in unsafe languages
I mean those related to: CPUs, NPM, External Libraries, parsers written in unsafe languages
In short: Yes. In many cases having solid formal foundation allows to fomulate high-level properties which would allow to catch even bugs like recent log4j. There is alreay a lot of work on formalization of ISA/CPU definitions which could allow to catch low-level bugs/expoloits.
"catch even bugs like recent log4j"
How could it help with that? JNDI lookups were a documented feature of log4j. An incredibly dangerous one, but it was intended to work like that.
How could it help with that? JNDI lookups were a documented feature of log4j. An incredibly dangerous one, but it was intended to work like that.
One can define a high-level security property, like "not executing remotely-downloaded code" and try to prove that no execution path of the program triggered by input data violates it. The formal verification will force you to consider all possible scenarios to be able to prove that this is not going to happen.
Well... it might have raised a red flag about how incredibly dangerous the feature was, because there would be no way to make the verification shut up about the code that implemented the feature (if the verification did a good job).
I don't know about log4j, but in the case of many such features, there would be a PM or somebody insisting that you have to implement his pet idea, no matter how much the tool screams.
I don't know about log4j, but in the case of many such features, there would be a PM or somebody insisting that you have to implement his pet idea, no matter how much the tool screams.
I am possibly alone in thinking the biggest thing to happen in computing in the 80s/90s was the spreadsheet. Having an immeasurable affect on the productivity of organizations large and small, to this day. So what does the 21st century version of the spreadsheet look like?
Spreadsheets that can contain database tables, yet prevent sorting only some rows or columns. Cells that can hold other sheets would be a nice addition too.
Deep neural networks are being tried everywhere, i.e. for things I didn't imagine they could be useful, others did.
no/low code tools that are accessible/useable by the masses.
And that can scale to complex systems.
Airtable?
Here's my wish list of things to happen in 2022
Capability Based Security - I keep hoping this will be the year, as we're going to be in cybersecurity drama land until it gets adopted.
Rich text source - Why not include photos, and other stuff in your source code?
Tools that take source code, compile it into an abstract syntax tree, and let you tweak that tree, then spit back out refactored source code, possibly in a different language. Maybe it's possible to go all the way to LLVM and back to Pascal?
I would hope that someone comes up with a toolkit that puts a UI on the user's machine directly in touch with server code on the back end, without HTTPs or any of that type of cruft.
Capability Based Security - I keep hoping this will be the year, as we're going to be in cybersecurity drama land until it gets adopted.
Rich text source - Why not include photos, and other stuff in your source code?
Tools that take source code, compile it into an abstract syntax tree, and let you tweak that tree, then spit back out refactored source code, possibly in a different language. Maybe it's possible to go all the way to LLVM and back to Pascal?
I would hope that someone comes up with a toolkit that puts a UI on the user's machine directly in touch with server code on the back end, without HTTPs or any of that type of cruft.
I don't think anything BIG is going to happen in next half of decade
I bet that:
autonomous cars will still suck.
CPU will just get lower and lower, but nothing fancy except maybe weird shapes concepts.
web (browsers) will still introduce some weird not privacy friendly stuff.
FP-ish languages ain't gonna be mainstream, probably nothing cool enough for purists and good enough for mainstream will appear.
decreasing energy usage seems to be irrelevant cuz people will use that energy in other way anyway.
quant computer still just fancy thing in lab.
__________________
or I've found one that I hope will be big! air purifier's cost and efficency improvements! shit's so expensive, yet so important
I bet that:
autonomous cars will still suck.
CPU will just get lower and lower, but nothing fancy except maybe weird shapes concepts.
web (browsers) will still introduce some weird not privacy friendly stuff.
FP-ish languages ain't gonna be mainstream, probably nothing cool enough for purists and good enough for mainstream will appear.
decreasing energy usage seems to be irrelevant cuz people will use that energy in other way anyway.
quant computer still just fancy thing in lab.
__________________
or I've found one that I hope will be big! air purifier's cost and efficency improvements! shit's so expensive, yet so important
Someone already mentioned Unity as ahead of the curve.
I was impressed by it being a “Framework IDE.” It contains hundreds of visual tools and workflows where actual source code files are a small component which you drag and drop into widgets. Each widget is a visual representation of a class, and it’s source code is irrelevant.
Some of these tools are visual state machines, reactions to events, version control, collaboration. Most of us won’t like that change, as we’d lose a lot of control to opinionated rigid tools.
Maybe XCode and Android Studio will evolve to that for the next generation of developers.
I was impressed by it being a “Framework IDE.” It contains hundreds of visual tools and workflows where actual source code files are a small component which you drag and drop into widgets. Each widget is a visual representation of a class, and it’s source code is irrelevant.
Some of these tools are visual state machines, reactions to events, version control, collaboration. Most of us won’t like that change, as we’d lose a lot of control to opinionated rigid tools.
Maybe XCode and Android Studio will evolve to that for the next generation of developers.
VR and 3D development.
It's much bigger than games.
There are some frameworks that are just now hitting their stride that make it 10x easier to build virtual worlds. Unreal Engine 5 in particular has been interesting to me. Even today we are seeing people who work full time in VR now. (mostly lower wage employees in low cost of living countries). But I've also met people who are self employed in VR making avatars for people in VR chat or that sort of thing.
It's harder now with covid but if you have a chance to try VR somewhere definitely do, it helps if you can experience it first hand.
It's much bigger than games.
There are some frameworks that are just now hitting their stride that make it 10x easier to build virtual worlds. Unreal Engine 5 in particular has been interesting to me. Even today we are seeing people who work full time in VR now. (mostly lower wage employees in low cost of living countries). But I've also met people who are self employed in VR making avatars for people in VR chat or that sort of thing.
It's harder now with covid but if you have a chance to try VR somewhere definitely do, it helps if you can experience it first hand.
Agreed. I have been going to those VR demos at SIGGRAPH and film festivals for years, generally ending up with eyestrain or nausea. This year, after a covid hiatus, I notice much more attractive results.
(1) The hardware is better: higher resolution, faster fps, cable-less.
(2) Authors are starting to figure out how to tell a good story in a VR/AR environment.
(3) Artists have figured out what works in a 3D immersive environment. I have seen some really clever renderings.
(1) The hardware is better: higher resolution, faster fps, cable-less.
(2) Authors are starting to figure out how to tell a good story in a VR/AR environment.
(3) Artists have figured out what works in a 3D immersive environment. I have seen some really clever renderings.
At the other end of no/low code there is adoption of advanced computer graphics techniques that originated game programming and machine learning that focus around the GPU.
* Better GPU API on web and native with WebGPU
* Use of compute shaders to interface with trained NN models or to "replace" css.
* Easy reactive programming using immediate mode UI powered by GPU instead of CPU
* Data driven design ala ECS where your ECS lives in the cloud.
Not just for 3D AR/VR but also business/productivity apps in 2D.
* Better GPU API on web and native with WebGPU
* Use of compute shaders to interface with trained NN models or to "replace" css.
* Easy reactive programming using immediate mode UI powered by GPU instead of CPU
* Data driven design ala ECS where your ECS lives in the cloud.
Not just for 3D AR/VR but also business/productivity apps in 2D.
As we hit physical limits of what we can power and cool, I expect software will have to be more aware of those limits.
Heterogeneous computing is going to be the norm in everything. Since we’ve trained a generation of programmers to be hardware unaware, there is going to be increasing need for people who can understand all the concepts of how to tie all these different devices together to keep this huge group of people productive. I would also lump network devices into this category as the trend to disaggregate accelerates and lower latency access protocols/methods are needed.
Embedded SW is going to be more important as devices get more powerful. If we are truly to see AR devices I think this is definitely the case. The difference between FW/SW will continue to blur. Will also need people who understand HW to best optimize for power consumption.
Power consumption aware computing and profiling. As we hit physical limits of power density in data centers, we will need good ways to profile power consumption of code and power based optimization of code. This is obviously a thing already in mobile devices. But expect power aware computing to become more and more prevalent everywhere over time.
Heterogeneous computing is going to be the norm in everything. Since we’ve trained a generation of programmers to be hardware unaware, there is going to be increasing need for people who can understand all the concepts of how to tie all these different devices together to keep this huge group of people productive. I would also lump network devices into this category as the trend to disaggregate accelerates and lower latency access protocols/methods are needed.
Embedded SW is going to be more important as devices get more powerful. If we are truly to see AR devices I think this is definitely the case. The difference between FW/SW will continue to blur. Will also need people who understand HW to best optimize for power consumption.
Power consumption aware computing and profiling. As we hit physical limits of power density in data centers, we will need good ways to profile power consumption of code and power based optimization of code. This is obviously a thing already in mobile devices. But expect power aware computing to become more and more prevalent everywhere over time.
IMO, the following will take 5 to 10 years
IMO, VR will skyrocket when:
We have a portable headset that is:
Affordable
4k resolution per eye
Has decent mixed reality capabilities (e.g. see the Varjo XR 3 as an example on YouTube)
Has a good omnidirectional threadml that is affordable (i.e. walking, running and moving should be possible as it is normally). I find the current threadmills that I see (e.g. KatVR) a good step in the direction but still too problematic.
Killer apps are (from concrete to abstract):
Having multiple monitors in your room. Now you can travel with 10 monitors in your backpack.
90% real simulations (try Golf+, Eleven Table Tennis and Thrill of the Fight — those games are already there).
Mark Zuckerberg his vision of the Metaverse, which I interpret as: being able to mix and match hanging out and playing games together in VR (note: more companies than only Meta could work on this). Reasoning: gaming together is simply a specialized form of hanging out.
Software-dizing hardware interfaces. The more stuff we put in VR/AR (especially force feedback mechanisms), the better we can mimic the feel of hardware interfaces. In certain cases it will feel real enough and then you can import the entire hardware device into software/VR/AR and suddenly thr production of such a device is now much cheaper. For example: a realistic electronic keyboard in VR. I don’t know how to solve for the force feedback in this case but I do know that there is other hardware for which this must be easier.
Source: I bought an Oculus Quest 2 a month ago to play around with VR while constantly asking what it is lacking and what will make it awesome.
IMO, VR will skyrocket when:
We have a portable headset that is:
Affordable
4k resolution per eye
Has decent mixed reality capabilities (e.g. see the Varjo XR 3 as an example on YouTube)
Has a good omnidirectional threadml that is affordable (i.e. walking, running and moving should be possible as it is normally). I find the current threadmills that I see (e.g. KatVR) a good step in the direction but still too problematic.
Killer apps are (from concrete to abstract):
Having multiple monitors in your room. Now you can travel with 10 monitors in your backpack.
90% real simulations (try Golf+, Eleven Table Tennis and Thrill of the Fight — those games are already there).
Mark Zuckerberg his vision of the Metaverse, which I interpret as: being able to mix and match hanging out and playing games together in VR (note: more companies than only Meta could work on this). Reasoning: gaming together is simply a specialized form of hanging out.
Software-dizing hardware interfaces. The more stuff we put in VR/AR (especially force feedback mechanisms), the better we can mimic the feel of hardware interfaces. In certain cases it will feel real enough and then you can import the entire hardware device into software/VR/AR and suddenly thr production of such a device is now much cheaper. For example: a realistic electronic keyboard in VR. I don’t know how to solve for the force feedback in this case but I do know that there is other hardware for which this must be easier.
Source: I bought an Oculus Quest 2 a month ago to play around with VR while constantly asking what it is lacking and what will make it awesome.
Digital Personal Assistants. What we have now are like the early mobile phones: Large, bulky and don't work very well.
Imagine a personal assistant that you could have a full on conversation with. I don't believe this requires full-blown AGI to achieve, but improvements in language and human understanding by ML might get us there.
Think something like the Computer from Star Trek NG.
Imagine a personal assistant that you could have a full on conversation with. I don't believe this requires full-blown AGI to achieve, but improvements in language and human understanding by ML might get us there.
Think something like the Computer from Star Trek NG.
(1) The cloud will continue to grow. Cloud-related stuff like Azure and Docker will continue to be a good learning investment.
(2) Once Microsoft work enough of the bugs out, which I'm guessing will take another 2-3 years, I suspect Windows on ARM will be the Next Big Thing, or at least one of the Big Next-ish Things. ARM supplanting Intel will be a general Thing.
(2) Once Microsoft work enough of the bugs out, which I'm guessing will take another 2-3 years, I suspect Windows on ARM will be the Next Big Thing, or at least one of the Big Next-ish Things. ARM supplanting Intel will be a general Thing.
Moore's Law ended. We're just adding more cache to devices now. RAM speeds haven't increased in several years. PCIe 5.0 requires expensive circuit boards that no one can afford. GPUs are out of stock everywhere.
Maybe the next big thing is doing more with less. Rust and Zig come to mind.
Maybe the next big thing is doing more with less. Rust and Zig come to mind.
Spatial computing.
If all of reality is able to be piped into Unity (structure of static environment, motion of sensors, dynamic object poses) you can build Reality Apps the same as you can build video games.
You can give people spidey-senses or "the force". Everything will have a UX.
If all of reality is able to be piped into Unity (structure of static environment, motion of sensors, dynamic object poses) you can build Reality Apps the same as you can build video games.
You can give people spidey-senses or "the force". Everything will have a UX.
Confidential computing and Web 3.0 type computing where servers never touch user data. I also predict apps being developed to support non-ad revenue stream. And I don't think the IoT hype is done yet, especially if you include things like wearables.
I’m surprised nobody has mentioned object recognition.
There’s lots of reasons why robots aren’t currently picking up trash across every beach in America 24 hours a day. Or cooking for you whenever you want.
One of them is the inability to identify objects the way humans do. But it’s getting better. Slowly. There’s no fundamental wall that’s been hit yet.
Think about that for a moment. Let it simmer.
Think about cameras that can identify humans and structures. Roombas that can identify cats and walls before it hits them.
Think about all the work that can suddenly be automated because object representation hits an inflection point.
It’s going to change humanity. The story of our species. It’s going to be a perennial wonder.
There’s lots of reasons why robots aren’t currently picking up trash across every beach in America 24 hours a day. Or cooking for you whenever you want.
One of them is the inability to identify objects the way humans do. But it’s getting better. Slowly. There’s no fundamental wall that’s been hit yet.
Think about that for a moment. Let it simmer.
Think about cameras that can identify humans and structures. Roombas that can identify cats and walls before it hits them.
Think about all the work that can suddenly be automated because object representation hits an inflection point.
It’s going to change humanity. The story of our species. It’s going to be a perennial wonder.
TinyML - running ML models on devices with severely limited power supplies
Homomorphic encryption, if perfected would revolutionize cloud computing. Imagine if you didn't have to trust the nodes, people could sell spare clock cycles from their personal machines.
Have you looked at the recent crop of Serverless rechnologies that rtuly abstract away even considering the underlying hardware platforms. I am talking about tools such as Serverless Cloud where you write code and it infers the hardware needed underneath and creates it for you automatically. https://www.serverless.com/cloud
Automation of real-world things (robotics)
I'm really just a mediocre software developer, I don't have any special insight.
But to me it looks like some things to keep on the radar: quantum computers, machine learning and more applications of it, possibly blockchain/smart contracts (I'm very unsure about this one).
But to me it looks like some things to keep on the radar: quantum computers, machine learning and more applications of it, possibly blockchain/smart contracts (I'm very unsure about this one).
Synthetic media is definitely going to be big, for better or for worse.
It's so obvious that visual mediums are just going to continue to dominate time spent on screens. It seems odd that lots of the pixels we see today are manually put there by an artist or a sensor.
It's so obvious that visual mediums are just going to continue to dominate time spent on screens. It seems odd that lots of the pixels we see today are manually put there by an artist or a sensor.
almost all software today is static ... whereas living organisms are constantly exposed to new challenges and are constantly learning to adapt and survive both as an individual and a species ... the developmental steps every individual grows through from infancy onward contributes to what some call embedded cognition ... inspiration from developmental biology as to this constantly changing morphology of not only the abstract capabilities but the physical implementation of the biological organism will influence new approaches to software architecture ... self healing software systems are a baby step in this direction
Right now I am super excited about computer graphics, high speed consumer networking (10gbe in homes with wireless to match!), high quality home-built CNC and 3D printing machines (like the Prusa machines), and VR!
GPU computing will probably grow a lot. As it's physically impossible to scale up the frequency, we need to parallelize programs to increase the speed of computation.
Multitenancy IoT. A lot of IoT infrastructure just serves one person or company.
Once that changes large scale IoT investments will make a lot more sense.
I would like to say federated social networks, but it all depends on how big companies are treated by US antimonopoly rulings
Decentralization.
Not: Web3, blockchain, or cryptocurrency
I mean actual online communications not requiring a server, account, or some Ponzi scheme.
Not: Web3, blockchain, or cryptocurrency
I mean actual online communications not requiring a server, account, or some Ponzi scheme.
[deleted]
VR/AR will be big one day.
My colleague and boss in 2014, 2016, 2017...
Well that's on them, nobody in their right mind would say that people are gonna like having big bulky computer thingy on their head.
That doesn't mean we won't be getting laser retinal projection in the next 10-20 years.
That doesn't mean we won't be getting laser retinal projection in the next 10-20 years.
That doesn't mean it will also not happen :)
Hoping for a technology doesn't make it appear one day.
I actually like this answer. While I think the fact that "Meta" is now focusing on this feeds into a lot of hype, I don't think they are too far off base. The technology is finally getting usable, and the technology ecosystem necessary to allow it to be useful is mostly there. My analogy to this is that its in the brick phone phase of the mid 80's. Functional, bulky, seen as either a toy/gag, but has a core demographic of power users.
[deleted]
I know this was intended with /s but XR, as in spatial computing embodied experience and the ability to overlay digital information onto your field of vision, is about to become a whole new sector of capability. The number of previous false dawn projections is not relevant at this point.
So many PC type interactions we do in 2D today will be both more functional and more lovely to use when mapped into 3D space.
So many PC type interactions we do in 2D today will be both more functional and more lovely to use when mapped into 3D space.
In 2030 we will be finally talking about going to mass market with AR and wider adoption by professionals and it will take another 10-15 years for it to become ubiquitous.
VR will never be a thing outside of gaming, porn and education.
VR will never be a thing outside of gaming, porn and education.
And chatbots
/s
/s
Heavy regulations on every aspect of digital world from ecom to gaming.
Plastics.
Unpopular opinion, but chase old things, not new ones.
The big investment in your career will be ideas that stand the test of time. Relational Databases, data structures, programming paradigms, math, etc. Even in machine learning, just knowing core statistics and regression is more important than HottestNewArchitecture :TM:.
Learn the ideas underneath these ideas, and you'll really grow and be able to better evaluate / learn new ideas.
The big investment in your career will be ideas that stand the test of time. Relational Databases, data structures, programming paradigms, math, etc. Even in machine learning, just knowing core statistics and regression is more important than HottestNewArchitecture :TM:.
Learn the ideas underneath these ideas, and you'll really grow and be able to better evaluate / learn new ideas.
> The big investment in your career will be ideas that stand the test of time.
This is spot on in my experience.
As I grow in my career as a software engineer, it's funny how much more often I notice that the things that set one apart in the field is a level-headed understanding of the fundamentals and a calm resolve to take into consideration what's worked in the past, much more than one's ability to "chase the shiny".
Honorable mention of the Lindy Effect [1] here - one of my favorite ideas from Antifragile [2].
[1] https://en.wikipedia.org/wiki/Lindy_effect [2] https://www.amazon.com/Antifragile-Things-That-Disorder-Ince...
This is spot on in my experience.
As I grow in my career as a software engineer, it's funny how much more often I notice that the things that set one apart in the field is a level-headed understanding of the fundamentals and a calm resolve to take into consideration what's worked in the past, much more than one's ability to "chase the shiny".
Honorable mention of the Lindy Effect [1] here - one of my favorite ideas from Antifragile [2].
[1] https://en.wikipedia.org/wiki/Lindy_effect [2] https://www.amazon.com/Antifragile-Things-That-Disorder-Ince...
I think a big part also - new ideas often dont have info on how they fail- its all hype. However old ideas do, so if you can link them, its easier to use the new technology appropriately.
So true. For me it has become RegEx, Email, Email Servers/security, Excel, and sorting. Never thought I'd go on about it, but man. It apparently is my niche.
Thanks. It's the same for me, actually - I built a lot of my career around XML and other W3C standards and the great thing about those, while complicated is that you can refer to a well defined spec to see what the behaviour SHOULD be.
But I'm hoping it's not either/or question - I can continue learning software architecture patterns and anti-pattern but perhaps there is some new, realtively untapped market or end-user experience where this can be leveraged.
Piling on "ideas that stand the test of time":
- Architecture/patterns. Managing complexity, now and in future, is the primary thing that differentiates a "senior" from a junior IMO. Making complex stuff simple is extremely difficult.
- CI/CD. Improving "shippability" and "shipfriendlyness" helps efficiency and allows getting your software to customers faster.
- TDD/BDD/DDD. Ability to distill features and value from vague customer-feedback and domain-expert. Committing that in specifications, and turning that into automated, and measurable setups. the #1 skill to building software that helps your users, IMO.
While there will remain a shortage of developers in near future, the absolute amount of people producing software will grow significant. The amount of software produced will grow significant while existing software will continue to be there too.
The only way to stand out is to provide real value. To provide that fast. To continue providing that. And to remain able to react to the market quickly.
I therefore believe that skills and techniques that allow you to move faster, be more efficient today and in future, is far more important than learning about web3, kafka, rust, go, kotlin, no-code, or the latest JS framework.
- Architecture/patterns. Managing complexity, now and in future, is the primary thing that differentiates a "senior" from a junior IMO. Making complex stuff simple is extremely difficult.
- CI/CD. Improving "shippability" and "shipfriendlyness" helps efficiency and allows getting your software to customers faster.
- TDD/BDD/DDD. Ability to distill features and value from vague customer-feedback and domain-expert. Committing that in specifications, and turning that into automated, and measurable setups. the #1 skill to building software that helps your users, IMO.
While there will remain a shortage of developers in near future, the absolute amount of people producing software will grow significant. The amount of software produced will grow significant while existing software will continue to be there too.
The only way to stand out is to provide real value. To provide that fast. To continue providing that. And to remain able to react to the market quickly.
I therefore believe that skills and techniques that allow you to move faster, be more efficient today and in future, is far more important than learning about web3, kafka, rust, go, kotlin, no-code, or the latest JS framework.
When it comes to machine learning, yes it is important to know statistical methods, but at this point deep learning shouldn't be pejoratively referred to as the HottestNewArchitecture. If you want to solve previously unsolved problems, deep learning is necessary; and if you want more specific advice, learn how transformers work. This class of models is qualitatively different in the kinds of problems they unlock as solvable.
I don't disagree. But I think
(a) Important stepwise changes in a domain are actually rarer than we think. Transformers & deep learning being one good example.
(b) Focusing on the background information prepares you for that stepwise change, and recognize the stepwise change when it happens
Instead of trying to suss out from the tech literatti every new thing and chase that, I'd rather spend my time on "old things" and be better prepared for the right stepwise changes.
There's a lot of 'revolutionary' and 'big ideas' that in reality are marketing and/or repackaging old ideas.
(a) Important stepwise changes in a domain are actually rarer than we think. Transformers & deep learning being one good example.
(b) Focusing on the background information prepares you for that stepwise change, and recognize the stepwise change when it happens
Instead of trying to suss out from the tech literatti every new thing and chase that, I'd rather spend my time on "old things" and be better prepared for the right stepwise changes.
There's a lot of 'revolutionary' and 'big ideas' that in reality are marketing and/or repackaging old ideas.
This reminds me of when I took a class on Sun Cluster. The instructor went to the Sun developers for his training, took everything they "invented" and drew parallels to items he had back in his mainframe and mini days. Turns out, nothing new was invented, just re-invented.
Specially when the "old things" are over-represented by things like C/C++/Shell, Unix and not Pascal/ADA, HyperCard/DBase/FoxPro (your "low-code" from the past!), Amiga, BeOS, etc
A LOT of the old things were ahead of the time and forgotten. Also, a lot are still in their infancy (I think RDBMs are still too immature!).
Is likely that marrying that old things with (1, at most 2) new things is the way to go.
A LOT of the old things were ahead of the time and forgotten. Also, a lot are still in their infancy (I think RDBMs are still too immature!).
Is likely that marrying that old things with (1, at most 2) new things is the way to go.
> Even in machine learning, just knowing core statistics and regression is more important than HottestNewArchitecture :TM:.
Agreed! In my earlies as a data scientist, I was always looking forward to implementing deep learning and new fancy algorithms.
For some real use cases, the explainability provided by a simple regression is better than a more complex algorithm that provides the best metric.
Agreed! In my earlies as a data scientist, I was always looking forward to implementing deep learning and new fancy algorithms.
For some real use cases, the explainability provided by a simple regression is better than a more complex algorithm that provides the best metric.
When you say relational databases, do you mean SQL databases in particular?
Not OP, but I'm going to answer "yes" from my own personal perspective. As a backend developer in a team mostly comprised of other backend developers, I'm constantly surprised by how much the average developer fears dropping down into SQL (as opposed to working in whatever ORM their language offers) and how much it impedes their admin work not to be able to interact with their database to find inconsistencies, pull reports and such.
This is why I'm thankful for the experience from one job where everything was in stored procedures. Say what you will about stored procs, but they're a great way to get comfortable with SQL!
Regulatory technology will dominate for the rest of 2020s, while we are trying to replace the Wild West of unregulated Internet with something that has less negative effects on society and less overhead.
Privacy and accessibility are extremely difficult and challenging tasks. Fake news, disinformation, echo chambers and cultural bubbles are growing problems. We basically need to rebuild plenty of things that are part of our daily life, and this will distract significant resources from the „next big things“. More likely digital society 2.0 is the next big thing, that will replace Meta and Google.
Privacy and accessibility are extremely difficult and challenging tasks. Fake news, disinformation, echo chambers and cultural bubbles are growing problems. We basically need to rebuild plenty of things that are part of our daily life, and this will distract significant resources from the „next big things“. More likely digital society 2.0 is the next big thing, that will replace Meta and Google.
It's still ai/ml, I'd say.
oh man, its distributed cloud, Xaas, hyperautomatin, xr, quantum computing, VUI, CNPs, and a multi experience.
Sorry I ran out of buzzwords
Sorry I ran out of buzzwords
What?
Wearables, as soon as fix the power.
Blocked Spam will be a big thing!
Multimodal transformers
Real security. Maybe whole new architectures. Would be a huge leap forward.
1.) Price sensitive demand in retail electricity markets.
In short, everyone will participate in the wholesale markets (on the retail side) through automated bids. You put in how much you want to pay and as electricity becomes more expensive, eventually you're curtailed. With uncertainty in a fully renewable fleet (assuming nukes don't get built in mass), the demand will have to match whatever supply is available. This is starting in baby steps today, but will likely extend in other areas as well. This will take a lot of software at several levels.
2.) Not something I'd expect to happen in the next decade, but I think automatic and frequent voting will eventually happen if security is ever improved.
As of now, it is still a long ways off and there is a relevant xkcd about a developer horrified about exposing voting to modern software development. The "demarchists" from the "Revelation Space" series by Alastair Reynolds do this where they're constantly polled and vote on issues and government is largely based off of that. I can't see that happening in the US (a true democracy and not a representative based one), but it could be used as a tool to help those in power make decisions. We have smartphones that could do this today.
3.) I'd really like to move away from Windows/Mac/Unix at some point in the next 50 years for something far more simple.
Tablets don't seem very productive and the average desktop os is an absolute cluster f. Honestly, I'd love to have a very simple computer with a fast processor and lots of RAM that is somehow similar in nature to a C64 in that it's fairly simple to just boot right in and give it some commands to move something around the screen and build a game in a half hour. I want more though... something similar to Wolfram Mathematica built-in. The internet, but no web browser black hole [you'd have to fix the internet first :) ]. In short, throw out the unmaintainable mess that exists today in favor of a better, more holistic design. Maybe the Smalltalk-80 method, but Forth, Rebol, and Tcl stick out more to me. Maybe something like the power of a modern computer with a far greater simplicity in mind. No automatic spyware pushed by Microsoft or incomprehensible bloat. There was a group looking into this sort of thing that reached out to me on HN once, but I've been unable to find their page. I believe they tried to use sea vessels as a metaphor for computing where a "dinghy" is what you would ultimately want. I know things are built off of the shoulders of Giants, but computing seems to have lost its way in some respect. Why is it so hard to do GUI stuff in 2021? There are 1000 frameworks and they're all insanely complicated.
In short, everyone will participate in the wholesale markets (on the retail side) through automated bids. You put in how much you want to pay and as electricity becomes more expensive, eventually you're curtailed. With uncertainty in a fully renewable fleet (assuming nukes don't get built in mass), the demand will have to match whatever supply is available. This is starting in baby steps today, but will likely extend in other areas as well. This will take a lot of software at several levels.
2.) Not something I'd expect to happen in the next decade, but I think automatic and frequent voting will eventually happen if security is ever improved.
As of now, it is still a long ways off and there is a relevant xkcd about a developer horrified about exposing voting to modern software development. The "demarchists" from the "Revelation Space" series by Alastair Reynolds do this where they're constantly polled and vote on issues and government is largely based off of that. I can't see that happening in the US (a true democracy and not a representative based one), but it could be used as a tool to help those in power make decisions. We have smartphones that could do this today.
3.) I'd really like to move away from Windows/Mac/Unix at some point in the next 50 years for something far more simple.
Tablets don't seem very productive and the average desktop os is an absolute cluster f. Honestly, I'd love to have a very simple computer with a fast processor and lots of RAM that is somehow similar in nature to a C64 in that it's fairly simple to just boot right in and give it some commands to move something around the screen and build a game in a half hour. I want more though... something similar to Wolfram Mathematica built-in. The internet, but no web browser black hole [you'd have to fix the internet first :) ]. In short, throw out the unmaintainable mess that exists today in favor of a better, more holistic design. Maybe the Smalltalk-80 method, but Forth, Rebol, and Tcl stick out more to me. Maybe something like the power of a modern computer with a far greater simplicity in mind. No automatic spyware pushed by Microsoft or incomprehensible bloat. There was a group looking into this sort of thing that reached out to me on HN once, but I've been unable to find their page. I believe they tried to use sea vessels as a metaphor for computing where a "dinghy" is what you would ultimately want. I know things are built off of the shoulders of Giants, but computing seems to have lost its way in some respect. Why is it so hard to do GUI stuff in 2021? There are 1000 frameworks and they're all insanely complicated.
Web3
Notches.
Hopefully, realizing how unnecessarily shitty and bloated nearly all existing software is and rediscovering an appreciation for simplicity, reliability, and performance. There’s so much low-hanging fruit to be picked yet we let it rot on the vine.
Projects like Zig I think are the first signs that we are getting fed up with what we have.
Projects like Zig I think are the first signs that we are getting fed up with what we have.
there's actually one angle that I believe has changed on that topic: security.
Security is to me the number 1 reason to reduce bloat in any application. By limiting the number of external dependencies, and maybe even the number of features, you end up with a more secure product.
It something that didn't matter as much a decade ago, but is now very relevant.
Then there's all the other reasons, like responsiveness, download size, developer experience etc, but they haven't been the priority of most businesses
Security is to me the number 1 reason to reduce bloat in any application. By limiting the number of external dependencies, and maybe even the number of features, you end up with a more secure product.
It something that didn't matter as much a decade ago, but is now very relevant.
Then there's all the other reasons, like responsiveness, download size, developer experience etc, but they haven't been the priority of most businesses