Тёмный
No video :(

DotNetIsolator: an experimental package for running .NET code in an isolated sandbox 

stevensandersonuk
Подписаться 3,5 тыс.
Просмотров 20 тыс.
50% 1

Опубликовано:

 

5 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 85   
@marianf25
@marianf25 Год назад
First Blazor, then Blazor United, now this. Steve is truly a visionary and must be protected at all cost!
@ADOConnection
@ADOConnection Год назад
First knockoutjs 😀
@marianf25
@marianf25 Год назад
​@@ADOConnection ooh Knockout, even before React was a thing, good times!
@activex7327
@activex7327 Год назад
@@ADOConnection I used it, it is really we thought out library and simple to use. You could accomplish a lot of things with it.
@kylekukshtel9945
@kylekukshtel9945 7 месяцев назад
I was to small-brained the first time I saw this to understand it's implications but revisiting again the consequences seem incredible. It's effectively an arbitrary scripting runtime for dotnet, solving a longstanding "issue" where you couldn't easily eval arbitrary C# at runtime without that code having access to the full context of the host application. Being able to leverage this for things like game scripting are huge, and as others pointed out here the ability to tie this into a better hot reloading experience would be incredible.
@AkiraTTS
@AkiraTTS Год назад
I always love anything Steve shows. Amazing guy.
@ryan.crosby
@ryan.crosby Год назад
This is awesome. The first usecase that comes to mind is giving website users the ability to provide their own scripts to transform data, for example to define the shape of an event webhook to suit their own API endpoints.
@jimbob1xghtnm
@jimbob1xghtnm Год назад
Yeah, this scenario is something I'd like to implement in my own application as well. It will open up a wide range of customization capabilities to my users. I am looking forward to experimenting with this!
@h3techsme
@h3techsme Год назад
Agreed - if you see Steve's previous demo where he runs SQLite in a WASM instance to pull data from a source and then mash through 100K+ rows of data (because it's effectively cached in the WASM sandbox) it's really mind-bending. I look at this demo and think "so *that's* how he did it..." ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-RevmsFXVJ5Q.html
@darkbobo000
@darkbobo000 Год назад
I have been very interested in sandboxing for C#, and seeing recent dotnet versions not having any options was a bit of a let down. This is very promising and I am definitely gonna play around with it.
@aL3891_
@aL3891_ Год назад
Steve posts, you pay attention:)
@aslanamca8225
@aslanamca8225 Год назад
If it's going to be a revolution for dotnet, you're going to do it, Steve.
@ever-modern
@ever-modern Год назад
7:55 - the moment I waited for. Like "that's the way it should be to be classy" - and here it is, the elegant approach.
@Dustyy01
@Dustyy01 Год назад
This guy would invent rocket science in the stone age.
@jewymchoser
@jewymchoser Год назад
Steven, Blazor has changed my life. It makes my day so much better.
@malisancube01
@malisancube01 Год назад
Brains blown! I see .NET containers and their ochestrators too. Genius guy Steve!
@EER0000
@EER0000 Год назад
This looks like a lot of fun to experiment with for a plugin system! I do wonder how it works technically so I guess it’s time for some code spelunking :D
@hobbit125
@hobbit125 Год назад
Steve Sanderson: This is not a real product, just a fun little experiment.... .NET Community: ...
@nickz6066
@nickz6066 Год назад
We need to go deeper... ))) Awesome, just awesome! Thank you for your work!
@johnlouros
@johnlouros Год назад
This is absolutely mind-blowing
@LoganDunning
@LoganDunning Год назад
Steve Sanderson continues to drop huge.... CASUAL... Industry TRANSFORMATIVE Genius++ Level of God's grace... 🕴️James Bond swag... 😎😍🫠😍😮‍💨💪. Dude you are a GOD Bro!!💪
@davidtaylor3771
@davidtaylor3771 Год назад
Nice Steve. I can almost imagine Blazor Web assembly in a mode where it starts instantly as an isolated WASM process running on the server (so not starting as server side blazor), then is instantly transitioned to the browser once the assemblies are loaded (I assume you could serialize the whole WASM dotnet state for that user). Might not be practical of course given the various web APIs wouldn't be available until after the transition to the browser.
@AvineshSinghSaab
@AvineshSinghSaab 11 месяцев назад
Can't believe Steve demoed EXACTLY this in his recent video 👏
@herman7318
@herman7318 4 месяца назад
Brilliant library.
@weluvmusicz
@weluvmusicz Год назад
This is one of the most genuis ideas! Steve you are a brain!
@maxbitran
@maxbitran Год назад
All this sound just like a container (like the ones used in K8S)... which is awesome!
@FelipeGualberto
@FelipeGualberto Год назад
Nice experiment! Love it.
@modernkennnern
@modernkennnern Год назад
I wonder if something like this could improve the usefulness of Hot Reload; Being able to fully recompile a controller or service and then it seamlessly being transferred to a subprocess
@dukefleed9525
@dukefleed9525 Год назад
This is a gold mine! thank you!
@metaltyphoon
@metaltyphoon Год назад
Is this analogous to AppDomain but using WASM?
@robopzijnwerk5999
@robopzijnwerk5999 Год назад
Awesome, please keep the api this simple!
Год назад
Is the spreadsheet app available as a demo? I was looking for something like this for one of my projects.
@igtukra
@igtukra Год назад
I wonder if this could be used for something like a "blazor wasm micro front-ends"? 😅
@Erril-1
@Erril-1 Год назад
Steve you are a genius 👍
@Twilliames
@Twilliames 5 месяцев назад
That SpreadSheetApp looked pretty cool. Was this project shared or could it be please?
@krccmsitp2884
@krccmsitp2884 Год назад
Wow, this is amazing! 😲
@RichardHarding44
@RichardHarding44 Год назад
witchcraft! :) - fantastic, great demo as usual
@philc787
@philc787 Год назад
Great stuff Steve
@fernandosantosferreira1746
@fernandosantosferreira1746 Год назад
Greate video Steve!! It's amazing!
@hectorbas9850
@hectorbas9850 Год назад
Very neat! I'd def like to hear more on the scope and limitations of passing data to and from the isolated runtime. On the api project, u did show how u could isolate the counter variable on a per request level, but its unclear if the counter variable is being serialized into the isolation env (i.e. what happens with bigger objects with various levels of nestings). And also the example on passing the results of directory.GetFiles, what happens if I pass back a FileInfo object and in the main env calls a method on the returned object? I would assume there would be errors since those paths don't exist in the main env. And also, what about network isolation control? Either way, awesome stuff that adds tons of flexibility and potential security to the platform. Well done! 👏
@obinnaokafor6252
@obinnaokafor6252 Год назад
Maybe you could try the library yourself to ascertain answers to your questions. It is a nugget package and open source.
@JosephRuhundwa
@JosephRuhundwa Год назад
Great stuff. Thank you very much
@nazar5549
@nazar5549 Год назад
Is it generating wasm on the fly? Is it possible to do AOT or cache generated WASM? And is the WASM code JIT-ed or it's using WebAssembly version of Mono as an CIL interpreter ?
@cooldavee
@cooldavee Год назад
This is brilliant!
@TheBlubb
@TheBlubb Год назад
this is very cool, good job!
@pawebielecki887
@pawebielecki887 Год назад
A bit offtopic but what was this Spreadsheet component?
@vasoelias
@vasoelias Год назад
Right on the topic. I also want to know! 🤣🤣
@stevensandersonuk
@stevensandersonuk Год назад
It’s this: github.com/myliang/x-spreadsheet
@adelarsq
@adelarsq Год назад
Cool! Thanks for share!
@RebelZach
@RebelZach Год назад
So great!
@TheRadderz
@TheRadderz Год назад
Very interesting! Is it possible to pass down an interface/object to the sandboxed code or have the sandboxed code able to interact with that objects functions on the outside? I may not be explaining this well, but being able to sandbox a customers code while still allowing it to pull data as part of the sandboxed code in a controlled way could be useful.
@nothingisreal6345
@nothingisreal6345 Год назад
Brilliant!
@fandermill
@fandermill Год назад
Nice, thank you!
@jazzweather
@jazzweather Год назад
Great to hear from Steve as always, he is full of cool ideas. Anyone know which library he used for the spreadsheet component? It's not part of the github project he shared.
@orterves
@orterves Год назад
When Steve talks I listen
@cheesypufs
@cheesypufs Год назад
I wonder if this can be used as a basis for a plugin system that allows third party devs to create their own plugin and run isolated from everyone else. Or a way to distribute plugins in a distributed system.
@cwevers
@cwevers Год назад
Awesome!
@tobyjacobs1310
@tobyjacobs1310 Год назад
I wonder if this would solve the issue of max one runtime that prevents the modernization of VSTO....
@alijamal7893
@alijamal7893 Год назад
its super cool 👏👏👏
@XhantiBomela
@XhantiBomela Год назад
Super super cool
@rajsite
@rajsite Год назад
Can you use wasm native dependencies with this approach?
@StileLiberoSud
@StileLiberoSud Год назад
Great !
@S3Kglitches
@S3Kglitches Год назад
Cool, I wonder how these online C# code tools worked like.
@EricInTheNet
@EricInTheNet Год назад
Once you run WebAssembly, why limit yourself to running dotnet inside. This is basically a functions as a service host environment. :)
@EricInTheNet
@EricInTheNet Год назад
And with very small cold start time to compiled runtime (now I’ve watched the whole video). An amazing work!
@tomthunderforest1681
@tomthunderforest1681 Год назад
Will .NET + WA replace Docker?
@charles_kuperus
@charles_kuperus Год назад
nice
@charles_kuperus
@charles_kuperus Год назад
I think do a pre-release.
@CRBarchager
@CRBarchager Год назад
5:15 You mentioned that the runtime can't log to console without the WithInheritedStandardOutput but you just demoed that at 3:55 without this being enabled. Its that already setup as default?
@stevensandersonuk
@stevensandersonuk Год назад
Yes, the default configuration allows that.
@rodrigonunes9981
@rodrigonunes9981 Год назад
Smart contract?
@dcuccia
@dcuccia Год назад
Unbelievable. Can we reference 3rd party code with a single parent Nuget?
@TheBlubb
@TheBlubb Год назад
Is there a way you could share the SpreadsheetApp?
@miroslavparvanov
@miroslavparvanov Год назад
Does anybody know how it works internally? Does it create a separate process for each runtime or are those created runtimes are managed inside the current process? Thanks!
@stevensandersonuk
@stevensandersonuk Год назад
It’s all in process. No external processes are created.
@TheHarirak
@TheHarirak Год назад
.Net Inception
@wildert1
@wildert1 Год назад
Very cool but viewers should know this is really well traveled territory outside of dotnet, and MS probably will not grow this to be as feature rich as the Linux tooling (seccomp, chroot, etc), rust and crypto use this tech a lot
@mark_heath
@mark_heath Год назад
Brilliant!
@toadman5184
@toadman5184 Год назад
Amazing!
Далее
Blazor United prototype
13:20
Просмотров 61 тыс.
Паук
01:01
Просмотров 2,8 млн
ДО ВСТРЕЧИ НА РАЗГОНЕ
52:11
Просмотров 453 тыс.
How to get Spongebob El Primo FOR FREE!
01:36
Просмотров 13 млн
Are events in C# even relevant anymore?
16:19
Просмотров 169 тыс.
New Blazor WebAssembly capabilities in .NET 6
29:11
Просмотров 98 тыс.
05.02.  Expressions and IQueryable
1:49:12
Просмотров 65
THE MAGNUS CARLSEN INTERVIEW
24:09
Просмотров 199 тыс.
Inject C# In Any .NET App With This Secret Entry Point
15:06
NativeAOT for .NET APIs Is Here and It’s INSANE!
14:07
The Problem with Time That .NET 8 Finally Fixed
9:47
Паук
01:01
Просмотров 2,8 млн