TheacherDojo Schio 2016

Dopo un anno e mezzo di CoderDojo posso dire di aver accumulato una certa esperienza nell'affrontare questo tipo di attivita?

Forse no, forse sì. Comunqie in occasione del TeacherDojo, tenuto sabato scorso, ho esposto un po' di idee sul Pensiero Computazionale. In particolare evidenziavo come che questo tipo di pensiero si caratterizza per delle abiltà e delle capacità interessanti utili "la vita di ogni giorno", in particolare:

  • confidenza nel trattare la complessità;
  • ostinazione nel lavorare con problemi difficili;
  • tolleranza all'ambiguità;
  • abilità nel trattare con problemi definiti in modo incompleto;
  • abilità nel trattare con aspetti umani e tecnologici;
  • capacità di comunicare e lavorare con altro.

Sono tutte cose che un sviluppatore software affronta tutti i giorni.

Vi lascio ls slides [1]

[1] Siles

Esercizi di programmazione

Vogli presentarvi un piccolo esercizio di programmazione, un semplice programmino che macina numeri.

L'ispirazione mi è venuta scoprendo il sito ProjectEuler in una maillinglist.

ProjectEuler è una collezione di problemi matematici e informatici a cui dare una soluzione. ProjectEuler dice di sé

"La motivazione che ha spinto l'avvio del Progetto Euler, e la sua prosecuzione, è di fornire una piattaforma per la mente indagatrice, per approfondire zone sconosciute e imparare nuovi concetti in un contesto divertente e ricreativo."

Leggi di più... …

CoderDojo

Nell'ultimo Linux Day (AViLUGLinuxDay2014), svoltosi lo scorso 25 ottobre, ho parlato dei CoderDojo, una realtà che sta crescendo in Europa e nel Mondo.

Cosa sono? Sono persone, luoghi e associazioni che si impegnano a far provare ai più piccoli la programmazioni utilizzano come strumenti la sperimentazione e la condivisione delle conoscenza.

Se volete saperne di più vi invito a dere un'occhiata alle mie slides e al video che AViLUG ha realizzato. Non di meno guardate il sito CoderDojo e cercate in internet e troverete.

Sito di riferimento: http://coderdojo.com/ // Sito italiano: http://coderdojoitalia.org/ // Materiale utile: http://kata.coderdojo.com/ // Fondazione: http://coderdojo.org/

Python Web Framework - piccola statistica

Ho fatto una piccola statistica (amatoriale) su alcuni web framework per python. Ho usato tre sorgenti di informazione diverse: il sistema di installazione pacchetti di python pip, il sistema di versionini on-line github e il sistema di indicizzazione del profetti FLOSS ohloh.

Per pip ho solo contato le righe che la ricerca ritorna.Semplice! Efficace? Semplice sicuremante, efficace non lo so, ma solo per avre un'idea della diffuzione del framework tra gli sviluppatori.

Ho aggiunto la ricerca da github sulle stelline, sui fork del progetto e i repository che corrispondono alla ricerca del termine corrispondete.

Infine ho riporatto anche un paio di parametri per ohloh.

  zope2 django flask pyramid web2py
righe pip search <term> | wc 822 5324 469 246 8
github star 11 8733 8364 1294 572
github fork 6 3239 2020 435 260
github search 567 29097 5021 1272 462
ohloh contributor 55 366 63 64 69
ohloh user 153 1044 69 0 27

L'unica cosa che voglio far notare è la rilevanza del progetto flask che pur essendo molto giovane senbra avere un grosso seguito tra gli sviluppatori.

Un sito statico perché?

Questo è il primo post di questo sito.

Cosa c'è di strano? Questo è un sito statico. Perché?

Nella mia attività quotidiano sviluppo applicazioni web, spesso mi capita di sviluppare anche siti web. E' da qualche anno che i siti sono dinamici, cioè ogni pagina è generata al momento della richiesta. Io stesso propongo ai miei clienti dei siti dinamici, perché, con applicazioni come Drupal, Joomla, Plone, WordPress, solo per citarne alcuni, chi si occupa della redazione di testi non deve o non può occuparsi di tutti gli aspetti tecnologici che stanno sotto a un sito web.

Quindi perché statico?

risorse
le pagine di un sito dinamico vengono rigenerate ogni volta che vengono richieste utilizzando CPU, memoria ed in ultima istanza energia, in un sito statico invece tutte le pagine del sito sono già pronte per essere inviate, tutta la fase di costruzione e generazione viene fatta una volta sola;
prestazioni
per lo stesso motivo inlustrato ne punto precedente, in un sito statico non vengono sprecato tempo per generare la pagina richiesta, l'invio è immediato;
sicurezza
nessun programma in esecuzione sul server web implica che non ci sono bug che un possibile intruso possa sfruttare per intrufolarsi nel nostro sito.

Ovviamente si perdono form, multiutenza, concorrenza, ecc.

Per ultimo il software con qui è fatto questo sito si chiama Nikola , mi è parso un bel nome :) ed è fatto in Python. Mi sono sembrati due buoni motivi per provarlo.