hoff._world
hoff._world
  • Видео 31
  • Просмотров 233 381
My Event Driven Programming Era
#programming #softwareengineer #codingtips
Event based, event driven programming is a popular paradigm for good reason. I'm kinda into it right now...
game: Skate 3
Chapters: 00:00 - What is event based programming?
01:05 - Asynchronous Design
02:15 - Robustness with a real world example
04:01 - Event Processing and Handling
05:00 - Challenges of event based programming
06:38 - Understanding event based architecture
08:26 - Knowing when to use event based programming
10:00 - Don't wait for things that dont need to happen
11:16 - Be careful and THINK about your design!
12:18 - Everyone needs their eras
13:36 - I jump the shark in Skate 3
Просмотров: 2 559

Видео

Coding a Secure Port Forwarding Tool!
Просмотров 1,3 тыс.21 день назад
SSH port forwarding is the swiss army knife of secure self hosting. Let's write a management program to make it reliable! Download: hoff.industries/files/conartist-3-0-0.zipHome Server Tour: ruclips.net/video/lAwS-V1Co2E/видео.html Chapters: 00:00 - Intro and Overview 00:57 - What is SSH Port Forwarding? 02:44 - How do we solve this with code? 03:27 - Config file definition 04:48 - Setting up b...
Choosing a Programming Language
Просмотров 75628 дней назад
Choices are hard, especially about programming languages. How do you choose one? game: Skate 3 Chapters: 00:00 - Choices are hard! 01:23 - People tend to be emotional about langs 01:58 - Thinking in a 'meta-language' 02:59 - Example - High Performance network app 04:03 - Refining it down 06:33 - Example - Web Scraper with weird data 07:52 - Objectively think about what matters
I2C, SPI, UART - The BIG 3 Embedded Protocols
Просмотров 1,3 тыс.Месяц назад
Sorry for the long wait. We're doing the most popular wired embedded protocols, concepts, tradeoffs, design decisions! BLUETOOTH LOW ENERGY coming soon to a cinema near you! Design a Messaging Protocol: ruclips.net/video/kH7P1ZX44DQ/видео.html Reverse Engineering I2C RGB: ruclips.net/video/YrjErPc3AVk/видео.html AD SPI: www.analog.com/media/en/analog-dialogue/volume-52/number-3/introduction-to-...
THREADS - Program in Parallel!
Просмотров 2,1 тыс.2 месяца назад
We're looking at multithreaded program architecture, threading across languages, synchronisation primitives, all that juicy stuff. Learn how to write a multithreaded socket server: ruclips.net/video/9jKqwEpilNE/видео.html docs.python.org/3/library/threading.html www.ibm.com/docs/en/aix/7.2?topic=programming-using-readwrite-locks docs.oracle.com/cd/E19683-01/806-6867/6jfpgdcnj/index.html Chapter...
GRASP the 'Problem Space' in Computer System Design
Просмотров 1,1 тыс.3 месяца назад
We're chatting about understanding the problem space when designing software, networked, embedded or electrical systems. A big part of this is loading the right context about problems for different parts of your design. game: Counter-Strike: Source (Surf gamemode, yes im playing realtime :D) map: surf_mesa server: private server, peep my vid here :P ruclips.net/video/frp-bNoqjzc/видео.html Chap...
HoffTV SERVER TOUR 2024 - Hosts, Daemons, Pi's
Просмотров 3 тыс.3 месяца назад
In today's episode of HoffTV Cribs we're looking at my server infrastructure, network, raspberry pis, custom daemons and more. Powered by FreeBSD: www.freebsd.org/ Learn how to name your computers with RFC1178: datatracker.ietf.org/doc/html/rfc1178 Chapters: 00:00 - Goofy intro 00:32 - Server Specs 01:27 - My network hosts 03:08 - My server's architecture 07:06 - NGINX, Minecraft, Terraria 08:1...
The BENEFITS of Programming Under CONSTRAINTS
Просмотров 20 тыс.3 месяца назад
The memes are true. Recently had an interesting conversation about constraints in embedded systems. Applies to all programming too! Note: OOPS fast inv sqrt was for Quake 3 not doom... bad memory of mine :P game: minecraft tree parkour (yes im playing in real time) if ur wondering i am wearing the noctua hoodie (not sponsored) it is genuinely SO comfy Chapters 00:00 - Intro 00:50 - Specificatio...
How Schools Detect ChatGPT - AI Detecting AI
Просмотров 8583 месяца назад
We're gonna check out the nuts and bolts of how AI text detection works by going through an academic paper. Specifically the paper is "Deepfake Detection - Limitations and Opportunities" Paper: arxiv.org/pdf/2210.09421 Computerphile vid: ruclips.net/video/XZJc1p6RE78/видео.html Chapters: 00:00 - Introduction 00:36 - Overview of the Paper 01:39 - AI Models Used for Detection 02:39 - Datasets use...
Computer Science vs Engineering from a guy doing BOTH
Просмотров 2,7 тыс.5 месяцев назад
Many ask 'computer science or engineering'. As a guy studying both in a dual degree program I want to share my experiences with them. Note: I misspoke at 6:14 when I said AC signals I meant just analogue signals in general :) game: Counter-Strike: Source (Surf gamemode, yes im playing realtime :D) map: surf_nyx server: private server, peep my vid here :P ruclips.net/video/frp-bNoqjzc/видео.html...
Reverse Engineering Graphics Card RGB Lights!
Просмотров 2,5 тыс.5 месяцев назад
One of my favourite projects was reverse engineering the lighting controller on my Gigabyte GeForce G1 980 Ti graphics card. I'm going to show you reverse engineering techniques and an introduction to the I2C embedded communication protocol! g1980ti-led documentation: github.com/hoff-dot-world/g1980ti-led TI Understanding I2C: www.ti.com/lit/an/slva704/slva704.pdf NVAPI reference: docs.nvidia.c...
All About Epoll - Scalable I/O Syscalls in Linux!
Просмотров 3,9 тыс.6 месяцев назад
Epoll is a powerful Linux kernel interface for waiting on multiple file descriptors at once without threading. We watch some pipes as an example. WE POLLIN epoll man page: man7.org/linux/man-pages/man7/epoll.7.html epoll_event type: man7.org/linux/man-pages/man3/epoll_event.3type.html epollin/out demo code: github.com/hoff-dot-world/wepollin Editor: Kate (xoxo KDE) Colours: Custom (based on Mon...
How to Write a Socket Server with Thread Pools & Epoll!
Просмотров 2,4 тыс.6 месяцев назад
We're writing a publisher subscriber socket server using thread pools and epoll for load balancing. Watch me chill in my thread pool :D epoll man page: man7.org/linux/man-pages/man7/epoll.7.html pthread man page: man7.org/linux/man-pages/man7/pthreads.7.html socket man page: man7.org/linux/man-pages/man2/socket.2.html Implementing the Net Protocol: ruclips.net/video/AS_nxNS6YKY/видео.html Writi...
Imposter Syndrome for Engineers (2nd ed.) (2011)
Просмотров 8656 месяцев назад
This video is going to be kind of mellow and we're gonna be pretty frank and honest. I got a lovely email from a viewer the other day where he mentioned he had some issues with imposter syndrome and I thought I might make a video addressing the topic and detail my own experiences with it. game: Counter-Strike: Source (Surf gamemode) map: surf_summit bgm: ruclips.net/video/phwfzUE7ckw/видео.html...
Host Dedicated Steam Game Servers with Linux - Palworld, CS2, SteamCMD!
Просмотров 2,9 тыс.6 месяцев назад
Set up and host dedicated community Steam game servers on Linux with SteamCMD! Counter-Strike 2, Palworld, and more! A dedicated server is the only way to host CS2 workshop maps for friends atm, so worthwhile to set up. We also cover fixing the steamclient.so not found error. SteamCMD Documentation: developer.valvesoftware.com/wiki/SteamCMD CS2 Server Documentation: developer.valvesoftware.com/...
Why Software Engineering is a Creative Field
Просмотров 1,5 тыс.6 месяцев назад
Why Software Engineering is a Creative Field
How to Actually Start a Software Project!
Просмотров 7 тыс.6 месяцев назад
How to Actually Start a Software Project!
Getting Good at Programming
Просмотров 4,4 тыс.6 месяцев назад
Getting Good at Programming
Implementing a Network Protocol in C from Start to Finish!
Просмотров 6 тыс.7 месяцев назад
Implementing a Network Protocol in C from Start to Finish!
How to Design a Network Messaging Protocol!
Просмотров 13 тыс.7 месяцев назад
How to Design a Network Messaging Protocol!
Why I Use Linux - It's Not What You Think
Просмотров 9 тыс.7 месяцев назад
Why I Use Linux - It's Not What You Think
How to Write a Linux Daemon from Start to Finish!
Просмотров 86 тыс.7 месяцев назад
How to Write a Linux Daemon from Start to Finish!
Why macOS Makes Me Sad - Macs & Hackintosh
Просмотров 3 тыс.7 месяцев назад
Why macOS Makes Me Sad - Macs & Hackintosh
How to Set Up a Linux Home Server from Start to Finish!
Просмотров 35 тыс.7 месяцев назад
How to Set Up a Linux Home Server from Start to Finish!
Home Servers for Dummies - Architecture
Просмотров 2,3 тыс.7 месяцев назад
Home Servers for Dummies - Architecture
10 New Years Resolutions for Linux Users
Просмотров 1,8 тыс.8 месяцев назад
10 New Years Resolutions for Linux Users
How to Get Good at Troubleshooting Linux!
Просмотров 8922 года назад
How to Get Good at Troubleshooting Linux!
How to Host your own Private Cloud with SSHFS!
Просмотров 1 тыс.2 года назад
How to Host your own Private Cloud with SSHFS!
Linux Distributions DO Matter... Kind of
Просмотров 1,6 тыс.2 года назад
Linux Distributions DO Matter... Kind of
The PinePhone Pro is REALLY Exciting: Arch ARM, Plasma Mobile, Waydroid, SSH Overview
Просмотров 13 тыс.2 года назад
The PinePhone Pro is REALLY Exciting: Arch ARM, Plasma Mobile, Waydroid, SSH Overview

Комментарии

  • @rangerzh
    @rangerzh День назад

    is it 24/7 port forward?

  • @grommysvideohorde2734
    @grommysvideohorde2734 3 дня назад

    Howdy! This tutorial was INSANELY helpful (and I really dig the fact that you named your servers after Pokemon, I'm doing the same lol), but noob question: If I have several drives on my rig, how can I set them up to be shared via NAS? I could only seem to get the root drive to show up, but I have 2 8tb drives I want to use for storage, and which are presently sitting unused. Again, very noob-y question, but I'm a first timer, lol.

  • @metindmrc
    @metindmrc 6 дней назад

    Great job ! Pls dont forget to clear cli lines. RUclipss play bar comes before the codes.

  • @mailoisback
    @mailoisback 14 дней назад

    Wow this is impressive. Thanks for sharing, it gave me some ideas to work on.

  • @noodlery7034
    @noodlery7034 16 дней назад

    is your skate 3 gameplay emulated or are you recording from an actual ps3?

    • @hoff._world
      @hoff._world 15 дней назад

      emu but I own both a PS3 and a physical copy of skate 3 and ofc im using my dualshock 3 to play

  • @LorenzVdv
    @LorenzVdv 16 дней назад

    Paradigms are when stupid people take a single solution for a specific problem and claim entire programs should be written that way. Events are tools, sometimes good, sometimes bad. Use it when it makes sense, otherwise dont. Over my carreer i've always experienced paradigm coders to be producing the worst code bases. They write way too complex code for simple problems. They write 10x more code than what is actually needed. And with just those 2 cons, you'll end up with a un-maintainable code base in no time. And the worst is.. they keep doing it. Over and over again, because it's all they know, and admitting it's bad would destroy their ego. And they wont allow it.

    • @kerch00
      @kerch00 16 дней назад

      Paradigms are separate from people who like to misinject complexity into their formal work

    • @LorenzVdv
      @LorenzVdv 14 дней назад

      @@kerch00 i disagree. From my experience, their idiologies always results into complexity. Probably because their paradigm is the wrong solution for the problem that needs to be solved.

    • @kerch00
      @kerch00 14 дней назад

      ​@@LorenzVdvParadigms are not really tools as you speak of, they describe the architecture of languages. One doesn't just solely program functional in java even though it's possible. It's this reason why JavaScript is terrible since you are able to, and people do, mix these different types of programming together. Java is good for enterprise since it's Oop and imperative, C is good for kernel work since it's procedural and imperative. Haskell is not good for much but research because it's not imperative.

    • @uGetkilled
      @uGetkilled 10 дней назад

      100% the only sensible comment in here. I think the problem in tech is also that people "like" certain tools or technologies and that becomes the basis for decision making on solving problems. They then advocate for said tools/technology as if it's the end-all-be-all silver bullet solution to everything "because they've always used it, and it works". Just because you 'can' fix a problem a certain way, doesn't mean you 'should'.

  • @Palatonista
    @Palatonista 16 дней назад

    I remember coding UI-manger for small medical device at my current job. It was hella fun I must say

    • @hoff._world
      @hoff._world 15 дней назад

      ooh sounds cool. can u say anything about it or under NDA or smth haha

  • @chudchadanstud
    @chudchadanstud 16 дней назад

    Yes it's good fun but the coupling is insane and the debugging is hard.

    • @hoff._world
      @hoff._world 15 дней назад

      which, depending on ur definition of fun could also be fun...

  • @stefanalecu9532
    @stefanalecu9532 16 дней назад

    You're not Tony Hawk, you're Tony Hoff

  • @redofficiale
    @redofficiale 16 дней назад

    you'll eventually stumble upon/reimplement reactive programming. I recommend reading the manifesto and looking at the implementations, maybe you'll change your view on this manner. I agree that enforcing Event-Driven because why not is just another cargo cult. Every decision should be motivated and solve specific problems

  • @timtreichel3161
    @timtreichel3161 16 дней назад

    I think it really just comes down to the kind of problems you are solving. In cases like embedded systems, message processors, user interfaces, ect, events are a good way to model the problem. I guess you could almost say in general any program which should run "infinitely" and receives different inputs at (un)specified points in time can probably be modeled pretty nicely in an event based way.

    • @hoff._world
      @hoff._world 15 дней назад

      ye 100% agree, ig those are just the kind of problems im solving atm

  • @joshuarowe8410
    @joshuarowe8410 16 дней назад

    One thing I'm exploring right now with a Server <-> Embedded device communication layer is wrapping up the event-based / state machine style code behind a simpler more imperative / RPC-like semantics functions. So "update_configuration()" internally might do a bunch of messages back and forth from the device to check current config hash, upload new one in chunks, then instruct it to swap over to the new config. If you have async/await, or Promises in NodeJS, etc, then you can present a quite nice API to help the onboarding issue you mentioned a bit. Nice shark jump.

    • @hoff._world
      @hoff._world 16 дней назад

      oh my lord we are the same person. U might be interested in my endpoint based rpc protocol for embedded sys that hybrids events and rpc hoff.industries/release-mup.html have u done like a spec doc for urs I can check out?

  • @estebanmurcia8451
    @estebanmurcia8451 17 дней назад

    Could you recommend some projects that you would say helped you learn a lot? My focus on programming has always been high level like spring in java, nextjs / react, etc... I still always like embedded systems, not anything specific, from OS to socket programming and even some IoT, but haven't really done much to learn.

    • @hoff._world
      @hoff._world 15 дней назад

      write a basic TCP socket server with some clients, you could implement a 'chat server' to start off with which is pretty simple. You'll have to design a protocol for initialising, sending messages, leaving, etc. which is a lot of fun

  • @quinndirks5653
    @quinndirks5653 17 дней назад

    I personally would prefer a version of this video without the skateboarding video game in the background. I managed to make it through, but it wasn't easy. Maybe make the video of the skateboarding smaller, and your face box bigger for future content? I found myself wishing that the distraction was gone so that I could focus more on what you were saying and the examples being shown... Just something to consider for future content. Other than that, it was a really interesting speech on an interesting subject. Subscribed

    • @hoff._world
      @hoff._world 17 дней назад

      hey bro, have been doing this style of vids for a while and had a disclaimer at the start the visuals werent critical and you can just listen instead. if u didnt realise i was actually playing the game in real time while talking, it's fun for me and think it clearly marks a different style of content from the other stuff on my channel. I try my best to make sure that the added visuals in these ones are not mandatory because I have got this feedback before, some people like it and some would prefer to just listen. Thanks for watching and I appreciate the feedback. did u see me jump over the shark at the end tho? that was pretty cool u gotta admit

    • @stefanalecu9532
      @stefanalecu9532 16 дней назад

      ​@@hoff._worldif it was scripted, that was damn near perfect, shark jump ftw

    • @hoff._world
      @hoff._world 16 дней назад

      @stefanalecu9532 these 'chatting' style vids rnt scripted, I have some dot points but its generally me yapping :D I legit forgot I even placed my marker at the shark and was like aight might as well try hahaha

  • @Tommy45344
    @Tommy45344 17 дней назад

    good stuff man Ive written 2 event handling interfaces in the last few months at my new job, one for TCP communication and one with rabbitMq. Gotta say I’m also event pilled it’s good fun

    • @hoff._world
      @hoff._world 17 дней назад

      real dude we are eventmaxxed and eventpilled that's sweet, gotta do smth with rabbitmq or kafka at some point myself

  • @UsatiyNyan
    @UsatiyNyan 17 дней назад

    Also, if you have problems with handling events, look into more sophisticated event queues! Deferring and prioritisation always come in handy.

  • @Unbreathable
    @Unbreathable 18 дней назад

    Man, you speak me right out of the soul. I never even realized I'm doing event based stuff all the time, but for me I guess the approach I'm taking is a little bit of a mixed bag. I'm currently working on a decentralized chat app project (something like Matrix) with its own custom protocol. There are also events running mostly over websocket connections but also over normal HTTP requests all across the stack. It's been really enjoyable to work with but I do see the limitations of events. Of course you can also just send events over a normal HTTP request, but the way I see it, that doesn't make sense when you can just have the endpoint do a certain thing. But for sending chat messages, changing real-time data and all that kind of stuff I do love using events.

    • @hoff._world
      @hoff._world 17 дней назад

      that's an awesome project and yeah I can see how you'd want a hybrid approach for that. you could as you say force events over HTTP requests but it might end up being a square peg in a round hole... with it being decentralized I can't think of a better architecture then event based no? were there others you considered also?

    • @Unbreathable
      @Unbreathable 17 дней назад

      @@hoff._world I think it would be really hard to implement something like messaging using something else than events, maybe there is something besides events I'm not aware of, but I haven't considered anything else. Messaging is one of those things where you just need events to make sure things can be received any time and also resent if something goes wrong.

  • @raven-vr5yz
    @raven-vr5yz 18 дней назад

    damnn, bro's Bob Ross, professional surfer and Tony Hawk at the same time

    • @hoff._world
      @hoff._world 17 дней назад

      wait til i do a vid on my electric foil surfboard :P

  • @homemadelemonai7243
    @homemadelemonai7243 18 дней назад

    "11 o'clock is an event" haha, nice vid

  • @Lavashyk
    @Lavashyk 18 дней назад

    I cannot describe how I love your previews. It is always piece of art. And obviously that I love the videos you make. About this topic. Observing various paradigm is always fresh feeling in programming. Me personally embrace Data Oriented Design (for game development) despite the popular approach - OOP. I mean, it is correct that paradigm is a architecture tool. And for me, it is sad that people choose OOP for every project. When you have a hammer, everything is a nail. So, It interesting for me to listen about the paradigm I have never heard of 😂 Thanks for the video! Nice jump over the shark😅

    • @hoff._world
      @hoff._world 17 дней назад

      couldn't agree more. Learning about all the different ways to structure applications keeps things fun - right now I'm having a blast using events for everything but in a year or two I imagine it will be pretty boring... same if it was any other paradigm. So then it will be time to learn a new one :)

    • @UsatiyNyan
      @UsatiyNyan 17 дней назад

      BTW, the game scene itself has to be a tree(propagating transformations, ray casting and etc.), how do you create relationships between “nodes” in DOD?

  • @UsatiyNyan
    @UsatiyNyan 18 дней назад

    Brooo, that’s what I’m saying!!! I’ve recently started making my own futures/coroutines/executors/event queues… It’s basically free performance. And if done correctly, writing safe and productive code becomes much-much easier!

    • @hoff._world
      @hoff._world 17 дней назад

      nice so ur implementing those paradigms yourself??

    • @UsatiyNyan
      @UsatiyNyan 17 дней назад

      Ye, in C++ though, but it comes about soo cool! I’ve got something like ‘co_await socket.read/write(bytes)’ and ‘co_await socket.accept()’ working with epoll. One of the things I really like is that it can work in one thread, without the cost of atomic operations, but with all the niceties of “asynchronous” execution.

    • @stefanalecu9532
      @stefanalecu9532 16 дней назад

      ​@@UsatiyNyando you have these somewhere public? I'd be interested in the implementation

    • @UsatiyNyan
      @UsatiyNyan 16 дней назад

      @@stefanalecu9532 ye, in UsatiyNyan/serious-execution-library repo on GitHub. Primary example is in serious-io-library repository. Multithreaded impl is WIP, though ;)

  • @ScaryHutmanPictures
    @ScaryHutmanPictures 18 дней назад

    First! :D

  • @cience
    @cience 19 дней назад

    Such a handy guide and i liked the way you emphasized on good practices. Subbed! Thanks

  • @DevJeremi
    @DevJeremi 19 дней назад

    I use Linux 'cose it is: - it is more fun - stable and fast - customization - easy app install and updating them - grate/easy env to use/setup for coding stuff

  • @mrinalyadav4261
    @mrinalyadav4261 21 день назад

    This video was grt, i also want to learn all these stuff, any advise from where can i learn these low level stuff? i cant find any system engineering playist on youtube

  • @chad-ed2vn
    @chad-ed2vn 22 дня назад

    Since I watched this server tour video I have been trying to find another one with the same vibes. Couldn't find sht. So now im back here to rewatch this jewel.

  • @folguefolgue6177
    @folguefolgue6177 24 дня назад

    to make it easier to unmarshal you could define struct with the same data structute definition, check the json module documentation. Its been a while since ive written go, but I remember it been simple to do. PS: Interesting video :)

  • @evanrittenhouse7866
    @evanrittenhouse7866 26 дней назад

    Have you thought about live streaming you coding?

    • @GregTash
      @GregTash 26 дней назад

      That would be pretty good I reckon

    • @hoff._world
      @hoff._world 24 дня назад

      it's crossed my mind, unfortunately I'd be exposing myself as a massive fraud who's never written a line in his life. nah kidding, main issue is timezone (im AEST) + busyness, there's no shot I could hold down a schedule but maybe if I announce one like a week in advance could work... no promises but ill think on it!

  • @royalpotato4733
    @royalpotato4733 26 дней назад

    Its learning time :> also hoff I need some ideas in the field of Network programming, anonymity to work on for my final year project. Any assistant sensei

  • @alex.289
    @alex.289 26 дней назад

    Couldn’t these problems be solved with Kubernetes?

    • @hoff._world
      @hoff._world 26 дней назад

      if it could I would still rather not pull in all that complexity for what I knew would be at max 300 loc

    • @alex.289
      @alex.289 26 дней назад

      @@hoff._world yea it would probably add more complexity than necessary indeed

    • @hoff._world
      @hoff._world 26 дней назад

      @alex.289 it is always interesting tho to see other options put forth, in software engg and infrastructure stuff there's always multiple ways to do the same thing :)

  • @AliMoeeny
    @AliMoeeny 26 дней назад

    thanks for sharing, as always very educational, obligatory mention of Tailscale. Since it just works almost everywhere .

  • @estebanmurcia8451
    @estebanmurcia8451 26 дней назад

    Have you ever used ruby for network programming? if so, what are your thoughts, specially when compared to other languages?

    • @hoff._world
      @hoff._world 26 дней назад

      I have never actually written anything in ruby. I hear rails is pretty good, or by network programming do you mean socket based stuff?

    • @estebanmurcia8451
      @estebanmurcia8451 26 дней назад

      @@hoff._world socket based, i once planned a project, basically a fancy firewall and a professor recommended ruby which kinda surprised me because i never thought ruby would be used for this type of projects, later i found out that there are actually more projects for "low level" networking in ruby than i expected

    • @hoff._world
      @hoff._world 26 дней назад

      @estebanmurcia8451 interesting, yeah that surprises me too since it's interpreted you'd probably consider it a high level lang. Come to think of it there are also more socket programs and such written in python than I would expect so yeah I can see it

  • @mblenczewski
    @mblenczewski 26 дней назад

    Nice video! Reinventing a vpn, we love to see it :^) Initially when I saw the setup_exec() and process_watcher() code I had a lil' grimace, but it is simple, effective, and was quick to implement so I cannot complain. Plus this is written in a real language and not c so you have convenience and ergonomics, no need to overcomplicate anything. Aside from wanting to implement something yourself, why not simply use some vpn server for a point-to-point or point-to-site setup? Would that have worked, or is this use case of private services tunneled over public networks (the internet) unsuited to a vpn in some way? Any hints on what is coming up next?

    • @hoff._world
      @hoff._world 26 дней назад

      didnt wanna use a VPN because I want this to be always on and having everything go thru my home network all the time would probably be kinda slow re: coming next I think I should stop making promises I can't 100% keep :')

    • @mblenczewski
      @mblenczewski 26 дней назад

      @@hoff._world hahaha no worries about the future videos. Sometimes things become larger and more complicated than expected, sometimes other topics pop up and are easier to do, or we just stop being interested in something. All of these are fine and happen, nothing wrong with that :) Regarding not using a vpn due to all traffic always going through the home network, my understanding was that this was something you could choose to enable, not something that was unavoidable? For example, in a "point-to-site" case, your LAN would have the vpn server running on your top-level router. This is the "site" part, and would allow incoming traffic to be routed to all/some local subnets. On your device, i.e. the "point" part, you would have the vpn client running and this would tunnel all traffic going into it to the vpn server, as your ssh setup does now. You could obviously tunnel all traffic on your device through the vpn, and this could indeed be slow. But the default would be that your local network subnets are visible on your device, likely under some different subnet address and only traffic to this new subnet is tunneled (e.g. your home network is on 192.168.*.* but is visible on your device as 10.0.*.*, you simply access your local network services via this new 10.0.*.* network). I may still be misunderstanding your use case or constraints And this may not be how how all vpns work, some might enforce greater security at the cost of tunneling all traffic, or may not be configurable/flexible enough to allow my above mentioned setup.

    • @hoff._world
      @hoff._world 26 дней назад

      @mblenczewski neato u learn smth new every day that does sound like it could be good. to be honest haven't experimented so much with self-hosting a VPN of any capacity - freebsd's wireguard implementation was only recently considered 'production ready' so was planning on messing around with that when I have the time. The way this setup works at the moment is only port based, it just sets up a listener on that port and routes traffic on that through the enc tunnel, everything else goes thru the normal connection. With the method you're describing it would be that you simply interact with them as if they were regular hosts on your LAN except on a different subnet which would also be a completely valid way to solve the problem, thanks for sharing :)

    • @mblenczewski
      @mblenczewski 26 дней назад

      @@hoff._world your current implementation maps to multiple "point-to-point" vpns (one for each sshd host), each exposing their services onto the localhost subnet, I think. To my mind, the upside of ssh tunneling is remapping ports, which you don't get by default with a vpn. And ssh tunneling isnt talked about enough as it is, so it is always good to mention it. Enjoyed the video regardless :)

  • @Palatonista
    @Palatonista 26 дней назад

    Bro is on a hot streak 🔥Keep 'em commin mate ❤

  • @shevafire
    @shevafire 26 дней назад

    Depends of project ...

  • @raven-vr5yz
    @raven-vr5yz 26 дней назад

    bro just casually drops the most insane videos youtube has ever seen fr no cap

    • @hoff._world
      @hoff._world 26 дней назад

      fr fr ohio skibidi cooking porkchops for the sigma crew

  • @splattelol
    @splattelol 27 дней назад

    Sorry mom, can’t talk right now. Hoff just posted

  • @ducky1681
    @ducky1681 27 дней назад

    wow man, you really went all-out with this one, that whole distributed system is beautiful, here's hoping you release it one day 😅

  • @AMehdiKh
    @AMehdiKh 29 дней назад

    Finally, that edge-triggered mode became clear. Thank you.

  • @vladlvv
    @vladlvv 29 дней назад

    Man, i watched this far and i am the one who must be saying thank you, like BIG THANK YOU. In 60 mins u wrapped up all my background knowledge into a nice picture where everything makes sense, final result so to say, without going into the specific details I either have answer on or I can google it up or learn it with no problems. I also would like have video in something similar way about making this locally run server available in internet for every one, so i can play with my friends on mine micraft server for instance. But I guess it's rather more about computer networks rather than this channel topic. Regardless I have a lot to practice on setting up server properly, and local is more than enough for that. Ty so much again, this will be probably one of those videos which i will be re-watching a lot to fresh my knowledge or until i brake it down for myself in obsidian

    • @vladlvv
      @vladlvv 29 дней назад

      I think i might find my answer in video where u setting up cs server. Probably just need to browse ur channel more

  • @SimGunther
    @SimGunther 29 дней назад

    No, silly. The programming language chooses you! 😂

  • @arian386
    @arian386 Месяц назад

    I learned programming using C, but I have forgotten how I learned it l. I also don't like Python much. If someone asks me how to get started in programming I find myself in the dilemma of recommending either C or python.

  • @wviana852
    @wviana852 Месяц назад

    Remind me the thought process for doing something as woodwork. This material don't do well with humidity but what I'm building will be in a really dry. Or this wood is easier to work with than this other one.

    • @hoff._world
      @hoff._world Месяц назад

      yeah exactly it's all about how you look at problems and dont get so attached to things. I'm sure there's a type of material you probably really love but in some circumstances it just isn't right to use