25%

Le persone spesso sovrastimano quello che possono fare in un anno e sottostimano quello che possono fare in 5.

Sono al 25% del mio obiettivo (1000 iscritti) che vorrei raggiungere entro giugno 2022.

Vediamo dove saremo nel 2026!

Mantenere un ritmo costante di 1 video a settimana è impegnativo ma sto imparando tantissimo dalla produzione di contenuti e su me stesso. Cosa penseranno gli altri di me? Sono “bravo” abbastanza per mettermi davanti a una webcam e parlare di qualcosa? E se non piaceranno? Perché mi sento così stupido quando parlo e mi risento durante il montaggio video?

Queste sono alcune dei blocchi mentali che combatto e che mi fanno uscire dalla mia comfort zone.

I miei complimenti a chi riesce a mantere un canale con successo e raggiunge migliaia di persone con contenuti di valore. Ennesima riprova che nulla è facile come sembra e niente è regalato. Dietro un video che ci intrattiene o ci insegna qualcosa c’è lavoro, preparazione, tentativi, errori…

Alla prossima milestone… I 500 iscrittti!

Programmazione per principianti | L’istruzione IF

L’istruzione IF merita un intero articolo dedicato perché è l’istruzione principale e la più nota tra quelle di controllo del flusso. Per controllo del flusso si intende poter prendere un percorso o un altro all’interno del nostro codice, come delle strade diverse per arrivare a destinazione. Per il momento prendiamo questo concetto per buono, lo comprenderemo di più a mano a mano che procediamo con il post.

Perché ce ne deve fregare qualcosa

L’istruzione if è di fondamentale importanza perché è la prima che ci permette di prendere delle decisioni in base al verificarsi o meno di una determinata condizione. Esattamente come facciamo quando stiamo per uscire di casa: se piove prendo l’ombrello, altrimenti esco senza.

Alla fine di questo articolo:

  • Consoceremo l’istruzione “if”
  • Avremo appreso cosa si intende per condizione booleana
  • Creato un semplice programma che usa “if”

L’istruzione IF

L’istruzione if si scrive in maniera molto simile in tutti i linguaggi. In pseudocodice possiamo scrivere:

if (<condizione>) then

               <blocco di codice A>

Else

               <blocco di codice B>

Come lo leggiamo? Semplice! Se la <condizione> è vera allora entriamo nel blocco di codice A, altrimenti (else) nel blocco di codice B. In gergo si potrebbe dire che il blocco A è il blocco “then” e il B è il blocco “else”.

Qui vediamo il concetto di controllo del flusso. Se la condizione si è verificata allora verrà eseguita una certa parte (A) del programma, altrimenti l’altra (B).

If (mi piace guidare)

               Uso la macchina;

Else

               Uso il treno;

Il blocco else, in genere, non è obbligatorio. Immaginiamo di essere sulla porta di casa e dobbiamo decidere se prendere l’ombrello o meno; possiamo scrivere qualcosa del tipo :

If (piove)

               Prendo l’ombrello;

Apro la porta;

Esco di casa;

Il blocco else non ha senso perché non devo fare nulla in più se c’è bel tempo, semplicemente evito di prendere l’ombrello.

Quali sono gli usi di If?

Quelli che abbiamo visto sono solo alcuni esempi di if per capire che azioni fare. Ma posso usare gli if anche per:

  • verificare che l’utente si sia comportato come gli stiamo chiedendo.
  • Che ci siano determinate condizioni per eseguire una operazione.
  • Per capire se ci sono stati degli errori da qualche parte e provare a “compensare” o notificare l’utente.

Pratica

Per la parte pratica e ulteriori approfondimenti seguiamo il video YT dedicato alla lezione.

Link ai precedenti episodi

Programmare da zero | istruzioni, metodi, variabili

Per muovere i primi passi nel mondo della programmazione dobbiamo fare nostri alcuni concetti di base che ci accompagneranno in tutto il nostro percorso e sono validi per tutte le tecnologie o i linguaggi di programmazione. È importante averli ben chiari perché costruiscono le fondamenta della programmazione su cui svilupperemo tutte le nostre abilità.

Alla fine di questo articolo avremmo compreso: le istruzioni, le variabili, i metodi.

Questo articolo si basa sulle nozioni introdotte nel precedente post sull’argomento: 💻 il tuo primo programma da zero.

Le istruzioni 📃

Un’istruzione è un’azione che facciamo nel nostro programma. Un programma è composto da migliaia di istruzioni che, messe insieme, servono a far fare al computer ciò che ci interessa. Che cosa possiamo fare con queste istruzioni? Dichiarare variabili, assegnare valori alle variabili, possiamo chiamare metodi o procedure o funzioni (portiamo pazienza, che cosa è una variabile lo vediamo tra pochissimo 🙂). Poi ci sono delle particolari tipologie di istruzioni che ci permettono di prendere delle decisioni e sono i cosiddetti “if”. Con le istruzioni if (che traduciamo con “se” in italiano) prenderemo una decisione, del tipo: se un valore è più grande o più piccolo di zero allora faccio una cosa altrimenti ne faccio un’altra. Ci sono anche i cicli (ma non mettiamo troppa carne al fuoco 🔥 per ora).

Le variabili 🧮

Le variabili rappresentano uno spazio della memoria del pc. Servono per riservare della RAM (Random Access Memory, quella che diciamo abbiamo 16 gigabyte di ram nel nostro PC e così via). Una variabile è un modo per riservare uno spazietto 🗃️ all’interno di tutta questa memoria , interamente riservato al nostro programma. Non stiamo parlando di disco fisso/hard disk che ci serve per far persistere qualcosa anche quando il PC si spegne. Riserviamo dello spazio per il nostro programma per uno specifico scopo perché voglio memorizzare dei valori (si dice assegnare, tecnicamente) perché li voglio utilizzare in un secondo momento. Ad esempio voglio chiedere dei numeri dall’utente (immaginiamo una calcolatrice) per poi fare delle operazioni. Chiedo gli addendi di una somma quindi salverò un addendo in una variabile, un addendo in un’altra variabile e poi li addizionerò per ottenere la somma. Ci sono due grandi categorie di linguaggi per quanto riguarda la gestione delle variabili:

  • tipizzati
  • non tipizzati.

Nei linguaggi tipizzati le variabili sono specifiche per un tipo di dato: cioè in una determinata variabile decido a priori se voglio contenere del testo (intere parole o caratteri singoli), o se voglio tenere dei numeri. Non posso usare una variabile prima per un numero e poi per del testo.

Nei i linguaggi non tipizzati, invece, il tipo di dato non è specifico. Quindi in uno spazio di memoria in un certo momento potrò metterci del testo e nel momento successivo per metterci dei numeri questo ha dei pro e dei contro non sono lo scopo di questo articolo.

Metodi ⚙️

Che cosa è un metodo? Metodo è un nome generico che raggruppa due concetti:

  • procedura
  • funzione

Un metodo raggruppa delle linee di codice per essere. Consiste nel dare un nome a un gruppo di righe di codice per essere poi riutilizzate e non doverle ripetere e scrivere da capo. Per esempio, se scrivo delle righe di codice che mi invertono le lettere in una parola e voglio riutilizzare queste righe di codice in vari punti del mio programma non dovrò riscriverle ogni volta; le posso prendere, raggruppare, dare loro un nome del tipo “inverti stringa” e ogni volta che ne ho bisogno posso richiamarle con questo nome.

Una procedura è un metodo che non restituisce un risultato. Un esempio di procedura potrebbe essere qualcosa che cambia il colore di sfondo del nostro programma. Queste righe di codice non ci danno un risultato a seguito di una operazione, ma agiscono direttamente su qualcosa (in questo caso, lo sfondo).

Le funzioni sono di righe di codice che restituiscono un risultato. Possiamo immaginare quelle funzioni che noi scriviamo che fanno per esempio delle operazioni matematiche, oppure delle operazioni che intervengono su parti di testo e ce lo restituiscono trasformato.

Video 📹

Rimando al video pubblicato sul mio canale YouTube con la spiegazione dettagliata di questi concetti, esempi di codice e realizzazione di un programma che fa uso delle nozioni appena viste.

Prerequisiti 💼

Per seguire le attività svolte nel video servono Visual Studio Code e il dotnet SDK che metto linkati qui sotto. È anche consigliato seguire il video 📽️ dell’episodio precedente (qui).

Visual Studio Code (https://code.visualstudio.com/Download)

Dotnet SDK (https://dotnet.microsoft.com/)

Programmare da zero | Imparare a programmare per principianti

Per me sono stati i videogiochi: è sempre colpa dei videogiochi. Non volevo semplicemente giocarli, volevo costruirli. E così ho capito che dovevo studiare come funzionano i computer i programmi. Perché i videogiochi sono tra i programmi più complessi, costosi e difficili da realizzare. Poi la vita è sempre ricca di sorprese e ora della fine non programmo videogiochi ma sono comunque diventato un programmatore 😊

Per te potrebbe essere l’automazione, la robotica, la domotica, i chatbot… Comunque sei qui a chiederti: come programmare da zero? Come si inizia a programmare?

Ecco qualche linea guida su come approcciarsi al vastissimo mondo della programmazione. Questo mondo è così ampio che è impossibile trattare tutto in un solo articolo.

Cos’è un programma?

Un programma non è altro che un insieme di istruzioni codificate in modo comprensibile per un pezzo di ferro (cioè Silicio, di cui sono fatti i circuiti dei PC) che prendono degli input e danno un output. Pensa per esempio a quella parte del sistema operativo (windows, mac o linux che sia) che trasforma il movimento del tuo mouse in una freccia che si muove sullo schermo.

Quale linguaggio di programmazione scegliere?


Per scrivere un programma serve un linguaggio di programmazione. Ce ne sono tantissimi, divisi in categorie, e ognuno è progettato per uno scopo preciso. Non c’è quindi in generale un linguaggio migliore, dipende sempre da cosa dobbiamo fare. Se dobbiamo fare pezzi di un sistema operativo molto probabilmente lavoreremo in C o C++. Programmi per gli smartphone con Java, C#, Swift, Objective-C. SQL se dobbiamo interagire con le basi di dati relazionali. Python è molto usato per le elaborazioni numeriche e data science.

Quindi in base al tuo progetto sceglierai lo strumento (linguaggio di programmazione) che ti metterà a disposizione le funzionalità più adeguate.

Per imparare a programmare, per conoscere le basi, i linguaggi più idonei sono quelli che mettono a disposizione la miglior documentazione e i cui strumenti siano facili da reperire e gratuiti.

Come imparo a programmare?


Per imparare a programmare ci sono moltissime opzioni on-line: i produttori di strumenti di sviluppo stessi, nei loro siti, mettono a disposizione tutorial e materiale per iniziare. Puoi quindi procedere da autodidatta, scenario che nel mondo della programmazione è molto comune. Ci sono corsi di formazione in campus sia fisici che remoti. Si spazia anche passando per corsi serali.

Non è necessario essere dei mostri in matematica (come spesso si pensa): la matematica è utile ma diventa davvero necessaria quando si devono scrivere programmi come motori di calcolo fisico o programmi a supporto di ricerca scientifica.

La maggior parte dei programmi, tuttavia, consiste nel prendere dati da uno schermo/tastiera/mouse/tocco/penna, salvarli da qualche parte e recuperarli in un secondo momento.

Costruiamo il primo programma insieme

Ma ora basta con le chiacchiere, ti mostro come creare il tuo primo programma dallo zero totale, in dieci minuti (più o meno, a seconda della velocità del tuo computer).

Come fare un daily stand-up meeting efficiente in “stile kanban”

Gli standup meeting sono un elemento comune dei processi di sviluppo Agile.

Meeting con kanban
Meeting con kanban

Di solito si fanno al mattino primo di iniziare il lavoro e hanno un formato standard. Uno standup meeting tipico consiste nel chiedere a turno ai partecipanti le tre fatidiche domande:

  1. Cosa hai fatto ieri?
  2. Cosa farai oggi?
  3. Sei bloccato con qualcosa e hai bisogno di aiuto?

Ogni membro del team risponde a queste domande e così il team è coordinato per le attività della giornata.

Con l’adozione di una kanban board le cose si svolgono diversamente.

Non c’è bisogno di chiedere a turno ai partecipanti le tre domande perché la loro risposta è implicita dalla posizione dei kanban sulla lavagna. La lavagna contiene tutte le informazioni su chi sta lavorando a cosa. Chi partecipa regolarmente ai meeting si accorge anche di cosa è cambiato e se qualcosa è bloccato o meno è visivamente evidente.

Perciò il processo è leggermente diverso in ambito kanban rispetto a daily meeting tradizionale. Il facilitatore, di soluto un PM, “attraversa la board”. Per rinforzare il concetto di sistema in tirare/pull, convenzione vuole che la kanban board si legga da destra versa sinistra (al contrario del processo di produzione del valore). Questo perché non ha senso spendere tempo ed energie su cose “a monte” quando “a valle” ci sono problemi che ostacolano il flusso del lavoro. Inoltre, questo aiuta a far rispettare i WIP limit per cui nuove attività non possono iniziare se quelle incorso non liberano il loro posto.

Il moderatore del meeting pone enfasi sugli elementi bloccati (visivamente evidenti per delle convenzioni sui colori). Vengono poste domande sul perché questi elementi sono bloccati e si adotta un approccio proattivo per cercare di sbloccarli il prima possibile.

Dopo aver discusso gli elementi problematici, il team può passare in rapida rassegna gli elementi in lavorazione, ma i team più maturi in questo ambito non ne hanno bisogno.

Questo meccanismo consente di ridurre di molto la durata di meeting, considerando che si parlerà solo di cui c’è bisogno in maniera puntuale. La kanban board per sua natura funge da radiatore di informazioni che, con un minimo di pratica, a colpo d’occhio possiamo interpretare e capire lo stato dell’arte con un semplice sguardo.

Video

In questo video una dimostrazione su come fare! 🙂

Libri di riferimento

Kanban, Succeful Evolutionary Changes for Your Technlogy Business | David J. Anderson | Su Amazon

Personal Kanban: Mapping Work, Navigating Life | Tonianne DeMaria Barry, Jim Benson | Su Amazon

(I link ad Amazon sono link affiliati, il che significa che se vengono acquistati gli articoli tramite quel link ricevo una piccola percentuale da Amazon. Per te non cambia niente.)

Show your work! – Recensione

Panoramica

Show Your Work! di Austin Kleon è un libro in formato quadrato di 15×15 cm di 215 pagine. Come dice il sottotitolo, contiene 10 modi per condividere le proprie creazioni ed essere scoperti in un mondo che produce contenuti in quantità enormi.

Show Your Work Book Cover

L’autore espande 10 linee guida su come, secondo lui, si può migliorare il proprio approccio alla condivisione di contenuti on-line:

  1. Non è necessario essere dei geni
  2. Pensa al processo, non al prodotto
  3. Condividi qualcosa di piccolo ogni giorno
  4. Apri il tuo armadio delle curiosità
  5. Racconta belle storie
  6. Insegna ciò che conosci
  7. Non diventare uno spammer
  8. Impara a prendere un pugno
  9. “Venditi”
  10. Resta nei paraggi.

Il libro ha molte illustrazioni, le pagine scorrono velocemente. Per andare da copertina a copertina di fila ci si mette circa un’ora.

Cosa mi è piaciuto

L’autore riesce a essere motivante e riporta molte idee e citazioni di altri artisti sulla condivisione e, in generale, a supporto della sua tesi.

Contiene dei punti di vista diversi dal solito che, personalmente, mi hanno fatto ragionare e ho voluto approfondire ed esplorare per conto mio. In particolare, il primo punto “non devi essere un genio” avvia delle riflessioni sull’abbracciare una mentalità da amatore; l’appassionato se ne frega del “perfetto”, condivide le sue scoperte, il suo processo di apprendimento e non vede l’ora di insegnare agli altri la stessa cosa. Mi trovo anche d’accordo sul puntare sempre al valore e al contenuto di ciò che si crea e condivide: si deve sempre cercare di trasmettere qualcosa di valore per il proprio pubblico. Portiamo rispetto e pensiamo sempre a chi ci legge/ascolta/guarda perché ci sta dedicando tempo, e di quel tempo dobbiamo avere rispetto.

Cosa non mi ha convinto

In alcuni momenti si ha l’impressione che l’autore non stia dicendo niente di suo, ma semplicemente riportando frasi e opinioni di altri con poco contenuto originale. Ad un certo punto l’autore dice che il libro è nato da un serie di tweet, e si vede. Si sente la mancanza di profondità. È come se l’autore dicesse: ecco un’idea, eccone un’altra, ecco una citazione di questo, ecco una citazione di quest’altro, ma senza idee sue.

Conclusione

È un libro che si può leggere tutto d’un fiato poco tempo. Tuttavia, ne consiglio la lettura a pezzi per far sedimentare i concetti che riporta. Può essere utile rileggerlo ogni tanto, anche per ritrovare un po’ di slancio motivazionale.
Un buon libro, per chi si sta approcciando alla creazione di contenuti e vuole trovare degli spunti per far crescere i follower.

Videorecensione

Come parlare in pubblico – 5 linee guida

E così è capitato anche anche a te: un evento, una presentazione a scuola o al lavoro, una conferenza su un argomento a te caro. È giunto il momento: the stage is yours.

Considerazioni sul palare in pubblico

Parlare in pubblico efficacemente è una questione di allenamento. Certo, qualcuno ce l’ha più istintivo d’altri. Come per ogni cosa, tuttavia, ci si può allenare e migliorare parecchio: e questa è una buona notizia!

Personalmente inserirei il parlare in pubblico come materia a scuola dalle medie in su. Nella vita sono moltissime le occasioni che beneficiano di ciò ciò che si impara quando si studia l’arte del parlare in pubblico. In un modo o nell’altro si deve sempre esporre un punto, raccontare una storia, fare un pitch a un investitore per la propria azienda. La comunicazione è parte centrale della nostra vita, e saperne qualcosa in più non fa male.

Non mi considero un esperto dell’argomento, ma un appassionato che per motivi sia personali che professionali si interessa all’argomento da qualche anno.

Condivido qui 5 linee guida che mi sono state utili.

1. Parla di ciò che conosci.

Ciò che conosci e che hai vissuto in prima persona passerà sicuramente molto meglio come messaggio rispetto a qualcosa che hai solo sentito di sfuggita o conosci poco. L’esperienza personale e le “cicatrici” che ci portiamo addosso aggiungono spessore e personalità al discorso.

2. Riordina le idee

Un’esposizione ordinata con un’inizio, un percorso in mezzo, e una fine con una conclusione è la chiave per un discorso chiaro e logico.

3. NON imparare il discorso a memoria.

Imparare il discorso a memoria provoca l’effetto automa che ripete senza personalità. Inoltre, l’emozione del momento potrebbe giocare un brutto scherzo e far sparire il discorso dalla nostra mente. Se conosciamo bene l’arogmento (punto 1), non abbiamo bisogno di imparare a memoria il discorso; ci basta sapere bene i punti che vogliamo toccare e perché.

4. Conosci il tuo pubblico.

Il contesto e chi ci troviamo davanti influiscono su come raccontiamo. La scelta delle parole, il livello dettaglio, il vestire. Conosciamo il pubblico per personalizzare il discorso e fare arrivare il messaggio nel modo più efficace.

5. Pratica, pratica pratica.

Come per tutte le cose, serve pratica. A qualcuno un po’ di più, a qualcuno un po’ di meno. Non possiamo pensare però di prendere semplicemente il microfono in mano e improvvisare se siamo dei principianti. Non è che perché canto sotto la doccia allora domani mi iscrivo a Sanremo!

Approfondimenti

Per approfondire i punti sul parlare in pubblico efficacemente, ecco le 5 linee guida raccontate in un video e un libro che ritengo fondamentale.

Video

Video / Come parlare in pubblico

Libro

Come parlare in pubblico e convincere gli altri, Dale CarnegieAmazon

GIT LEZIONE 3 – git reset: soft mixed hard – cosa fa

Introduzione

Devi annullare delle modifiche? Devi ritornare a uno stato precedente? Git reset è un comando molto potente che permette di tornare indietro e riscrivere la storia.

I 3 tree di git

Per capire git reset cosa fa, dobbiamo avere ben presente i tre “tree” di git.

  • Working Directory – La cartella di lavoro
  • Index – Il contenuto del prossimo commit che verrà fatto.
  • HEAD – Puntatore al branch attivo.

Git reset –soft

Questa è la prima variante del comando reset. Questa opzione sposta solamente HEAD al commit indicato col comando.

git reset commitid --soft

Git reset –mixed

Questa seconda variante è quella di default, quando non viene specificato altro. In questo modo git opera anche sull’INDEX. Viene quindi eseguito quanto fatto nella variante SOFT e in più viene riportato INDEX al contenuto del commit scelto.

git reset commitid --mixed

Git reset –hard

La terza variante, –hard, aggiunge un ulteriore step a quanto fatto dalla –mixed. Git opera anche nella working folder, riportandola al contenuto del commit indicato.

git reset commitid --hard

Videolezione

git lezione 2 – I comandi remoti – Push Pull Fetch (con sessioni whiteboard e demo)

I comandi su git sono quasi tutti “locali”, nel senso che lavorano solo sulla copia che abbiamo in locale nel nostro file system. In tutti i progetti di team, tuttavia, dobbiamo interagire con gli altri tramite un repository condiviso.

In questo video vediamo le basi e i concetti che regolano i comandi remoti: push, pull e fetch.

Git Lezione 1 – Cos’è git e le basi per usarlo

Introduzione

Da dove si comincia con git? Quali sono i concetti di base per iniziare? In questo video imparerai:

  • Come si crea un repository git da zero (git init)
  • Come si crea un repository copiandone uno che già esiste (git clone)
  • Il concetto del commit (git add, git commit)
  • I branch (git branch)
  • Il checkout (git commit)

Videolezione

Ogni viaggio inizia col primo passo

%d blogger hanno fatto clic su Mi Piace per questo: