Giovanni's Diary
Giovanni's Diary
  • Видео 43
  • Просмотров 17 130
fractals
Rendering fractals with my engine
github.com/San7o
Просмотров: 168

Видео

CUDA pt1
Просмотров 1,2 тыс.14 дней назад
Nota: Questo non è un tutorial su CUDA, è un video dove mi registro mentre imparo ad utilizzare cuda
Nuovo ECS in C++20 - Game Engine dev-vlog ep3
Просмотров 22821 день назад
L'engine si sta avvicinando ad una prima release ufficiale e voglio che il codice sia pulito e ben documentato. Ci sono tantissime cose interessanti ancora da implementare e non vedo l'ora ! Repo del progetto: github.com/San7o/opengl-santo-engine
GMTK Game Jam 2024 DAY 1
Просмотров 44528 дней назад
itch.io/jam/gmtk-2024 Timestamps: 0:00 - About the project 13:17 - Texture Atlas 1:08:44 - Camera and Player 2:16:56 - Player Movement 3:17:18 - Animations 4:29:34 - Movement Boundaries 4:49:09 - Particles 6:15:46 - Audio
GPU Particles - Game Engine dev-vlog ep2
Просмотров 148Месяц назад
In questo video voglio documentare come ho implementato gli effetti particellari nel mio game engine in Opengl/C . Tutti i calcoli per lo spawn ed il movimento delle particelle avvengono nella GPU così da sfruttare la potenza di calcolo della scheda video. Repo dell'engine: github.com/San7o/opengl-santo-engine Il mio github: github.com/San7o
Texture Atlas - Game Engine dev-vlog ep1
Просмотров 201Месяц назад
Creiamo un texture atlas per il mio game engine in Opengl/C Repo dell'engine: github.com/San7o/opengl-santo-engine Il mio github: github.com/San7o
Programmers be like
Просмотров 188Месяц назад
Why spending 30 seconds to do something when you can spend 5 hours automating it? Repo: github.com/San7o/youtube-miniature-generator/tree/main
Sandboxing in Linux - Creare un Antivirus pt25
Просмотров 267Месяц назад
Repo del progetto: github.com/San7o/linux-kernel-antivirus
Ho creato un Engine Grafico da 0 in Opengl/C++/ECS
Просмотров 1,5 тыс.Месяц назад
Come ho creato un engine grafico in 3D utilizzando Opengl e C . Ho lavorato a questo progetto nel mese di luglio 2024, implementando un Entity Component System (ECS) ispirato a Bevy. L'engine comprende comode classi per gestire l'input dall'utente, audio, modelli 3d e textures, logging, testo, shaders, illuminazione, camera e altro. Inoltre è possibile eseguire simulazioni senza il rendering gr...
Creare un Antivirus pt24: DB e nuovi concetti
Просмотров 153Месяц назад
Repo: github.com/San7o/linux-kernel-antivirus
Creare un Antivirus ep23: Leggere i dati
Просмотров 60Месяц назад
Slowing losing my sanity Sessione sfigatissima ma ce l'ho fatta a far funzionare tutto (quasi) Repo: github.com/San7o?tab=repositories
Creare un Antivirus pt22: Messaggi strutturati dal Kernel
Просмотров 74Месяц назад
Repo del progetto: github.com/San7o/linux-kernel-antivirus
Creare un Antivirus pt21: Comunicazione tramite Character Devices
Просмотров 58Месяц назад
Repo del progetto: github.com/San7o/linux-kernel-antivirus
Creare un Antivirus ep20: Firewall nel Kernel
Просмотров 79Месяц назад
Repo del progetto: github.com/San7o/linux-kernel-antivirus
Creare un Antivirus pt19: Problemi su Problemi
Просмотров 72Месяц назад
Prima di aggiungere nuove funzionalità ho sistemato un po' i problemi nel codice Repo: github.com/San7o/linux-kernel-antivirus
Linux kernel: Character Devices
Просмотров 87Месяц назад
Linux kernel: Character Devices
Creare un OS pt2: Bootiamo un kernel
Просмотров 568Месяц назад
Creare un OS pt2: Bootiamo un kernel
Creare un OS pt1: Cross Compiler
Просмотров 2,3 тыс.Месяц назад
Creare un OS pt1: Cross Compiler
Creare un OS pt0: Ripassino di assembly
Просмотров 616Месяц назад
Creare un OS pt0: Ripassino di assembly
Creare un Antivirus: Stato del Progetto
Просмотров 1,6 тыс.Месяц назад
Creare un Antivirus: Stato del Progetto
Creare un Antivirus pt18: Invio dei messaggi
Просмотров 539Месяц назад
Creare un Antivirus pt18: Invio dei messaggi
Creare un Antivirus pt17: Netlink funzionante (con polling)
Просмотров 91Месяц назад
Creare un Antivirus pt17: Netlink funzionante (con polling)
Creare un Antivirus pt16: Catturare gli args
Просмотров 51Месяц назад
Creare un Antivirus pt16: Catturare gli args
Chill linux kernel module coding (no voice) - Antivirus pt15
Просмотров 1,7 тыс.Месяц назад
Chill linux kernel module coding (no voice) - Antivirus pt15
Creare un Antivirus pt14_2: Ancora Netlink
Просмотров 35Месяц назад
Creare un Antivirus pt14_2: Ancora Netlink
Creare un Antivirus pt14_1: Netlink
Просмотров 32Месяц назад
Creare un Antivirus pt14_1: Netlink
Creare un antivirus pt13: Kernel Debugging
Просмотров 299Месяц назад
Creare un antivirus pt13: Kernel Debugging
Creare un Antivirus pt12: System call table hooking
Просмотров 40Месяц назад
Creare un Antivirus pt12: System call table hooking
Creare un Antivirus pt11_2: Finalmente kernel dev (circa)
Просмотров 100Месяц назад
Creare un Antivirus pt11_2: Finalmente kernel dev (circa)
Creare un Antivirus pt11_1: kernel-dev setup
Просмотров 38Месяц назад
Creare un Antivirus pt11_1: kernel-dev setup

Комментарии

  • @Mhessia
    @Mhessia 2 дня назад

    cos’è un game engine e a cosa serve ?

  • @nobodynet1198
    @nobodynet1198 9 дней назад

    Progetto estremamente interessante, faccio il tifo per te!

  • @kevinthomaj6080
    @kevinthomaj6080 11 дней назад

    Ciao, complimenti per i video, sei veramente un ragazzo forte forte. Ero interessato a sapere quali sono state le fonti principali da cui hai studiato prima di iniziare ad esempio a programmare il tuo antivirus e il tuo game engine. Anche perché per l antivirus avevi già un architettura da cui partire per poi programmmare, e per realizzare un architettura bisogna già sapere bene il funzionamento interno di un antivirus. Ecco ti volevo chiedere i libri/siti dove hai studiato queste cose.

  • @valerioageno4637
    @valerioageno4637 12 дней назад

    Grande

  • @ancora3864
    @ancora3864 13 дней назад

    Ciao video interessantissimo, potresti mettere a disposizione le tue dispense informatiche in obsidian?

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

    Se fai unitn c'è il corso di Passerone che è in buona parte su CUDA!

  • @aldob5681
    @aldob5681 15 дней назад

    ma perché rifare linux? non è meglio fare ciò che serve? io partirei da una mia esigenza per soddisfarla piuttosto che creare in astratto.

    • @giovannis-diary
      @giovannis-diary 15 дней назад

      @@aldob5681 Certo ricreare un OS ha pochissima se non nulla utilità pratica, ma tanto valore educativo. Questo progetto lo faccio per imparare, se dovessi creare un vero kernel funzionante partirei da BSD o linux (soprattutto per i drivers che hanno).

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

    posso dire che sei molto bravo, dovresti aprire una community

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

    sembri molto sveglio, a scuola andavi bene in matematica?

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

    Ma te sei stramegaforte

  • @Ale_Dev
    @Ale_Dev 20 дней назад

    evvai un nuovo video!

  • @emanuelegurini
    @emanuelegurini 20 дней назад

    Ci eri mancato!

  • @kastprod3287
    @kastprod3287 20 дней назад

    Aggiungerei nel titolo: "Con ChatGPT"

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

    Ciao sei molto bravo a programmare, dove hai imparato? Che risorse consigli?

    • @giovannis-diary
      @giovannis-diary 20 дней назад

      Fai tanti tanti progetti, non ci sono scorciatoie. Un passo alla volta puoi imparare tutto :)

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

    bel video. Ti ho appena scoperto. Iscrizione meritata. Ti avviso però che l'audio gracchia a tratti.

    • @giovannis-diary
      @giovannis-diary 20 дней назад

      Lo se bene dell'audio purtroppo, il microfono sta per lasciarci :')

  • @massimiliano9864
    @massimiliano9864 23 дня назад

    Ciao, cosa ne pensi di un server discord del canale? Sarebbe bello discutere di cpp e altro con la community

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

    Complimenti Giovanni hai delle belle e chiare motivazioni. I tuoi contenuti sono di alto livello complimenti dinuovo.

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

    Ciao Giovanni, bell'iniziativa! Mi interessano gli argomenti che tratti e trovo che l'idea del canale per registrare un video diario sia molto valida. Ti rimarranno nel futuro ed e' un'ottima occasione per mettersi in gioco.

  • @antonioambrosio3250
    @antonioambrosio3250 28 дней назад

    Un ottimo lavoro devo dire! Non avevo mai visto implementare delle particelle ma mi trovo perfettamente d'accordo che per una cosa come le particelle il "grosso" del lavoro sia fatto totalmente in multithreading dalla GPU, hai fatto esattamente le valutazioni che avrei fatto io! Hai seguito qualche risorsa in particolare? Link sempre graditi.

    • @giovannis-diary
      @giovannis-diary 27 дней назад

      @@antonioambrosio3250 La risorsa migliore che ho usato è questa dalla documentazione nvidia docs.nvidia.com/gameworks/content/gameworkslibrary/graphicssamples/opengl_samples/feedbackparticlessample.htm Mi ha dato un'idea sul da farsi, poi l'implementazione effettiva l'ho fatta per conto mio

  • @giovannis-diary
    @giovannis-diary 28 дней назад

    Purtroppo non uscirà una parte 2 di questa jam. Come ho detto verso la fine della prima sessione, mi sentivo parecchio stanco e recentemente ho poche energie. Dunque ho deciso di non continuare la maratona e lavorare a progetti più light

  • @ARCANUM_NATURAE
    @ARCANUM_NATURAE 28 дней назад

    Interessantissimo, support!

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

    Bro a che anno di uni sei?

    • @giovannis-diary
      @giovannis-diary 29 дней назад

      @@stefano4721 A settembre inizio il terzo

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

    Wow, mi piace molto l'idea del tuo gioco, semplice ma divertente. Buonafortuna per il jam!

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

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

    saluti dal mare de torvaianica. bella

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

    molto tecnico come video ma davvero penso tu sia l'unico a portare una cosa del genere... non mollare!!!

  • @crydra-qo6yr
    @crydra-qo6yr Месяц назад

    avevo anch'io questa idea e volevo farglielo fare ad una IA... un sistema os microkernel con gestione efficiente dei moduli isolati. forse è meglio svilupparlo tutto in rust. è un linguaggio molto efficiente e gestisce tutto il discorso memoria... ed ha le prestazione di #c e c++

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

    ciao, hai instagram?

    • @giovannis-diary
      @giovannis-diary Месяц назад

      @@nau12345 Tecnicamente si ma non lo uso

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

      @@giovannis-diarycome ti chiami?

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

    Estremamente interessante

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

    Ho iniziato a guardarti dal terzo video che hai pubblicato e devo dire che sei davvero un grande developer, lavori molto con i docs e cerchi di capire come ogni cosa funziona. È come ragiona un vero programmatore e in questo mondo non è scontato. Complimenti per il tuo progresso e anche per l’andamento del canale che ogni giorno ha sempre piu iscritti!

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

    Top!

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

    usi intelligenze artificiali quando lavori? sei contrario al suo uso?

    • @giovannis-diary
      @giovannis-diary Месяц назад

      Cerco di usarla il meno possibile ma non sono contrario al suo utilizzo. L'AI è estremamente comoda, direi il miglior tool che ha un programmatore per essere produttivo. Per esempio, tante cose che ho scoperto tramite chatGPT per quanto riguarda il kernel linux sono state assolutamente essenziali per non rimanere bloccato settimane sulla stessa cosa: certe cose non sono menzionate da nessuna parte e sono introvabili nel web a meno che non leggi ogni messaggio delle mailing lists di linux. Comunque non penso sia il modo giusto per imparare la programmazione, voglio essere totalmente indipendente mentre programmo e non voglio far prendere decisioni al'AI proprio perchè voglio migliorare le ime capacità. La utilizzo solo quando sono abbastanza perso e ho bisogno di una guida, ed è eccellente in questo.

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

    5:06 quel template con void() cosa è? Gli passi una funzione come parametro, quindi è un puntatore ad una funzione che non ha argomenti e che ritorna void?

    • @giovannis-diary
      @giovannis-diary Месяц назад

      Esattamente, Uso std::function perchè i sistemi sono delle lambda expressions, sto cercando di aggiornarmi a modern C++

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

    Ciao sono anch'io di trento ma studio a VR, video molto di ispirazione grandeee

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

    Veramente molto interessante, gh follow instant

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

    Ciao, sono un c++ software architect. Parto con i miei più sinceri complimenti, hai fatto un lavoro incredibile, bravo! Mi permetto di darti qualche consiglio generale riguardo il progetto e consigliarti qualche risorsa che potresti trovare utile (ho scritto anche io un motore di gioco 2d, senza l'utilizzo di nessuna libreria esterna). Per quanto riguarda l'ECS ti consiglio la serie di articoli fatta da skypjack, creatore della libreria entt (libreria ecs famosissima in c++). La definizione della struct Component con dentro l'entità spreca memoria poiché ogni nuovo componente che eredita occuperà 4 bytes in più senza una vera necessità (non mi vengono in mente situazioni in cui ti ritrovi solo con il componente e vuoi l'id dell'entià associata, anche perché di solito hai una reference ad un componente accedendovi con l'id). E' molto meglio avere un sistema centrale che mantiene i componenti in regioni contigue di memoria (l'ecs nasce proprio per ridurre i cache miss ed accedere alla ram il meno possibile durante le iterazioni principali) e usare l'id come indice per accedere ad un dato componente; questo permetterebbe anche di evitare di ereditare da una struct Component e permettere a qualunque struct di registrarsi. Anche il nome (la stringa) può essere evitato passando il sistema ad un template based system, in cui accedi ai componenti tramite il tipo. Noto anche molti doppi indirizzamenti (per esempio uno unique_ptr di una unordered di vector di unique_ptr), questo tipo di cose bisognerebbe ridurle al minimo, perché accedere alla ram costa e l'ecs nasce proprio con lo scopo di avere tutto contiguo in memoria, permettere accesso ai componenti in O(1) ed iterare il più velocemente possibile. Occhio anche alle strutture dati che usi, per esempio noto che usi std::set per mantenere entità e sistemi; std::set (come std::map) è implementato usando un red black tree (un tipo di albero bilanciato) e comporta O(lg n) per le operazioni; molto meglio usare le versioni unordered che sono delle hashmap con O(1) (consiglio per performance migliori di usare quelle di abseil, libreria di google, che implementa hashmap contigue in memoria). Fai attenzione a come ritorni o passi i parametri nelle funzioni, usa sempre const reference e non value per contenitori grandi, perché altrimenti fai delle copie che potrebbero essere superflue (tipo passare un vector by value). In conclusione, per quanto riguarda l'architettura, ti consiglio le conferenze di John Lakos (architetto c++) al cppcon, in particolare "advanced levelization techniques". Ti faccio di nuovo i complimenti, sei molto più avanti rispetto a tante persone con laurea magistrale e lavoro, continua così!

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

    Ti assicuro che ci sono persone con meno skill che vantano esperienza

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

    Domanda, hai trovato del tempo ora che è estate ahah ? io non riesco mai a fare nulla, son sempre dietro a progetti universitari

    • @giovannis-diary
      @giovannis-diary Месяц назад

      Penso che un grande freno alla produttività sia la procrastinazione, se impari ad essere diligente e costante ti stupirai nel riconoscere quante cose puoi fare. Ovviamente è una cosa estremamente difficile da imparare. Dipende anche dal periodo, dal tuo stato mentale e dall'ambiente intorno a te.

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

      Scusa se rispondo solo ora. Capisco cosa intendi, ma son sempre dietro ad esami universitari, quando mi libererò smanetterò anche io come un pazzo ahah

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

    Hey, sono anche io un appasionato di GameDev e di Game Engine. Mi piacerebbe avere la possibilità di farti qualche domanda sul tuo lavoro(in realtà mi interessa anche l'OS che stai sviluppando), hai un canale discord per il canale youtube oppure una mail dove ti posso contattare?

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

      Guardando il video ho anche notato un utilizzo delle stringhe in quelle che erano le funzioni che ti permettevano di recuperare i componenti quando facevi le query al world. Non ho visto il codice tanto da capire precisamente il perchè, ma se ti posso dare un consiglio eviterei di fare questo genere di lavori. In quel caso potresti direttamente utilizzare i tipi con un pò di template e ottenere un risultato simile. Quindi la query diverebbe: WorldEntityToComponent<Position>(entity). Perchè la maggior parte delle persone evitano di utilizzare le stringhe e si arrovellano a fare questo genere di giochetti? Perchè semplicemente in questo modo a comiplation time ti rendi conto se hai cannato una lettera nel nome del component e non perdi tempo. Oltre che esserci qualche piccola inefficienza nel confrontare la lunghezza di due stringhe. Immagino che se hai visto poco i template(e se lo hai fatto ti capisco perchè possono diventare facilmente un casino), è qualcosa che ti può suonare strano. Io avevo fatto qualcosa di simile ispirandomi al leggendario Entt, se vuoi un esempio, questa classe ti permette a partire da un determinato tipo di ottenere un identificativo univoco(particolarmente utile per riuscire a generare degli identificativi univoci per le tue componenti): github.com/Tonaion02/TrmvPrj/blob/main/src/ECS/TypeManager.h . Comunque complimenti per il tuo lavoro e per i tuoi lavori! Attendo con ansia di potermi mettere in contatto con te! Saluti.

    • @giovannis-diary
      @giovannis-diary Месяц назад

      @@antonioambrosio3250 Ciao! Grazie per i preziosi consigli. Concorto totalmente sul fatto che utilizzare i tipi è di gran lunga superiore alle stringhe. La ragione per cui ho usato le stringhe è una semplice ignoranza di modern C++ (ho esperienza in c, ci ho messo un po' anche solo ad utilizzare std::string o std::vector), ma pian piano mi sto affacciando sempre di più a C++ e penso di essere sulla buona strada. Per scrivermi su discord, mi chiamo "santo_", se il canale cresce abbastanza farò anche un discord dedicato se ne velo la necessità. Grazie mille per le risorse che mi hai dato, ogni consiglio è prezioso agli inizi di qualsiasi progetto.

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

      @@giovannis-diary Richiesta di amicizia inviata(se non erro non posso scriverti finchp non siamo amici su discord). Per tutto il resto figurati, sei il benvenuto.

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

    Ci sono anche io a fare il tifo. Piccolissimi step realizzabili in giornata ma costanti e metodici nel tempo! Che la forza di Linus sia con te!

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

    Ciao ! Trovo i tuoi video davvero interessanti , volevo sapere che università hai frequentato e che corso di studi hai fatto per sapere tutte queste cose

    • @giovannis-diary
      @giovannis-diary Месяц назад

      @@CosSer Ciao! Ho finito il secondo anno della triennale in informatica, ma devo dire che la maggior parte della pratica e dello studio li ho portati avanti nel tempo libero. Penso che una volta che impari a leggere la documentazione e i libri puoi creare davvero tutto (dedicandoci tempo ovviamente)

  • @Ivan-qi2du
    @Ivan-qi2du Месяц назад

    Iscritto subito!

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

    Sei in gamba

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

    Contenuti rarissimi, complimenti!

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

    I video che superano le tre ore ci piacciono. George Hotz rulez!

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

    Hello! I've been watching your videos for the past week and I'm completely amazed by your project ideas. I'm a 5th-year CSE student myself, and I'm also interested in systems and kernel programming which I got into a few weeks ago. I would love to know where you source all the material and project ideas from. For example, how to did you get the initial idea of your antivirus design. What was your starting point! I really appreciate your work! Pantelis, GR

    • @giovannis-diary
      @giovannis-diary Месяц назад

      Hi! On regard to the ideas, that's the easy part. Just pick any program and try to recreate it, noting innovative. I look for examples of what I want to do to get a better idea of how the system works, plan ahead and just start programming :) The resources and examples differ for any project, looking at codebases similar to what you want to do is usually enough. Pick a project that is a bit ahead of what you are comfortable with. For example, I had been working on a game engine in C++ but I felt like I needed a break. I liked C++ and I wanted to explore it more. I want to do cybersecurity in my master but I didn't do many cybersecurity projects as of yet, so I thought I might start one. I also knew very little about the linux kernel but It's something that really fascinated me. I combined everything and an antivirus was a logical mix of all of them. On regard to the resources / materials I very sadly discovered that for the linux kernel there are very few of them. Most of the sites are about very general / basic stuff and It's often not what you need for the most part (except at the very start), no tutorials or decent documentation (most of what you find online is old and the intnral kernel apis change frequently), you just have to read the source code and try to understand as much as you can :| For educational purposes, I started working on an OS and It's something I'd suggest you doing of you want to dig really deep into the kernel, It's a very complex and slow project that requires a bunch of theory theory but you would learn a lot.

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

      @@giovannis-diary Thanks for your response! Kind of answer I was expecting since every time I get into that stuff, it becomes so daunting I kind of return to do stuff I know😂! Anyway your stuff are so interesting and an inspiration so keep sharing! Many thanks!

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

    Serie Fantastica! I video senza audio di questa serie sarebbe possibile condividerli con audio? Sarebbe molto utile per chi come me sta imparando questi concetti

    • @giovannis-diary
      @giovannis-diary Месяц назад

      Ciao! Purtroppo se sono senza audio è perchè o non l'ho proprio registrato (magari era notte fonda o ascoltavo solo musica) o per qualche ragione mi si stacca il microfono :') Detto ciò, se vuoi imparare ti consiglio di mettere le mani in pasta e fare qualche progetto tuo, ti da anche molta più soddisfazione rispetto a guardare qualcun'altro programmare :)

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

    Io che sono sveglio la notte a programmare e vedo la notifica dal diario di Giovanni

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

    I'm a French engineer and also a system programming teacher. I'm very glad that our languages come from the same root, I kinda suceed to understand what you're explaining. Ottimo lavoro !

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

    Gran bel setup!