Пікірлер
@drapala97
@drapala97 27 күн бұрын
This was very helpful and well done. Thank you! I’m trying to find more resources of this level to educate my peers and there is so much noise. Would you happen to have some books about cybersec? Thanks again!
@TekExplorer
@TekExplorer Ай бұрын
this video is very quiet :(
@nicolassturm8853
@nicolassturm8853 Ай бұрын
nice video man, good to see zed editor implementing this for their plugins system right now 🔥
@MassimilianoDalCero
@MassimilianoDalCero 2 ай бұрын
how to do that effect with terminal cursor? 😊
@kishorenke
@kishorenke Ай бұрын
He is using neovide. You can also use specs.nvim to configure if you want to use for neovim.
@cuongtranchi1869
@cuongtranchi1869 2 ай бұрын
Hi Mr. Mullin, How to calculate hash partition size? And how to protect hash image? Many thanks
@ArthurSchoppenweghauer
@ArthurSchoppenweghauer 3 ай бұрын
I can't decide what I hate more: your horrible canadian accent or the fact that you're wearing a hat indoors. Interesting video, nevertheless.
@fabiovianello2256
@fabiovianello2256 3 ай бұрын
Your channel is absolutely my favorite one about Rust. Thanks for the videos, thanks for sharing your knowledge.
@Kiarie-mg9th
@Kiarie-mg9th 3 ай бұрын
Nice comparison💯❤‍🔥
@ayoubelmhamdi7920
@ayoubelmhamdi7920 4 ай бұрын
on Microsoft azure we can poweroff/poweron servers using hooks but we still paid for the servers as we always poweron 😅
@ayoubelmhamdi7920
@ayoubelmhamdi7920 4 ай бұрын
i miss you 🇲🇦
@OferSadan85
@OferSadan85 4 ай бұрын
Not bad! Two questions: 1. How trustworthy is tailscale? 2. Can the exit node be setup to then connect to an external VPN like Nord? I.e as in two jumps for extra protection, one private on hetzner and one shared
@masmullin
@masmullin 4 ай бұрын
> 1. How trustworthy is tailscale? Very IMHO. See tailscale.com/security for a technical description of how their service works, the TL;DR is that they facilitate distribution of _PUBLIC_KEYS_ not private keys and not the data being sent. As for whether it's safe to use that curl installer script or use of their `tailscale up` binary. This is a more philosophical take on my part, and is thus inferior to a technical analysis of the code itself (their code is open source), but Tailscale is a small security business. Small Security Businesses live and die based on their reputation, and if they started installing malware they would lose their reputation quickly and go out of business. 2. Yes you can do this. However, you're not really gaining anything by doing so. You are essentially distrusting Hetzner with the setup you descrbe, and if you distrust Hetzner, then simply don't use them. Go directly to the NordVPN from home. Your ISP doesn't particularly care if they know you are talking to Hetzner or Nord, they can't see what your doing regardless. If you think you're tricking Nord with this scenario, you're not... Sure they don't know your IP address, but they know it's you based on your account information you use to sign in.
@OferSadan85
@OferSadan85 4 ай бұрын
@@masmullin thanks so much for the detailed reply, love your content!
@walidhafid3932
@walidhafid3932 4 ай бұрын
Thanks for the video! I have an error when trying to execute this command: mount -t squashfs -o loop /mnt/cdrom/lfs.sqsh /mnt/ro it says no such device, when I do "ls /dev/loop*" the loop0 exists, can you help please?
@walidhafid3932
@walidhafid3932 4 ай бұрын
Another question xD, where can we find the notes you are using? Have you written any tutorial on the subject?
@walidhafid3932
@walidhafid3932 4 ай бұрын
I have not seen the video yet, but I will for sure this evening! If I follow the same instructions, but do it in VBox or Hyper-V instead will it work?
@alwaysradical
@alwaysradical 4 ай бұрын
Great video!
@Masta_E
@Masta_E 5 ай бұрын
I had a lot of issues with Pop!Os. I am not a Linux pro or anything so maybe it;s my fault but after about a month the OS just falls apart and gets stuttery and crashes. Maybe it's gnome/cosmic? I don't know but I found Mint and now EndeavorOS to be a much better experience. I will be giving it another go of course when cosmic updates, but I am unsure I'll actually switching. Arch based has been the best Linux experience I have personally had and especially for gaming. Good video and have a blessed day.
@Hipdudester
@Hipdudester 5 ай бұрын
Code is not available
@Hipdudester
@Hipdudester 5 ай бұрын
mistake
@Hipdudester
@Hipdudester 5 ай бұрын
Thanks. Very good. Also You've pushed me to learn Rust. Canadians explain stuff so well.
@Lanbyteach
@Lanbyteach 5 ай бұрын
Is there a website I can read to better understand the concepts? some book something like that. I'm from Brazil
@BolinPeng-bm4nx
@BolinPeng-bm4nx 6 ай бұрын
Best wishes for you!😃
@BolinPeng-bm4nx
@BolinPeng-bm4nx 6 ай бұрын
Thank you!😄
@Mb-ic4pk
@Mb-ic4pk 6 ай бұрын
Thanks @Micheal for the great explanation
@rogerdoger1889
@rogerdoger1889 6 ай бұрын
Super helpful. Thank you!
@yongkangchia1993
@yongkangchia1993 6 ай бұрын
❤❤❤
@dnkreative
@dnkreative 6 ай бұрын
What should be added to this minimum if I want to run GUI (like GTK) app with audio? Without any desktop environment or window manager (or at least a manager which allows to create fullscreen graphics app with OpenGL/Vulkan API). (Yep, I need this for Raspberry Pi like embedded system)
@dnkreative
@dnkreative 6 ай бұрын
So, to summarize this I need: 1. Build Linux kernel for my specific platform with all required drivers (for graphics and audio which I need) 2. Add some stuff to init(rd) which will allow me to use gaphics and audio APIs 3. Add my app built for this Correct?
@dincerbeken5761
@dincerbeken5761 6 ай бұрын
Great video, need to rewatch it. Quick question regarding parallelism: Can you use something like epoll to listen to the ring buffers, if they offer some kind of a file descriptor?
@samuelwycliffe1343
@samuelwycliffe1343 7 ай бұрын
This is amazing! saved a lot of time for me in setting up my rocky firecracker vm
@defnlife1683
@defnlife1683 7 ай бұрын
inb4 it causes more damage due to the Jevons Paradox. (this is very awesome btw)
@suchislife801
@suchislife801 8 ай бұрын
I swear, this video is worth watching for the Diffie-Hellman key exchange "Magic" explanation alone. Not many people can say they understand it, let alone explain it. TL;DR - It's how your web browser SSL hand-shakes with the web site you are visiting; all within the time it takes for the page to load. Awesome.
@oefzdegoeggl
@oefzdegoeggl 8 ай бұрын
whenever you do any kind of benchmark, i'd suggest to always use "perf stat <exename>" and not "time <exename>" as this will read the kernel's performance counters and give you not only the time but among other things the page faults, giving an indication of (at least temporary) used memory. how the package is named depends on your distribution, something like "perfmontools" or what.
@D3ltaLabs
@D3ltaLabs 8 ай бұрын
No code need but definitely keep making videos especially base on mal dev and rust. I finally decided to start learning rust and love cyber security.
@masmullin
@masmullin 8 ай бұрын
If you are interested is both rust and cyber security, you might be interested in the book "black hat rust" kerkour.com/ Think of it as a way to learn rust through cybersec projects.
@raav33n
@raav33n 8 ай бұрын
@@masmullinwow thank you for sharing this! This is exactly what I’ve been looking for
@dhananjay7513
@dhananjay7513 9 ай бұрын
Man this is probably the Best Intro to BPF Video I have come across
@masmullin
@masmullin 8 ай бұрын
Thank you. Glad you found it useful
@luckystrike91
@luckystrike91 9 ай бұрын
I have another question about performance: why BufReader::lines() returns String? I don't need a growable buffer, i need an immutable view into string content!
@TehGettinq
@TehGettinq 10 ай бұрын
Ahh a habs fan, fellow rust programmer and vim user. Delightful combination. Thanks for the video.
@deshawnwilliams338
@deshawnwilliams338 10 ай бұрын
Your channel is a hidden gem I’m glad I’ve found. Really appreciate your content
@nameless5413
@nameless5413 10 ай бұрын
Windows dose prompt about it automaticaly during course of running as auto updates are by default on, i think its that way since at least XP. Seems that communication from OS to user in Linux is bit lacking too given consequent ep. Shame really because windows is getting irritatingly complicated even in things that used to be breeze or easy (the whole start button menu and settings aspect is now questionable affair cluttered with trash and takes a long time to purge the garbage). I do hope that Linux will one day rise to the challange sadly last 3 decades it has been trailing most major OSes in end user experience. Probbly absolutley glorious for people already familiar with them tho.
@user-oe9dz4em6f
@user-oe9dz4em6f 10 ай бұрын
How to inject in pcs
@renatocunha6974
@renatocunha6974 11 ай бұрын
Robust comparison!!! Thank you
@terrnnoo7007
@terrnnoo7007 11 ай бұрын
Didn't quite catch why wouldn't allocator give back 2559 dirty pages to OS if these 64 bytes are in use. Does allocator want us to free all requested memory to give those pages back or bcs we wrote data to these 10 Mb but freed only 9.9 Mb?
@masmullin
@masmullin 11 ай бұрын
This is difficult to explain, sorry for the confusion. There's two types of allocation in Linux. One uses sbrk to move something called the break for the heap up and down. Think of the break like a line. In the case where you move the break up 10mb, either in one big jump, or many small jumps, then you use all of that 10mb, the you free all the memory other than the very top; the allocator cannot move the break back down because that very top is still being used. The other way to allocate is via mmap. If you use mmap by hand, you can grab a 10mb chunk of memory, use it, and the mark 9.9mb of that memory as DONT_NEED, I've not seen that sort of behaviour when an allocator uses mmap to grab memory and then give it to you via malloc/free. In the case where an allocator uses mmap, it will (hopefully) mark that 10mb chunk of memory as DONT_NEED when you are completely done with it. also, allocators try to be smart with mmap. Eg jemalloc will wait to mark an mmap as dont_need for some amount of time in case you ask for more memory.
@terrnnoo7007
@terrnnoo7007 11 ай бұрын
@@masmullin So if allocator uses sbrk syscall there is particular reason why 9.9 Mb isn't freed (bcs 64 bytes are located at top of the 9.9 Mb). But in case of mmap it seems like nothing prevents allocator from freeing 9.9 Mb if it wants so, bcs mmap doesn't increase brk segment address but instead giving us pages of memory somewhere. So is it true that 'Dirty Pages' are really possible only while using sbrk, bcs if allocator use mmap it can call free syscall on freed(by allocator API) memory pages?
@user-qr4jf4tv2x
@user-qr4jf4tv2x 11 ай бұрын
in go you will be stuck with standard library. frameworks is kinda frowned upon
@tylerforbes6210
@tylerforbes6210 Жыл бұрын
We have no way of reaching out to you micheal
@user-pc8zl8ob1d
@user-pc8zl8ob1d Жыл бұрын
Bruh, you really helped me out no cap, that BPF_PROG or whatever came in clutch high key
@user-pc8zl8ob1d
@user-pc8zl8ob1d Жыл бұрын
No, but seriously, this video helped out a lot. Thank you so much
@spondoolie6450
@spondoolie6450 Жыл бұрын
If you can accomplish the same thing with both (whether more / less lines of code or using native or dependencies) but one wins out in performance AND security then that is the clear winner.
@stanrock8015
@stanrock8015 Жыл бұрын
Best for what should be the question
@user-co7uj7hv5w
@user-co7uj7hv5w Жыл бұрын
Hello! Could you please add/enable autocaptions on this video? It would be really helpful for a lot of people!
@Luwef
@Luwef Жыл бұрын
Really great video! You explain all things very well
@masmullin
@masmullin Жыл бұрын
Nice of you to say. I wish I was better.
@dexedrine404
@dexedrine404 Жыл бұрын
What font are you using for your terminal in this video?
@masmullin
@masmullin Жыл бұрын
Lilex
@lume8476
@lume8476 Жыл бұрын
Does spawn blocking release the current thread? Or It just put the current thread in "wait" untill the blocking task is terminated?
@masmullin
@masmullin Жыл бұрын
There are two async/await concepts needed to explain this. Task and Thread. A task is a set of work to be completed, a thread is the underlying mechanism used to complete that work. calling something like web::block(||get_users()).await.unwrap() will release the thread back to the Tokio Runtime, but it does not "release" the task. The task is "await"ing the return of web::block, but the tokio runtiime can use the thread which was running the task for other purposes until the await is complete.
@lume8476
@lume8476 Жыл бұрын
@@masmullin yes, of course. But is It the Waker thread (not the current thread) that Is polling the async task checking for any update? Am i right?
@marspark6351
@marspark6351 Жыл бұрын
Hey Michael, your videos are actually incredibly excellent, and I would love if we could connect in a personal level. Do you have any kind of social media that you use with other developers? Perhaps discord? It would be amazing if we can share thoughts and discuss various topics and maybe even do projects together. FYI, I previously worked at Cisco and I'm currently working at LG as a software engineer on cyber security
@masmullin
@masmullin Жыл бұрын
No, Sorry. Feel free to contact me via email though. A few other viewers do this from time to time.
@marspark6351
@marspark6351 Жыл бұрын
At the end, you skipped to how you got to run Arch linux on qemu with a custom kernel you cloned. However, it would have been nice to see the steps after the cloning of the custom kernel. Did you not have to "load" the kernel code to the image somehow? And also, how come previously your qemu window was opened on a separate window, but at the end, it seems like you have the arch linux emulation running on the same terminal?