![AFK](/img/default-banner.jpg)
- 296
- 232 385
AFK
Italy
Приєднався 17 кві 2022
Salve a tutti Pinguini e Pinguine,
Mi chiamo Valerio e benvenuti sul mio canale AFK (Away From Keyboard), che vi porta nel mio mondo, ovvero quello dell'informatica.
Ecco i temi e le rubriche che tratto:
► Under the hood: Vado a trattare tematiche dell'informatica in dettaglio, andando a scavare nelle profondità
► Storia (e Storie): Vi racconto la storia (e anche le storie) di quello che circonda l'informatica
► Code Academy: Dove programmo da solo o in compagnia e spiego come funzionano diversi linguaggi di programmazione
► VLOG: racconto della mia vita portandomi nel mio modo di vedere l'informatica
Pubblico 2 video a settimana sempre alla stessa ora: 15:30. Ecco il calendario:
► MARTEDI: VLOG/CODE ACADEMY (alternati)
► VENERDI: UNDER THE HOOD/STORIA (alternati)
Non perdere altro tempo e sfoglia i contenuti già pubblicati!
Mi chiamo Valerio e benvenuti sul mio canale AFK (Away From Keyboard), che vi porta nel mio mondo, ovvero quello dell'informatica.
Ecco i temi e le rubriche che tratto:
► Under the hood: Vado a trattare tematiche dell'informatica in dettaglio, andando a scavare nelle profondità
► Storia (e Storie): Vi racconto la storia (e anche le storie) di quello che circonda l'informatica
► Code Academy: Dove programmo da solo o in compagnia e spiego come funzionano diversi linguaggi di programmazione
► VLOG: racconto della mia vita portandomi nel mio modo di vedere l'informatica
Pubblico 2 video a settimana sempre alla stessa ora: 15:30. Ecco il calendario:
► MARTEDI: VLOG/CODE ACADEMY (alternati)
► VENERDI: UNDER THE HOOD/STORIA (alternati)
Non perdere altro tempo e sfoglia i contenuti già pubblicati!
POWERSORT, MSD RADIXSORT, STOOGESORT, I CANT BELIEVE IT CAN SORT - AFK VLOG
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk
Se questo video ti è piaciuto, lascia un Mi Piace e, se vuoi dire la tua opinione, lascia anche un commento.
Lo Stoogesort è a 10x. Gli altri tre a velocità 3x.
Non perdetevi gli altri video che trovate nel Canale:
► AFK Breaking News: ua-cam.com/play/PLWB9G03J3AuLyMQTEOICf_ZaiGWpDK0r0.html
► AFK Storia/Storie: ua-cam.com/play/PLWB9G03J3AuJRTtX-RnpYmOm69duD279B.html
►AFK Under the hood: ua-cam.com/play/PLWB9G03J3AuIAH4MLpP8E383k9kwVZJBq.html
► CODE ACADEMY: ua-cam.com/video/IzRWVpMphGI/v-deo.html
► AFK VLOG: ua-cam.com/play/PLWB9G03J3AuK88eQRn-jym0LR14llOGjs.html
► Iscriviti al Canale!
► Seguitemi su Instagram: valerio_afk
VIDEO VL-24-015C
Se questo video ti è piaciuto, lascia un Mi Piace e, se vuoi dire la tua opinione, lascia anche un commento.
Lo Stoogesort è a 10x. Gli altri tre a velocità 3x.
Non perdetevi gli altri video che trovate nel Canale:
► AFK Breaking News: ua-cam.com/play/PLWB9G03J3AuLyMQTEOICf_ZaiGWpDK0r0.html
► AFK Storia/Storie: ua-cam.com/play/PLWB9G03J3AuJRTtX-RnpYmOm69duD279B.html
►AFK Under the hood: ua-cam.com/play/PLWB9G03J3AuIAH4MLpP8E383k9kwVZJBq.html
► CODE ACADEMY: ua-cam.com/video/IzRWVpMphGI/v-deo.html
► AFK VLOG: ua-cam.com/play/PLWB9G03J3AuK88eQRn-jym0LR14llOGjs.html
► Iscriviti al Canale!
► Seguitemi su Instagram: valerio_afk
VIDEO VL-24-015C
Переглядів: 185
Відео
Powersort: Il Nuovo Campione dell'Ordinamento in Python - AFK CODE ACADEMY
Переглядів 43928 днів тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk Esploriamo 3 algoritmi di ordinamento unici e il Powersort in questo episodio di AFK Code Academy. Iniziamo con il RadixSort, un algoritmo che sfida le convenzioni evitando confronti diretti. Passiamo poi allo StoogeSort che prende il suo nome dai Tre Marmittoni (The Three Stooges). Parlo anche di "I Can't Believe It Can Sort", nato da un errore...
Il Bug Informatico che Quasi Scatenò la Terza Guerra Mondiale - AFK STORIA
Переглядів 751Місяць тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk Scopri la storia di come un bug informatico quasi scatenò una guerra nucleare nel 1983. Questo video racconta l'incredibile vicenda di Stanislav Petrov, l'uomo che salvò il mondo grazie al suo intuito e sangue freddo. Esploriamo il contesto della Guerra Fredda, il funzionamento del sistema di allarme sovietico Oko e le conseguenze di questo inci...
MERGESORT, QUICKSORT, HEAPSORT, e TIMSORT a CONFRONTO - AFK VLOG
Переглядів 136Місяць тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk Se questo video ti è piaciuto, lascia un Mi Piace e, se vuoi dire la tua opinione, lascia anche un commento. Non perdetevi gli altri video che trovate nel Canale: ► AFK Breaking News: ua-cam.com/play/PLWB9G03J3AuLyMQTEOICf_ZaiGWpDK0r0.html ► AFK Storia/Storie: ua-cam.com/play/PLWB9G03J3AuJRTtX-RnpYmOm69duD279B.html ►AFK Under the hood: ua-cam.co...
Gli Indirizzi IP sono FINITI! Cosa si sta facendo? AFK UNDER THE HOOD
Переглядів 6 тис.Місяць тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk Questo video affronta un problema molto importante: gli indirizzi IP sono finiti. E quindi, cosa si farà per il futuro? Scopritelo in questo video 📼 Iscriviti al Canale! 🖼️ Seguitemi su Instagram: valerio_afk #IPv4 #IPv6 #internet 🔗Link Utili: ► www.ripe.net/manage-ips-and-asns/ipv4/ipv4-run-out/ ► datatracker.ietf.org/doc/html/rf...
Algoritmi di Ordinamento: MergeSort, QuickSort, HeapSort, e TimSort - AFK CODE ACADEMY
Переглядів 388Місяць тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk In questo video esploriamo quattro potenti algoritmi di ordinamento: MergeSort , QuickSort , HeapSort e TimSort . Vi mostrerò come funzionano e introduco il concetto di adattabilità e stabilità degli algoritmi e faremo un confronto delle loro prestazioni. Non dimenticate di lasciare un like, iscrivervi al canale. 📼 Iscriviti al Canale! 🖼️ Seguit...
💿✨Dai LaserDisc ai Blu-Ray: La Storia dei Supporti Ottici - AFK STORIA
Переглядів 497Місяць тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk In questo video esploreremo l'evoluzione dei dischi ottici, dai primi prototipi degli anni '50 fino ai più recenti Blu-Ray. Scopriremo come funzionano i CD, DVD e i loro predecessori, come il LaserDisc, e sveleremo i segreti tecnologici che li rendono così speciali. 🚀🔬 Parleremo di come un raggio laser può leggere minuscole deformazioni su un di...
BUBBLESORT, INSERTIONSORT, SELECTIONSORT, COMBSORT - AFK VLOG
Переглядів 189Місяць тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk La mia implementazione in python di Sound of Sorting Se questo video ti è piaciuto, metti un Mi Piace e lascia anche un commento. 📼 Iscriviti al Canale! 🖼️ Seguitemi su Instagram: valerio_afk #sorting #python #algorithm 🎥Guarda anche gli altri video che trovi in questo canale: 🗞️AFK Breaking News: ua-cam.com/play/PLWB9G03J3AuLyMQT...
SCREENSAVER: Servono Ancora Sugli Schermi Moderni? AFK UNDER THE HOOD
Переглядів 1,3 тис.Місяць тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk Ciao a tutti e benvenuti nel nuovo video di AFK Under the Hood! Oggi parliamo della necessità degli screensaver o di altre forme di ‘salva schermo’. E soprattutto, servono ancora gli screensaver sui nostri moderni schermi a casa? Se volete saperne di più su questo argomento affascinante e scoprire se gli screensaver sono davvero necessari al gio...
Algoritmi di Ordinamento: BubbleSort, InsertionSort, CombSort, e SelectionSort - AFK CODE ACADEMY
Переглядів 732Місяць тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk Oggi parlo degli algoritmi di ordinamento e scopriamo come funzionano alcuni dei più noti e utilizzati: Bubble Sort, Insertion Sort, Comb Sort e Selection Sort . In questo video, vi spiegherò passo passo ciascun algoritmo, parlando dei principi di base, il funzionamento e le differenze chiave. Imparerete come ognuno di essi affronta il problema ...
Storia dell’Archiviazione: Dalle Schede Forate agli SSD Moderni - AFK STORIA
Переглядів 1,7 тис.2 місяці тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk Ciao a tutti! Oggi vi porto un video che ho sempre voluto realizzare: la storia dell'archiviazione di massa dei dati. Dalle schede perforate del 1700 fino agli hard disk moderni, ripercorreremo l'evoluzione dei supporti magnetici ed elettronici che hanno reso possibile la conservazione e la gestione dei dati. Scopriremoanche l'introduzione del f...
🍼ME NE TORNO ALL'ASILO - AFK VLOG
Переглядів 3512 місяці тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk In questo video, leggo alcuni dei vostri commenti che avete lasciato nei vari video delle ultime settimane. Se questo video ti è piaciuto, metti un Mi Piace e lascia anche un commento. 📼 Iscriviti al Canale! 🖼️ Seguitemi su Instagram: valerio_afk #video #commenti #kernel 🔗Link Utili: ► www.lifewire.com/unified-extensible-firmware-...
HEVC/H.265 e MP4: Il Segreto di VIDEO di Alta Qualità e Compressione Efficiente - AFK UNDER THE HOOD
Переглядів 6052 місяці тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk Oggi vi porto un nuovo video dedicato al mondo dei formati video, con un focus speciale sull’algoritmo di compressione HEVC/H.265 e sul formato MP4. HEVC/H.265 è un algoritmo di compressione video, noto anche come High Efficiency Video Coding, è diventato uno standard nel settore per la sua capacità di comprimere video ad alta qualità mantenendo...
🎸ACCORDATORE di Chitarra Fai-da-te In PYTHON - AFK CODE ACADEMY
Переглядів 3852 місяці тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk In questo video, vi mostro come fare un programma in Python per l'accordatura delle chitarre ( e forse anche di altri strumenti a corda?) utilizzando la Trasformata di Fourier e l'Harmonic Product Spectrum. Per fare tutto, ho usato PyAudio e Pygame per catturare l'audio dal microfono e visualizzare i risultati in tempo reale. La Trasformata di F...
ILOVEYOU: Il virus FATTO MALE che causò MILIARDI di DOLLARI di DANNI - AFK STORIA
Переглядів 9442 місяці тому
☕Offrimi un caffè virtuale: ko-fi.com/valerio_afk Nel maggio del 2000, un semplice messaggio d'amore mandato per email ha scatenato il caos in tutto il mondo. Il virus ILOVEYOU, noto anche come Love Bug, ha colpito milioni di computer in pochi giorni, causando miliardi di dollari di danni. Ma cosa ha reso questo virus così devastante? E come è riuscito a ingannare così tante persone? In questo ...
REAGISCO ai MEME su REDDIT - AFK VLOG
Переглядів 1622 місяці тому
REAGISCO ai MEME su REDDIT - AFK VLOG
CLOUD STORAGE a Confronto: FILE vs BLOCK vs OBJECT: Quale Scegliere? AFK UNDER THE HOOD
Переглядів 7322 місяці тому
CLOUD STORAGE a Confronto: FILE vs BLOCK vs OBJECT: Quale Scegliere? AFK UNDER THE HOOD
🎵 Trasformare AUDIO in GRAFICI VISIVI: Progetto PYTHON FACILE FACILE - AFK CODE ACADEMY
Переглядів 4382 місяці тому
🎵 Trasformare AUDIO in GRAFICI VISIVI: Progetto PYTHON FACILE FACILE - AFK CODE ACADEMY
CTRL-ALT-DEL: La CURIOSA storia dietro ai TASTI più PREMUTI al mondo - AFK STORIA
Переглядів 1,2 тис.2 місяці тому
CTRL-ALT-DEL: La CURIOSA storia dietro ai TASTI più PREMUTI al mondo - AFK STORIA
5 CHIAMATE al GIORNO per 2 MESI: La MIA ESPERIENZA con i TRUFFATORI Telefonici - AFK VLOG
Переглядів 4763 місяці тому
5 CHIAMATE al GIORNO per 2 MESI: La MIA ESPERIENZA con i TRUFFATORI Telefonici - AFK VLOG
MP3: Il FORMATO che ha RIVOLUZIONATO la MUSICA - Scopri TUTTI i SEGRETI - AFK UNDER THE HOOD
Переглядів 8393 місяці тому
MP3: Il FORMATO che ha RIVOLUZIONATO la MUSICA - Scopri TUTTI i SEGRETI - AFK UNDER THE HOOD
ZUCCHERO SINTATTICO: Come SEMPLIFICARE il Codice nei Linguaggi di Programmazione - AFK CODE ACADEMY
Переглядів 9463 місяці тому
ZUCCHERO SINTATTICO: Come SEMPLIFICARE il Codice nei Linguaggi di Programmazione - AFK CODE ACADEMY
Netflix and Chill: La Storia di una Rivoluzione di Intrattenimento - AFK STORIA
Переглядів 3343 місяці тому
Netflix and Chill: La Storia di una Rivoluzione di Intrattenimento - AFK STORIA
REAGISCO ai MEME sulla PROGRAMMAZIONE - AFK VLOG
Переглядів 2713 місяці тому
REAGISCO ai MEME sulla PROGRAMMAZIONE - AFK VLOG
Compressione JPEG: Come RIDURRE le DIMENSIONI senza (quasi) PERDERE DETTAGLI - AFK UNDER THE HOOD
Переглядів 1,2 тис.3 місяці тому
Compressione JPEG: Come RIDURRE le DIMENSIONI senza (quasi) PERDERE DETTAGLI - AFK UNDER THE HOOD
RICORSIONE: COME, QUANDO, E PERCHÉ SERVE (IN PYTHON) - AFK CODE ACADEMY
Переглядів 7793 місяці тому
RICORSIONE: COME, QUANDO, E PERCHÉ SERVE (IN PYTHON) - AFK CODE ACADEMY
GRACE HOPPER: La DONNA che ha CREATO il FUTURO dell’INFORMATICA - AFK STORIA
Переглядів 1,7 тис.3 місяці тому
GRACE HOPPER: La DONNA che ha CREATO il FUTURO dell’INFORMATICA - AFK STORIA
BACKSTAGE: Ecco come NASCONO i miei VIDEO | SPECIALE 2 ANNI - AFK VLOG
Переглядів 1943 місяці тому
BACKSTAGE: Ecco come NASCONO i miei VIDEO | SPECIALE 2 ANNI - AFK VLOG
🗜️Ecco come ZIP riesce a RIDURRE lo spazio SENZA PERDERE DATI - AFK UNDER THE HOOD
Переглядів 2,4 тис.4 місяці тому
🗜️Ecco come ZIP riesce a RIDURRE lo spazio SENZA PERDERE DATI - AFK UNDER THE HOOD
Installo OPENDEVIN con una LLM locale: funzionerà? - AFK CODE ACADEMY
Переглядів 1,5 тис.4 місяці тому
Installo OPENDEVIN con una LLM locale: funzionerà? - AFK CODE ACADEMY
Ciao volevo dirti video tra bellissimo aspetto il prossimo video mi sono iscritto e sono interessato perché come studente delle superiori spieghi molto bene in modo facile Questa è il mio più onesto pensiero
Bel video, hai però scordato di citare AROS (Amiga Replacement Operating System), versione open source di un OS compatibile con AmigaOS che può girare anche su x86 e che non dipende da guerre intestine ad un'azienda. Magari in un secondo video 😁
ti saluta il trota
Discorso sensato. Tempo fa un informatico mi disse che sbagliavo a credere che l'informatica fosse una cosa complessa, perché era solo un insieme di molte cose semplici.
Ciao. Grazie per i tuoi video sempre arricchiti di cose inusuali e interessanti. ------ Magari se vuoi tu o chi lo sa puo' rispondermi. Avrei un problema di output con questa scheda perforata. Che necessita evidentemente di una patch, ma dove ? se come batch da Cmd io scrivo @echo off :ping Dir Echo Fine timeout 10 goto ping ---- Ottengo : L'elenco dir e la scritta fine E tutto viene ciclato ogni 10 secondi correttamente con output ma se io scrivo Al posto di Dir ping 127.0.0.1 Cioe' @echo off :ping ping 127.0.0.1 Echo Fine timeout 10 goto ping ------- Ecco che l'output del ping scompare e la finestra si fa molto nera !!! Qualcuno suggerisce di reindirizzare il ping 127.0.0.1 > su file o su nul > NUL Ma io non vorrei fare questo ma ottenere l'esito del responso del ping a video sulla finestra attiva dello script, cosi' come ottenevo la lista della dir, fine. nel primo caso. E' evidente che mi sfugge qualcosa di importante da sapere su perche' quel responso del ping non compare mai, ma non so quale sia il problema, ne' a sto punto se l'esito sia cosi' processabile. Grazie a chi mi aiutera'
Beh. Non so esattamente cosa consigliarti per il semplice motivo che a me funziona (ho riscritto il codice e pure quello che ho copiato e incollato dal tuo commento)
@@valerio_afk Ciao Una cosa che non ho detto che il batch risiedeva su un'altra partizione Dal momento che mi hai detto che te funziona, l'ho fatto partire da C: E va bene cicla e da l'esito del ping Per farlo funzionare da un'altra partizione mentre i comandi dir e echo continuano a funzionare cosi', ho visto che occorre cambiare il comando ping con %WINDIR%\System32\PING.EXE Tu sai il perche' ? Grazie
Il nome HAIKU OS deriva dal fatto che quando c'era un problema nel browser in beos spuntava un haiku che diceva essenzialmente che il browser ha avuto un problema(al inizio si chiamava openbeos ma lo hanno cambiato per evitare problemi di copyright).
Duck duck go ❤
Il mio linguaggio preferito: B.A.S.I.C. si, sono vecchio e mi piace stare comodo! Uso diversi "dialetti" basic contemporanei, con librerie grafiche e altro, tipo dark basic o just basic o RFO BASIC sul telefono con cui mi faccio le APK col suo compilatore.. insomma mi diverto col basic. Linguaggio odiato C e C++ per fare una cosa da 5 minuti in basic col C++ ci vuole un'ora! A scuola mi divertivo a programmare in pascal, (così ti fai un'idea di quanti anni ho) e feci impazzire un prof che il giorno degli esami si ritrovo' installato nei computers del corso un programma password che se la sbagliavi 3 volte formattava l'hard disk...creato usando un file batch in dos
Ciao Lui ha detto che per android si usa java. Cio' non toglie che la medesima applicazione si possa scrivere anche in C++, vero ?
Ma perché la sigla dopo 10 minuti😂? Bel video comunque 👍👍
Grazie per spiegato la stabilità
manca il tuo audio, è normale?
Non penso volesse fare un commentary 😅
@@carlodaroma questo è vero, però sarebbe stato interessante.
Buone vacanze :)
come potrei capire che algoritmo adopero in python ? Es se uso numPy o Pandas cosa adoperano ? e Sqlite , Mysql , MariaDB e altri DB cosa adoperano ? Scrivo molti programmi che fanno ordinameto di molti dati con le operazioni di Python con numpy e Panda e suo molto anche database
Ottimo lavoro come sempre! sei un Grande e mille grazie del tuo impegno
Ottimo video come sempre! Grande! 😁
Mi piacerebbe sapere cosa ne pensate di questo algoritmo che ho implementato... basato sui sulla logica quicksort.. che ne dovrebbe aver migliorato le prestazioni, specialmente su dati semi-ordinati (non è ricorsivo per poterlo testate su sito sortvisualizer) async function cutSort(elements) { let stack = []; let pivotLeft; let pivotRight; let cursorLeft; let cursorRight; stack.push({left: 0, right: elements.length - 1}); while(stack.length){ const{left,right} = stack.shift(); switch(right-left) { case -1: case 0: break; case 1: if(getValue(left) > getValue(right)) await swap( left, right); break; case 2: cursorLeft = left + 1; if (getValue(left) > getValue(cursorLeft)){ if (getValue(left) > getValue(right)){ if (getValue(cursorLeft) > getValue(right)){ await swap( left, right); } } await swap( left, cursorLeft); } else { if (getValue(cursorLeft) > getValue(right)){ if (getValue(left) > getValue(right)){ await swap( left, right); } await swap( cursorLeft, right); } } break; default: if(getValue(left) > getValue(right)) await swap( left, right); pivotLeft = left; pivotRight = right; cursorLeft = left + 1; cursorRight = right - 1; doBreak = 0; do { while (getValue(pivotLeft) > getValue(cursorLeft)) cursorLeft++; while (getValue(cursorRight) > getValue(pivotRight)) cursorRight--; switch(cursorRight-cursorLeft) { case -1: await swap( pivotLeft, cursorRight); await swap( cursorLeft, pivotRight); cursorRight++; cursorLeft--; doBreak = 1; break; case 0: if (pivotLeft < cursorLeft-1){ await swap( pivotLeft, cursorLeft-1); } if (cursorRight + 1< pivotRight){ await swap( cursorRight+1, pivotRight); } doBreak = 1; break; case 1: if (getValue(cursorLeft) > getValue(cursorRight)){ await swap(cursorLeft, cursorRight); } else { if (pivotLeft < cursorLeft-1){ await swap( pivotLeft, cursorLeft-1); } if (cursorRight + 1< pivotRight){ await swap( cursorRight+1, pivotRight); } doBreak = 1; } break; default: if (getValue(cursorLeft) > getValue(cursorRight)){ await swap(cursorLeft, cursorRight); } else { if (pivotLeft < cursorLeft-1){ await swap( pivotLeft, cursorLeft-1); } if (cursorRight + 1< pivotRight){ await swap( cursorRight+1, pivotRight); } pivotLeft= cursorLeft; pivotRight = cursorRight; cursorLeft++; cursorRight--; } } if (doBreak === 1) break; } while (true) stack.push({left: left, right: cursorLeft--}); stack.push({left: cursorRight++, right: right}); } } }
Dunque, l'ho reimplementato in python (per adattarlo all'interfaccia) seguento passo passo gli step e, una volta eseguito, una mia intuizione e' stata confermata: fa tanti confronti (nello stesso caso dei video ne fa poco piu' di 1400. Tuttavia, fa un numero di scambi decisamente molto basso: 186. Che non e' da sottovalutare. Secondo me si dovrebbe ragionare su come ridurre il numero di scambi.
@@valerio_afk questi confronti e scambi non solo strettamente necessari al sort ....} else { if (pivotLeft < cursorLeft-1){ await swap( pivotLeft, cursorLeft-1); } if (cursorRight + 1< pivotRight){ await swap( cursorRight+1, pivotRight); } pivotLeft= cursorLeft;..... ma, nelle intenzioni, dovrebbero preservare i confronti fatti, progredire nell'ordinamento delle porzioni piccole e minimizzare gli scambi... forse si può limare qualche confronto ridondante... le porzioni da 2 e 3 elementi non credo che si possano ottimizzare di più
@@valerio_afk meno confronti ma molti più scambi.. non necessari (sullo stesso indice) (il case 1 interno è meglio e andrebbe sostituito nell'originale) async function cutSort(elements) { let stack = []; let pivotLeft; let pivotRight; let cursorLeft; let cursorRight; stack.push({left: 0, right: elements.length - 1}); while(stack.length){ const{left,right} = stack.shift(); switch(right-left) { case -1: case 0: break; case 1: if(getValue(left) > getValue(right)) await swap( left, right); break; case 2: cursorLeft = left + 1; if (getValue(left) > getValue(cursorLeft)){ if (getValue(left) > getValue(right)){ if (getValue(cursorLeft) > getValue(right)){ await swap( left, right); } } await swap( left, cursorLeft); } else { if (getValue(cursorLeft) > getValue(right)){ if (getValue(left) > getValue(right)){ await swap( left, right); } await swap( cursorLeft, right); } } break; default: if(getValue(left) > getValue(right)) await swap( left, right); pivotLeft = left; pivotRight = right; cursorLeft = left + 1; cursorRight = right - 1; doBreak = 0; do { while (getValue(pivotLeft) > getValue(cursorLeft)) cursorLeft++; while (getValue(cursorRight) > getValue(pivotRight)) cursorRight--; switch(cursorRight-cursorLeft) { case -1: await swap( pivotLeft, cursorRight); await swap( cursorLeft, pivotRight); cursorRight++; cursorLeft--; doBreak = 1; break; case 0: //if (pivotLeft < cursorLeft-1){ await swap( pivotLeft, cursorLeft-1); //} //if (cursorRight + 1< pivotRight){ await swap( cursorRight+1, pivotRight); //} doBreak = 1; break; case 1: if (getValue(cursorLeft) > getValue(cursorRight)){ await swap(cursorLeft, cursorRight); if (getValue(pivotLeft) <= getValue(cursorLeft) && pivotLeft < cursorLeft-1){ cursorLeft--; } if (getValue(cursorRight) <= getValue(pivotRight) && cursorRight+1 < pivotRight){ cursorRight++; } } //if (pivotLeft < cursorLeft-1){ await swap( pivotLeft, cursorLeft-1); //} //if (cursorRight + 1< pivotRight){ await swap( cursorRight+1, pivotRight); //} doBreak = 1; break; default: if (getValue(cursorLeft) > getValue(cursorRight)){ await swap(cursorLeft, cursorRight); } else { pivotLeft= cursorLeft; pivotRight = cursorRight; cursorLeft++; cursorRight--; } } if (doBreak === 1) break; } while (true) stack.push({left: left, right: cursorLeft--}); stack.push({left: cursorRight++, right: right}); } } }
@@valerio_afk ultima implementazione async function cutSort(elements) { let stack = []; let pivotLeft; let pivotRight; let cursorLeft; let cursorRight; let bitmap; stack.push({left: 0, right: elements.length - 1}); while(stack.length){ const{left,right} = stack.shift(); switch(right-left) { case -1: case 0: break; case 1: if(getValue(left) > getValue(right)) await swap( left, right); break; case 2: cursorLeft = left + 1; if (getValue(left) > getValue(cursorLeft)){ if (getValue(left) > getValue(right)){ if (getValue(cursorLeft) > getValue(right)){ await swap( left, right); } } await swap( left, cursorLeft); } else { if (getValue(cursorLeft) > getValue(right)){ if (getValue(left) > getValue(right)){ await swap(left, right); } await swap(cursorLeft, right); } } break; case 3: bitmap = 0; cursorLeft = left + 1; cursorRight = right - 1; if (getValue(left) > getValue(cursorLeft)) bitmap = 1; if (getValue(cursorLeft) > getValue(cursorRight)) bitmap += 2; if (getValue(cursorRight) > getValue(right)) bitmap += 4; switch(bitmap) { case 0: break; case 1: if (getValue(left) > getValue(right)) { await swap(left, cursorLeft); await swap(cursorLeft, cursorRight); await swap(cursorRight, right); } else if (getValue(left) > getValue(cursorRight)) { await swap(left, cursorLeft); await swap(cursorLeft, cursorRight); } else { await swap(left, cursorLeft); } break; case 2: await swap(cursorLeft, cursorRight); if (getValue(left) > getValue(cursorLeft)) { await swap(left, cursorLeft); } if (getValue(cursorRight) > getValue(right)) { await swap(cursorRight, right); } break; case 3: if (getValue(left) > getValue(right)) { await swap(left, right); await swap(left, cursorRight); if (getValue(cursorLeft) > getValue(cursorRight)) { await swap(cursorLeft, cursorRight); } } else { await swap(left, cursorRight); } break; case 4: if (getValue(left) > getValue(right)) { await swap(cursorRight, right); await swap(cursorLeft, cursorRight); await swap(left, cursorLeft); } else if (getValue(cursorLeft) > getValue(right)) { await swap(cursorRight, right); await swap(cursorLeft, cursorRight); } else { await swap(cursorRight, right); } break; case 5: if (getValue(left) > getValue(cursorRight)) { await swap(left, right); if (getValue(left) > getValue(cursorLeft)) { await swap(left, cursorLeft); if (getValue(cursorLeft) > getValue(cursorRight)) { await swap(cursorLeft, cursorRight); } } } else { await swap(cursorRight, right); if (getValue(cursorLeft) > getValue(cursorRight)) { await swap(left, cursorLeft); if (getValue(cursorLeft) > getValue(cursorRight)) { await swap(cursorLeft, cursorRight); } } else { await swap(left, cursorRight); } } break; case 6: if (getValue(left) > getValue(right)) { await swap(left, right); await swap(cursorLeft, right); if (getValue(cursorLeft) > getValue(cursorRight)) { await swap(cursorLeft, cursorRight); } } else { await swap(cursorLeft, right); } break; case 7: await swap(left, right); await swap(cursorLeft, cursorRight); break; } default: if(getValue(left) > getValue(right)) await swap( left, right); pivotLeft = left; pivotRight = right; cursorLeft = left + 1; cursorRight = right - 1; doBreak = 0; do { while (getValue(pivotLeft) > getValue(cursorLeft)) cursorLeft++; while (getValue(cursorRight) > getValue(pivotRight)) cursorRight--; switch(cursorRight-cursorLeft) { case -1: await swap( pivotLeft, cursorRight); await swap( cursorLeft, pivotRight); cursorRight++; cursorLeft--; doBreak = 1; break; case 0: if (pivotLeft < cursorLeft-1){ await swap( pivotLeft, cursorLeft-1); } if (cursorRight + 1< pivotRight){ await swap( cursorRight+1, pivotRight); } doBreak = 1; break; case 1: if (getValue(cursorLeft) > getValue(cursorRight)){ await swap(cursorLeft, cursorRight); if (getValue(pivotLeft) <= getValue(cursorLeft) && pivotLeft < cursorLeft-1){ cursorLeft--; } if (getValue(cursorRight) <= getValue(pivotRight) && cursorRight+1 < pivotRight){ cursorRight++; } } if (pivotLeft < cursorLeft-1){ await swap( pivotLeft, cursorLeft-1); } if (cursorRight + 1< pivotRight){ await swap( cursorRight+1, pivotRight); } doBreak = 1; break; default: if (getValue(cursorLeft) > getValue(cursorRight)){ await swap(cursorLeft, cursorRight); } else { if (pivotLeft < cursorLeft-1){ await swap( pivotLeft, cursorLeft-1); } if (cursorRight + 1< pivotRight){ await swap( cursorRight+1, pivotRight); } pivotLeft= cursorLeft; pivotRight = cursorRight; cursorLeft++; cursorRight--; } } if (doBreak === 1) break; } while (true) stack.push({left: left, right: cursorLeft--}); stack.push({left: cursorRight++, right: right}); } } }
la sigla nei primi 30 secondi mi ha stunnato non me lo aspettavo
Grazie valerio, buone ferie 🏖️
Grazie per il video! Buone vacanze 😊
Ok accetto il tuo punto di vista ma quel brivido quando hai parlato di VB sinceramente non ľho capito, considera che VB viene ancora usato adesso ed é stata usata la versione per MSDOS per sviluppare FreeBASIC attualmente il migliore compilatore con sintassi BASIC al mondo ed é autocompilabile dato che gli stessi sorgenti di FreeBASIC sono scritti nel medesimo linguaggio, si puo programmare a Oggetti e Procedurale ottimo per fini didattici ed essendo compatibile con le librerie scritte in C e C++ si possono sviluppare applicazioni che usano api windows librei GTK QT ecc ecc io stesso ho sviluppato un gestionale che opera in rete usando server mysql e interfaccia GTK e il gestionale puo essere compilato per windows BSD e linux. E a differenza di python é autonomamente implementabile, per chi non lo sa Python pup essere implementato solo tramite C C++e altri linguaggi.
La maggior parte dei linguaggi di programmazione (python incluso) sono self-hosted (en.wikipedia.org/wiki/Self-hosting_(compilers)) - a meno che abbia frainteso il tuo punto. PS.: non ricordo esattamente il punto del video a cui ti riferisci, molto probabilmente era dovuto al fatto che non mi piace BASIC.
@@valerio_afk Accetto il fatto che non ti piace BASIC. Ma devo chiarire il mio post: I linguaggi autocompilabili sono quei linguaggi dove i sorgenti di base sono scritti nel medesimo linguaggio spiego meglio: I sorgenti di C sono scritti in C I sorgenti di C++ sono scritti in C e C++ I sorgenti di Fortran sono scritti in Fortran I sorgenti di FreeBASIC sono scritti in FreeBASIC I sorgenti di VisualBASIC sono scritti in C++ I Sorgenti di Python sono scritti in C Tornando a Python ha una sola implementazione scritta in Python è si tratta del suo compilatore JIT PYPY che serve a ottimizzare il codice in memoria e compilarlo in codice macchina prima di eseguirlo ( Come fa PHP dalla versione 8 in poi ) I Compilatori JIT hanno il vantaggio che una volta caricato e compilato il programma questo ha prestazioni pari a un programma compilato ma deve essere volta per volta caricato e compilato.
Ragazzi devo prendere un max 8 Ryanair tra poco.. mi potete rincuorare al riguardo? Ad oggi è sicuro viaggarci e i problemi sono stati risolti? Grazie
Vai sereno. Guarda il canale di EttiAviation e vedrai che Ryanair non ha mai avuto incidenti fatali
Ok lo hai spiegato in maniera che quelli che non ne capiscono riescano a farsene una idea. Tutto esatto, però c'è una cosa che dovresti cancellare, non dal video ma proprio dal tuo cervello, il nome PASCAL e TURBO PASCAL, il più odioso linguaggio che ho usato nella mia vita, uno schifo di ambiente privo di senso razionale, tanto valeva imparare a programmare in QuickBASIC che almeno ancora oggi i sorgenti sono compilabili usando FreeBASIC su ARM, INTEL DOS Win 32 e 64 Linux 32 e 64 e pure Mac e BSD. Per il resto tutto ok. PS, odio Turbo Pascal
Benché possa capire il tuo sentimento e potrei pure empatizzare, (turbo) pascal è stato il mio primissimo approccio alla programmazione. Non so neanche come si usi piu ma è grazie a lui se ho imparato 😅
@@valerio_afk Scusa ma io ho iniziato con Commodore 64 BASIC e poi ANSI C per passare a C++ e derivati come PHP, JAVA, Attualmente uso solo C, C++ e FreeBASIC perchè sono compatibili tra di loro le librerie che scrivo su FreeBASIC posso usarle su C++ e viceversa, Per risparmiare tempo molti sorgenti li aggiorno per i nuovi sistemi e via ecco che applicazioni vecchie di 20 anni riprendono a funzionare.
Io l'ho usato a scuola, bellino, ma un fastidio dover dichiarare le variabili prima di poterle usare!
@@Thebasicmaker Spiegami, escludendo i linguaggi interpretati, come Python, PHP e quelli ormai obsoleti quale non richiede la dichiarazione delle variabili ? In ogni caso, dichiarare una variabile offre 3 vantaggi e nessuno svantaggio: 1) Dichiarandoli sin dall'inizio sai cosa stai usando e se puoi riutilizzarlo. 2) Dare una tipologia di variabile significa ottimizzare l'esecuzione e la memoria necessaria. 3) Eviti il verificarsi di possibili BUG's in futuro. Esempio in C: int x = 9999999; char x[8] = { "9"."9"."9"."9"."9"."9"."9"."\0"}; nel primo caso la x è una variabile numerica è occupando 4 Byte è puo conservare un valore numerico superiore a 2 miliardi Nel secondo caso occupa 8 Byte e puoi inserire 7 caratteri di vario tipo o scrivere sotto forma di stringa un valore di 9 milioni 999 mila 999. I linguaggi interpretati invece sono fatti per scrivere piccoli script dove l'uso della memoria è irrilevante perchè nel dispositivo in questione abbonda, ma non è sempre così; infatti se tu volessi scrivere un programma che deve lavorare in un ambiente ristretto come i registri di un processore oltre a non avere la possibilità di eseguire un codice interpretato è indispensabile definire ogni variabile altrimenti sarebbe impossibile allocarle in uno spazio ridotto di memoria. In ogni caso ogni linguaggio ha la sua utilità e quelli facili non sono adatti a creare cose complesse.
Splendida storia e molto importante da conoscere, così tanto che non dovrebbe mai essere dimenticata. Fa sicuramente capire che l'intelligenza umana e il buon senso possono fare la differenza, quest'uomo e davvero un eroe, avrebbe meritato di più.
Dell'IA non mi sono accorto di nulla, è pressoché impossibile capire le differenze nella generazione di testi. Un'altra cosa che ci dovremmo rendere conto è di quanti incidenti accadono tutt'ora e che possono causare conseguenze devastanti ma di cui non sappiamo niente e chissà quando sapremo qualcosa.
La conoscevo :) Grazie
Grandissimo Stanislav e bravissimo Valerio!
Video interessante, complimenti. Consiglio: quando rimandi a un altro video metti l'anteprima in modo che chi ha le annotazioni disattivate non veda che indichi il nulla col ditino.
Ma quello lo faccio sempre! In questo caso metto una playlist e non mi andava di mettere 6 o forse più miniature 😅
Pochissimi sono a conoscenza che l'intera classe di indirizzi IPv4 44.0.0.0/9 (8 milioni di indirizzi!) è da sempre riservata da IANA ai RADIOAMATORI (AMPRNET).
Nomen Omen
1) Sono stati inventati gli IPV6 nel 2004 2) Gli indirizzi IPV4 vengono usati solo in ambito semplicistico, gli attuali router dal 2011 hanno iniziato a usare in maniera IPV6 3) Il sistema NAT non serve a compensare i pochi indirizzi IPV4 ma per instradare gli accessi nelle sottocatene dei router. 4) I Service provider non forniscono IPv4 Pubblici dal 2004 , quando fastweb forniva il servizio internet erano reclusi nella loro sottocatena e solo chi lo richiedeva poteva avere un IP Pubblico. 5) Utilizzando il sistema delle sottocatene routing ogni provider ha a disposizione 4 milioni di indirizzi che puo instradare con un solo ip pubblico. 6) Nessuna connessione tramite smartphone usa un indirizzo Pubblico sono tutti privati dove la stessa TIM usa 40 sotto catene da 4 milioni di indirizzi ognuna per ogni regione di copertura. Alla fine un video che serve a incuriosire chi non ne capisce nulla di rete informatica. Le NAT venivano usate sin dall'inizio per i provider che dovevano pubblicare piu server avendo una sola connessione, usando le NAT si possono avere 160 mila dispositivi per ogni indirizzo. PS. Io risolvevo questi problemi quando tu ancora venivi allattato al biberon, e con tutto che ormai il problema non sussiste hai fatto un video dove il 99% dei visualizzatori non ha idea di cosa tu stia parlando sopratutto non ha idea di cosa sia un indirizzi ip pubblico ne tanto meno se lo ha mai usato. dal 2011 i provider italiani non forniscono piu indirizzi ip pubblici a meno che non si tratta di una connessione aziendale fissa e ormai con l'avvento del 4g e 5g molti hanno disdetto le connessioni fisse per usare i cellulari come hotspot, e molti usano connessioni con modem 4G e 5G poichè la copertura per una linea fissa non permette una connessione ottimale o per questione di costi, ebbene le connessione 4g e 5g sono tutte con indirizzo privato, quindi il video a livello pratico è sono una curiosità e pure fuorviante di un argomente che per te è troppo complesso da comprendere.
Bel video, ma mi domando una cosa: come fai a sapere tutte queste cose sulla trasformata di Fourier e non conoscerne la pronuncia corretta? 😉
Enlighten me!
@@valerio_afk Furié, senza la r finale! 😉
Il francese non è il mio forte eheheh. La prima r di fourier tra l'altro andrebbe pronunciata alla francese (simbolo ipa ʁ) che io non so pronunciare. Quindi, è meglio per me italianizzare. Diverso sarebbe stato se fosse stato un nome inglese. In quel caso, avrei potuto fare certamente di meglio :P
Premesso che IPv6 è ampiamente usato dai grandi ISP, ma non è cosi diffuso o meglio non ha ancora soppiantanto IPv4 per mollti probemi e si va da: Compatibilità con l'infrastruttura esistente, Costi e risorse, Conoscenza e formazione, Servizi e applicazioni ecc. Ma Tuttavia, con il continuo esaurimento degli indirizzi IPv4 e l'evoluzione delle infrastrutture di rete, l'adozione di IPv6 sta gradualmente aumentando.
Non so quante persone saranno in grado di scrivere e leggere regole di firewall con indirizzi del tipo "2001:db8:abcd:0012:ffff:ffff:ffff:ffff"
@@davidglc hai ragione! Anch'io ero un po' perplesso in merito poi qualche tempo fa realizzai in video su IPv6 e devo dirti che non é cosi complicato come sembra di primo acchito
il NAT è stato creato per risolvere problemi di esaurimento degli indirizzi IPv4, aumentare la sicurezza delle reti, facilitare la gestione delle reti interne e fornire maggiore flessibilità e funzionalità, specialmente in ambienti aziendali e domestici. Non fu inventato come walk around
Rfc 1631 (link in descrizione). Abstract: The two most compelling problems facing the IP Internet are IP address depletion and scaling in routing
@@valerio_afk Come ho scritto sopra "il NAT è stato creato per risolvere problemi di esaurimento degli indirizzi IPv4" per risolvere i problemi dell'esaurimento degli IPV4 (ovviamente pubblici) e per aumentare la sicurezza, ma non è un walk around
@@CrazyNet poco piu sotto nell abstact: This memo proposes another short-term solution, address reuse, that complements CIDR or even makes it unnecessary. Basterebbe leggere il link nella descrizione
@@valerio_afk capisco. Ma quello che dice nel link in descrizione in sostanza Il memo propone NAT come una soluzione di breve termine per affrontare il problema della scarsità di indirizzi IP, integrandosi con CIDR. Questa soluzione offre un modo per continuare a utilizzare gli indirizzi IP esistenti senza dover ricorrere a cambiamenti significativi nell'infrastruttura di rete esistente. Soluzione a breve termine non è un walk around. Considera che negli anni 90 internet non era proprio come lo conosci oggi e quando appunto in quegli anni fu creato il NAT (infatti il documento nel link è datato May 1994) non si immaginava neppure uno sviluppo cosi rapido della rete. Per quanto rigurda IPV6 è dagli inizi del 2000 che se ne parla e dopo 24 anni stiamo ancora a ipv4
Non so se centra, ma è per questo NAT che i siti che rilevano la posizione in base all'IP mi segnalano in una località che dista circa 50 Km da casa mia?
no, non c'entra niente se hai o non hai il nat solitamente i siti che rilevano la posizione sono abbastanza accurati a patto che abiliti la localizazione
Serve un messia che converta all' IPv6
I soldi ci sono e ci saranno solo per le armi, per il resto soldi non ce ne sono. Semplice....
domanda: ma perché metti la sigla quasi a fine video? Per il resto sei un grande nell'esporre i contenuti!
Video ben fatto e molto divertente, avevo già sentito parlare di questo problema e qualche anno fa mi hanno detto che esistono indirizzi ipv6 corti a 48bit o 64bit, sai dirmi se e vero anche perché questo abbasserebbe i costi delle infrastrutture in caso di cambiamento. Continua così.
non esistono indirizzi IP a 48bit esistono a 32 o 128 Bit forse fai confusione con il MAC- Adrress che è di 48Bit
@@CrazyNet grazie per la gentile risposta
@@tinnybrinca8620 figurati! Prego
ma perchè parli cosi? possibile che oggi i "divulgartori " debbano tutti parlare cosi?
In che senso?
Complimenti c'è uno stesso programma ben featto che il programmatore ha sospeso scritto in con comandi In italiano e genera un file con comandi in python ,il progetto si chiamava Lungo
Riguardo la lampada, potresti usare un colore diverso per ogni rubrica
io ho TIM 2.5Gb in FTTH ma tuttora il router TIM HUB anche se é ATTIVO il supporto alla connessione IPV6 non gli viene assegnato nessun ip in formato v6 ma si congela sempre in ip v4. Poi ho molti se non tutti i dispositivi di domotica acquistati negli ultimi 2 anni che sono solo ipv4. Secondo Te se arriverà questo fantomatico IP v6 si potrá connettersi alla infrastruttura di Internet in IP V6 e poi Nattare in IP V4 sulla rete locale ? o devono essere entrambe le reti in IPV6 ?
Lo dico da esperto di sistemi informatici con a casa una FTTH DSLite. Cosa vuol dire DSLite? Sostanzialmente che il supporto dual stack (IPv4+6) è limitato per la parte IPv4 al CGNAT, ossia condividi lo stesso IP pubblico anche con altre utenze e la tua connessione riceve un indirizzo privato nel blocco 100.64.0.0/10. Tutto bene fin quando non hai dispositivi ai quali accedere da fuori, con CGNAT puoi scordartelo. Se i tuoi dispositivi di domotica richiedono accesso esterno e non sono dual stack, hai bisogno della mappatura delle porte da IPv6. Puoi sottoscrivere un servizio per una piccola somma annua oppure fare da te affittando un piccolo server virtuale ed installandoci sopra un servizio reverse proxy o tunnel 6to4 (quest'ultima è anche la maniera in cui le reti IPv4 sono accessibili da IPv6). Questo oltre a sottoscrivere un servizio DNS dinamico nel caso l'operatore cambi il prefisso IPv6 ogni notte.
va tutto bene, ottime informazioni, tutto quello che vuoi ma... diocane, il diaframma... cerca di parlare meno "acuto" a momenti è proprio una roba fastidiosa...
Ma ci sono ancora dispositivi di rete solo ipv4? Certo riconfigurare il tutto nn e' facile
Da programmatore dovresti tenere in conto che non è solo un problema di "cambiare tutti i router" ma di cambiare tutti i software che hanno funzionalità di connettività. Poco tempo fa avevo sentito che quasi tutti gli scambi finanziari sfruttano un infrastruttura con programmi scritti in COBOL, perciò è impossibile aggiornarli. La vedo dura risolvere questo problema 😅
Il NAT è il workaround piu esteso della storia😅! Certo che se capitano bug clamorosi come quello accaduto questo venerdi per un aggiornamento microsoft legato a un antivirus che ha mandato a pu#@%ne l'intero globo, la vedo molto dura che l'ipv6 possa diventare il nuovo standard definitivo!
I provider usano già ipv6 per le interconnessioni in pratica è come fossero isole ipv4 collegate fra loro in ipv6 quindi gli indirizzi ip sono praticamente infiniti. Per esempio prendiamo ogni regione italiana e diamo un ipv6 diverso ad ognuna, a tutte le utenze della regione diamo invece i set ipv4 quindi possono avere l’ip 192.168.x.x (anche se gli indirizzi ip pubblici dovrebbero essere su altri set) quindi in teoria per ogni regione si possono avere 2^32 utenze. Se si fanno isole ancora più piccole per esempio ogni comune si avranno 2^32 possibili utenze per comune e via così . spero sia chiaro ho scritto dal cell in velocità
Si è un titolo leggermente clickbait..
L' indirizzo IPV4 pubblico può essere solo ed esclusivamente univoco. Da qualsiasi parte del mondo sei, se qualcuno digita il tuo indirizzo IPV4 pubblico arriva al tuo router. Più che altro, molti provider fanno CGNAT, cioè assegnano un IP al LORO router al quale poi collegano i router di vari utenti. Questo significa che NON ti forniscono un IP pubblico ma che usano un IP pubblico di loro proprietà per più utenti ed un sistema che smista e rigira i vari pacchetti ai vari utenti. Il sistema funziona discretamente bene per la navigazione internet..... per altri scopi più specifici (es, condivisione di files P2P, server WEB privati, NAS, server di stampa, telecamere e teleallarmi) potrebbe NON funzionare.
@@teslacoiler corretto
Mi aggiungo alla discussione per rispondere a @TheMatps. 3 secondi di ricerca su wikipedia: Carrier-grade NAT is often used for mitigating IPv4 address exhaustion - Ora spiegami come il titolo sia "leggermente clickbait"?
@@valerio_afk Provo a spiegarlo io: Che sia leggermente clickbait lo indica il sensazionalismo della notizia (che poi tanto nuova NON lo è affatto). Però è sostanzialmente tutto vero (anche se, forse, il problema è meno grave di quello che sembrerebbe). Diciamo che leggermente clickbait.... LEGGERISSIMAMENTE..... proprio veramente pochissimo, ma quell' 1% c'è. 🙂 Ad ogni modo NON sono affatto d'accordo sull' idea di forzare il cambiamento da parte dei governi..... forzare i cambiamenti NON è mai una scelta saggia, inoltre l' UE ha fatto già fin troppi disastri (e quella percentuale di votanti inferiore al 50% è un chiarissimo sintomo del problema!!!). Il sistema funziona quel tanto che basta così com'è...... e se funziona quel tanto che basta, NON toccarlo, sennò si guasta! L' unica cosa sulla quale eventualmente i governi dovrebbero fare qualcosa è LA TRASPARENZA DELLE OFFERTE perchè: Alcuni provider ti forniscono un IPV4 pubblico dinamico (la gran parte dei provider su linee fisse). Alcuni te lo forniscono statico (es, Dimensione, Tiscali....) Alcuni ti forniscono un IP privato con CGNAT (es, Fastweb e la gran parte dei provider su connessioni cellulari) Alcuni ti forniscono un IP privato IPV4 ed offrono in contemporanea anche il completo supporto IPV6 (es, Vodafone) Alcuni ti forniscono una linea IPV6 nativa con la possibilità di ottenere in prestito un IPV4 pubblico (es, SkyWiFi) Ed infine c'è pure chi fornisce una linea IPV6 nativa con supporto parziale IPV4 condiviso tra più utenze e porte suddivise (es, Iliad) C'è un enorme differenza tra quello che può fare e NON può fare una connessione rispetto ad un altra, eppure questo dettaglio NON è chiaramente ben visibile nelle offerte di nessuno dei providers!!!!!!!
Valerio.. licenze narrativa a parte, che riconosco sono per brevità di tempi ampiamente giustificata.. ti faccio i complimenti per il video.. visto che hai i led nuovi potresti scegliere un colore diverso in base alla rubrica che presenti😅
Il problema è che internet è implementato da programmatori. E come il meme del piccione che vola roteando la testa a mo' di elicottero insegna, nell'ambito della programmazione, quando qualcosa funziona, sinché funziona, è meglio lasciarlo così com'è.
è il meme anche dei sistemisti: Funziona? Non lo toccare!
Come dar loro torto? Vedere CrowdStrike :P
@@tonnonostromo2497 Esattamente, lavoro nel settore della sicurezza informatica dal 2002. Ogni volta che è necessario effettuare aggiornamenti di qualunque genere, qualche scaramanzia per evitare che qualche servizio non si riavii c'è sempre... Con la virtualizzazione oggi si è un po' più tranquilli di poter effettuare un ripristino alla situazione originaria in tempi molto brevi.
@@davidglc santo veeam 😇😇
Fooorte, non sapevo che il NAT fosse stata una pezza. Ora mi spiego perché mi dissero che IPv6 non prevede il NAT e che tutti i dispositivi avranno un unico IP, direttamente visibile pubblicamente.
@@giovannisardisco4541 NAT ci sarà sempre, introduce una funzione di sicurezza non indifferente, perché con NAT solo il router è esposto ad internet e basta il suo firewall per proteggere tutta la rete locale. Senza NAT ogni dispositivo avrà bisogno di un suo firewall e ogni software che userà internet potrà essere vulnerabile.