19 March 2019

Categoria: 

È disponibile la newsletter N° 010/2019 della comunità di ubuntu-it. In questo numero:

  • Come garantire la sicurezza e la conformità per Ubuntu 14.04 LTS "Trusty Tahr"
  • Le migliori Snap per KDE di Febbraio 2019
  • La nuova versione di Skype Web non supporta Linux e Mozilla Firefox
  • L'ambiente desktop GNOME 3.34 uscirà l'11 Settembre 2019
  • The Linux Foundation annuncia l'alleanza con CHIPS alliance per chip open source
  • Google risolve con un aggiornamento per Chroome 72 una vulnerabilità zero-day
  • Aggiornamenti di sicurezza
  • Bug riportati
  • Statistiche del gruppo sviluppo

 

Puoi leggere la newsletter in questa pagina, oppure scaricarla in formato pdf. Se hai perso i numeri precedenti, puoi trovarli nell archivio! Per ricevere la newsletter ogni settimana nella tua casella di posta elettronica, iscriviti alla lista newsletter-italiana.

il 19 March 2019 21.09

16 March 2019

Calibrazione offset del hotspot Pi-Star

Paolo Garbin (paolettopn)

Diverse schede richiedono una taratura successiva della funzione di offset di ricezione e trasmissione, per funzionare correttamente in modalità DMR. Esiste comunque un sistema per effettuare questa taratura in modo esatto e specifico per la vostra radio.
il 16 March 2019 10.00

13 March 2019

TLP è un progetto che va a migliorare i consumi energetici del nostro pc portatile operando sulle varie frequenze del processore, imponendo una migliore gestione delle performance su pc multi core oltre ad agire su alcuni componenti come scheda Wi-Fi, hard disk, PCI Express, unità ottiche e altro ancora...
il 13 March 2019 08.36

12 March 2019

Categoria: 

È disponibile la newsletter N° 009/2019 della comunità di ubuntu-it. In questo numero:

  • Canonical rilascia un nuovo aggiornamento di sicurezza per Ubuntu 18.04 LTS
  • Ubuntu 19.04 Disco Dingo, disponibile la versione beta a partire dal 28 Marzo
  • Canonical migliora la sicurezza e aggiunge containerd a Ubuntu Kubernetes
  • Wireshark 3.0: ecco tutte le novità
  • LibreOffice 6.2 rilascia la prima Point Release con 150 correzioni
  • Aperta in Kerala la più grande struttura al mondo FOSS
  • Mozilla Thunderbird 60.5.2 e 60.5.3 disponibile su Linux, Windows e MacOS
  • Aggiornamenti di sicurezza
  • Bug riportati

 

Puoi leggere la newsletter in questa pagina, oppure scaricarla in formato pdf. Se hai perso i numeri precedenti, puoi trovarli nell archivio! Per ricevere la newsletter ogni settimana nella tua casella di posta elettronica, iscriviti alla lista newsletter-italiana.

il 12 March 2019 21.01

The GPU-Z software that we usually use to see more detailed specifications about the graphics card on a PC or laptop now has the latest update that is quite surprising. Manufacturers add features that can detect fake graphics cards, especially from the NVIDIA GPU that “looks” the same, but in reality is different. This could be a solution for those who are not sure about the authenticity of their graphics card, because it was once a form of crime for fraudsters who redesigned fake graphics cards into features that were almost similar to what they were imitating.

In the past, graphic card fraud often occurred when mining cryptocurrency exploded, where almost all graphics card stock continued to thin out, even the price offered was very high. Here, the criminals take advantage of the situation, and somehow, they manipulate the old graphics card to be detected as the choice they imitate. In fact, to tempt further potential victims, these criminals put a price that is much cheaper compared to the original series.

For example, as revealed by the WCCFTech website, they found a $ 45 Nvidia GeForce GTX 960 graphics card, even though there is a much higher price for the former. Well, that’s where the important part of the latest update from GPU-Z software. TPU has finally updated the latest version of GPU-Z to detect this fake GPU, and may be able to help people who have been deceived in an attempt to clarify the situation that they have been tricked.

In the detailed specifications there will be a clear note that this is obviously fake. In addition, we can tell the sellers to include the details of the VGA specifications through the latest GPU-Z, although sometimes the effort can be done for a long time by the seller. Apart from all that, this can be very good news, to at least add to our insight into the affairs of the graphics card, although this will not rule out the possibility that they will be criminalized again in the same way. What’s more, the latest software update also has additional features.

Next, we will discuss about F.Lux. We all probably know that sometimes when the work isn’t done, then we can do it late at night. However, the thing to watch out for when we work at night is the presence of blue light that can suppress melatonin production, preventing our body from winding properly before going to bed and making it more difficult to sleep. For this reason, the presence of software such as F.Lux can be very useful for this. This is especially ideal for those judi bola online users who often work at night or just like to read on the screen before going to bed, where F.Lux can be a custom modifier to be something fun (or at least in my opinion). When there is a lot of software that has helped overcome this problem, it also helps with eye strain and sleep patterns. F.lux’s presence was perhaps the most important of the group, because this application even brought the topic to the table among the technicians who slowly also began adopting it many years ago.

il 12 March 2019 04.41

05 March 2019

Categoria: 

È disponibile la newsletter N° 008/2019 della comunità di ubuntu-it. In questo numero:

  • Ubuntu è certificato EAL2
  • Rilasciato Ubuntu 16.04.06 LTS
  • Wiki da smartphone? Sarà un piacere consultarlo!
  • Ubuntu Touch OTA-8 arriva il 6 Marzo
  • Scoperta una grave vulnerabilità nei sistemi Android
  • Aggiornamenti di sicurezza
  • Bug riportati
  • Statistiche del gruppo sviluppo

 

Puoi leggere la newsletter in questa pagina, oppure scaricarla in formato pdf. Se hai perso i numeri precedenti, puoi trovarli nell archivio! Per ricevere la newsletter ogni settimana nella tua casella di posta elettronica, iscriviti alla lista newsletter-italiana.

il 05 March 2019 18.49

Talking about brands of PCs, of course people will think that Apple will be the one of the best brands of PC. All PCs and laptops made by Apple is great in quality and performance. The computers are developed well to provide high level of efficiency and effectiveness in processing all tasks, even the hard tasks such as for designing and gaming. In this case, Mac OS becomes the technology that cannot be separated from this high performance. There are also some kinds of software that can boost the performance of the Mac-based PCs. The software is to help the functions, but there are also some software and applications for maintenance and increasing the performance.

In this case, of course computers will have junk files or caches that cannot be fully removed automatically. Even the best laptop will have the junk files and caches. Unluckily, these cannot be removed or erased easily and they cannot also be kept in the storage. Storage limited space, and it will be full when those unused files and trashes are not removed. There are actually many applications that can be cleaners of those trashes and junk files. However, it is better not to make random choices, since it can affect the taruhan bola PC performance. That is why it is better to choose application that can clean well without bringing burdens for the PC. In this case, CleanMyMac 3 is the recommended app for file and storage managements. So far, this application can be called as the best cleaner and storage manager for Mac-based PC. This app can be best app to clean all junk and old files. This application can scan thoroughly and even the hidden files can be found and they can be cleaned well and perfectly. As what Mac always provides for the users, this can work fast and it also has simple interface, so it will not be too difficult to operate the software.

One of the good point of this app is about its algorithm. The app has improved algorithm to scan all data based on the needs of the users. Users can set various setting and filters for scanning the files. This will be so useful to help users in finding all junk files. Hidden files can also be found easily. custom searches can be used and users can choose what files to erase. Of course, in working and scanning the files, the app can work smoothly without any problems.

il 05 March 2019 07.15

01 March 2019

Categoria: 

Il wiki di Ubuntu-it è stato aggiornato per ottimizzare la lettura dei testi da smartphone :)
Le modifiche sono già attive da un paio di settimane, ma è stato necessario fare alcuni aggiustamenti per renderle davvero efficaci. Potrebbe essere necessario effettuare un refresh o ripulire la cache del browser per visualizzare la nuova grafica; a parte questo potrete leggere la documentazione, la newsletter e tutte le altre pagine del wiki da smartphone senza ulteriori problemi.

 

Al momento la modifica entra in funzione solo quando la larghezza della finestra è a misura di smartphone, nella cosiddetta modalità "portrait". In tal caso apparirà il nuovo header semplificato con il classico pulsante per il menù a scomparsa. Si noterà che in questa modalità non sono presenti i link di login/modifica/ecc.
Ruotando lo smartphone (modalità "landscape"), si tornerà a visualizzare il sito come su desktop.

Questa impostazione è stata scelta perché il wiki fu a suo tempo impostato con grafiche a larghezza fissa e tabelle anche complesse che si adattano prevalentemente a una visualizzazione da desktop. È possibile quindi incappare in pagine con contenuti che mal si adattino alla larghezza dei piccoli schermi, pertanto ruotando il dispositivo si ha comunque la possibilità di visualizzare la grafica originaria.

Ad eccezione di alcune pagine che dovranno essere manualmente ritoccate e inevitabili piccoli ritocchi alle impostazioni del wiki, i risultati sono andati oltre alle aspettative. Quindi non è escluso che più in là il responsive design possa essere esteso fino alla visualizzazione su desktop.

 

Aspetti tecnici

Il wiki utilizza la piattaforma MoinMoin. Il suo aspetto grafico è dovuto all'introduzione del tema Light nell'ormai lontano 2011.
Per chi fosse interessato le modifiche hanno riguardato giusto tre file:

  • light.py: al suo interno, insieme al vecchio header è stato inserito il codice html e javascript per disegnare il nuovo header in stile mobile.

  • common.css - screen.css: sono questi i due principali file responsabili per l'aspetto stilistico del wiki. Al loro interno sono state inserite media queries per adattare gli elementi delle pagine e per rendere alternativamente visibile il nuovo o il vecchio header a seconda della larghezza dello schermo.

In definitiva MoinMoin ci ha piacevolmente sorpreso mostrando un buon grado di adattabilità :)

Buona consultazione a tutti!

 

A cura del Gruppo Doc
Vuoi contribuire al Wiki? Comincia subito!

il 01 March 2019 10.21

26 February 2019

Categoria: 

È disponibile la newsletter N° 007/2019 della comunità di ubuntu-it. In questo numero:

  • Ubuntu al Mobile World Congress 2019
  • Full Circle Magazine Issue #142 in inglese
  • LibrePlanet 2019 si riunirà al Massachusetts Institute of Technology (MIT)
  • La vulnerabilità Dirty Sock consente di ottenere l'accesso root su sistemi Linux
  • La suite KDE Application 19.04 è pronta per il rilascio il 18 Aprile
  • Raspberry Pi riceve il supporto touchscreen ufficiale con Linux 4.21
  • Aggiornamenti di sicurezza
  • Bug riportati
  • Statistiche del gruppo sviluppo

 

Puoi leggere la newsletter in questa pagina, oppure scaricarla in formato pdf. Se hai perso i numeri precedenti, puoi trovarli nell archivio! Per ricevere la newsletter ogni settimana nella tua casella di posta elettronica, iscriviti alla lista newsletter-italiana.

il 26 February 2019 14.18

OpenDesign Conference 2019

Paolo Garbin (paolettopn)

Anche quest'anno si aprono i battenti della quarta edizione di quella è stata la prima conferenza italiana sul Design e sulla Progettazione Open Source.
il 26 February 2019 09.35

19 February 2019

Categoria: 

È disponibile la newsletter N° 006/2019 della comunità di ubuntu-it. In questo numero:

  • Ubuntu 18.04.2 LTS Bionic Beaver è stato rilasciato!
  • Nuovo membro ufficiale della Comunità di Ubuntu-it: Daniele De Michele 
  • Un nuovo look per il sito releases.ubuntu.com
  • LibreOffice 6.1 è fuori
  • Previsti numerosi miglioramenti in GNOME 3.32
  • Notizie dalla Documentazione Wiki
  • Aggiornamenti di sicurezza
  • Bug riportati
  • Statistiche del gruppo sviluppo

 

Puoi leggere la newsletter in questa pagina, oppure scaricarla in formato pdf. Se hai perso i numeri precedenti, puoi trovarli nell archivio! Per ricevere la newsletter ogni settimana nella tua casella di posta elettronica, iscriviti alla lista newsletter-italiana.

il 19 February 2019 21.21

Introduction: Node + express + body-parser + Shopify?

Are you using Node/express/body-parser and Shopify, and (you would like to use) its webhooks?

If the answer is YES to the questions above, I am going to suggest here a way to solve a common problem.

NOTE: This and much more is covered in the Coding Shopify webhooks and API usage: a step-by-step guide class on Skillshare!

The problem

Body-parser does an amazing work for us: it parses incoming request bodies, and we can then easily use the req.body property according to the result of this operation.

But, there are some cases in which we need to access the raw body in order to perform some specific operations.

Verifying Shopify webhooks is one of these cases.

Shopify: verifying webhooks

Shopify states that:

Webhooks created through the API by a Shopify App are verified by calculating a digital signature. Each webhook request includes a base64-encoded X-Shopify-Hmac-SHA256 header, which is generated using the app’s shared secret along with the data sent in the request.

We will not go into all the details of the process: for example, Shopify uses two different secrets to generate the digital signature: one for the webhooks created in the Admin –> Notifications interface, and one for the ones created through APIs. Anyway, only the key is different but the process is the same: so, I will assume that we have created our webhooks all in the same way, using JSON as object format.

A function to verify a webhook

We will now code a simple function that we will use to verify the webhook.

The first function’s param is the HMAC from the request headers, the second one is the raw body of the request.

function verify_webhook(hmac, rawBody) {
    // Retrieving the key
    const key = process.env.SHOPIFY_WEBHOOK_VERIFICATION_KEY;
    /* Compare the computed HMAC digest based on the shared secret 
     * and the request contents
    */
    const hash = crypto
          .createHmac('sha256', key)
          .update(rawBody, 'utf8', 'hex')
          .digest('base64');
    return(hmac === hash);
}

We use the HMAC retrieved from the request headers (X-Shopify-Hmac-Sha256), we retrieve the key stored in the .env file and loaded with the dotenv module, we compute the HMAC digest according to the algorithm specified in Shopify documentation, and we compare them.

We use the crypto module in order use some specific functions that we need to compute our HMAC digest.

Crypto is a module that:

provides cryptographic functionality that includes a set of wrappers for OpenSSL’s hash, HMAC, cipher, decipher, sign, and verify functions.

NOTE: it’s now a built-in Node module.

Retrieving the raw body

You have probably a line like this one, with or without customization, in your code:

// Express app
const app = express();
app.use(bodyParser.json());

 

So your req.body property contains a parsed object representing the request body.

We need to find a way to “look inside the middleware” and to add somehow the information regarding the request status, using our just-defined function: is it verified or not?

Now, we know that the json() function of body-parser accepts an optional options object, and we are very interesting to one of the possible options: verify.

The verify option, if supplied, is called as verify(req, res, buf, encoding), where buf is a Buffer of the raw request body and encoding is the encoding of the request. The parsing can be aborted by throwing an error.

That’s it, we are going to use it like this.

Let’s change the json() call in this way:

// Express app
const app = express();
app.use(bodyParser.json({verify: verify_webhook_request}));

And we create the function verify_webhook_request() according to the signature documented before:

function verify_webhook_request(req, res, buf, encoding) {
  if (buf && buf.length) {
    const rawBody = buf.toString(encoding || 'utf8');
    const hmac = req.get('X-Shopify-Hmac-Sha256');
    req.custom_shopify_verified = verify_webhook(hmac, rawBody);
  } else {
    req.custom_shopify_verified = false;
  }
}

Basically, we check if the buffer is empty: in such case, we consider the message not verified.

Otherwise, we retrieve the raw body using the toString() method of the buf object using the passed encoding (default to UTF-8).

We retrieve the X-Shopify-Hmac-Sha256.

After we have computed the verify_webhook() function, we store its value in a custom property of the req object.

Now, in our webhook code we can check req.custom_shopify_verified in order to be sure that the request is verified. If this is the case, we can go on with our code using the req.body object as usual!

Another idea could be to stop the parsing process: we could do this throwing an error during the verify_webhook_request function.

 

Conclusion

Please leave your comment if you want to share other ways to accomplish the same task, or generically your opinion.

 

NOTE: Remember that this and much more is covered in the Coding Shopify webhooks and API usage: a step-by-step guide class on Skillshare!

The post Node, body-parser and Shopify webhooks verification appeared first on L.S..

il 19 February 2019 16.49
Dopo aver spiegato come configurare al meglio il proprio hot-spot radio, in questo articolo troverete le informazioni per poterlo gestire attraverso una comoda pagina web sul proprio smartphone.
il 19 February 2019 10.24

18 February 2019

Categoria: 
Canonical aveva inizialmente pianificato il rilascio della nuova Point Release per il 7 febbraio. Il lancio è stato invece rinviato di una settimana al 14 febbraio, come annunciato in mailing list, a causa di un bug che causava un errore di avvio. Il bug è stato segnalato su Launchpad da diversi utenti i quali, una volta eseguito l'aggiornamento automatico al kernel linux-image-4.18.0-14, hanno lamentato un avvio non corretto del sistema. Durante l'avvio infatti, il sistema si bloccava mostrando a schermo il seguente errore: Starting Load/Save RF Kill Switch Status….
Niente paura però, perché la regressione è stata rapidamente risolta e in tarda sera Canonical ha reso pubblico il download della versione  18.04.2 LTS (Bionic Beaver). Tra tutti gli aggiornamenti citiamo:
 
  • importanti migliorie per GNOME Shell e Mutter con l’obiettivo di ridurre l’uso di memoria e offrire animazioni più fluide;
  • supporto per i computer a scheda singola Raspberry Pi 3 nell'edizione di Ubuntu Server, che va ad affiancare l'immagine esistente per Raspberry Pi 2;
  •  aggiornamento di diverse applicazioni, tra cui: 
  • Aggiornamento del Kernel Linux alla versione 4.18.
 
Ma non è tutto, perché uno dei punti di forza di questa versione è l'inclusione dell'HWE Stack Cosmic, il quale porta con sé (oltre al nuovo kernel Linux) versioni aggiornate di Xserver, Wayland, Mesa (serie 18.2.x) e dei driver grafici liberi (radeon, amdgpu, nouveau, intel ecc.). Questi aggiornamenti rappresentano lo sforzo di Canonical per migliorare e garantire un supporto adeguato alle nuove componenti hardware di laptop e server. Tutti coloro che hanno installato Ubuntu 18.04 LTS nell'aprile dello scorso anno non riceveranno automaticamente il nuovo HWE Stack Cosmic, ma esistono due metodi per ottenerlo descritti in questa pagina.
Puoi scaricare Ubuntu 18.04.2 dal sito di Ubuntu-it o tramite torrent dal wiki di Ubuntu-it.
 
Fonte:
 
il 18 February 2019 08.14

17 February 2019

Da qualche giorno mi ero accorto che il mio nuovo ricetrasmettitore portatile in oggetto, paragonandolo ad altri ricetrasmettitori portatili che ho in casa, era effettivamente un pò duro ad aprire lo squelch in presenza dei segnali digitali e/o analogici ricevuti.
il 17 February 2019 10.00

15 February 2019

Presupponendo che tutta la sezione Generale dell'HotSpot Pi-Star è stata già configurata, procedere di seguito per aggiungere le informazioni dei link dei server di IT-Dmr nel file Host della Pi-Star.
il 15 February 2019 10.00

14 February 2019

Cercando in rete una soluzione per aumentare il raggio di azione dell' HotSpot Pi-Star attorno a casa mia, ho trovato la presentazione di questo moduletto prodotto da DF2FQ per aumentare la potenza RF di uscita dei nostri personal Hotspot.
il 14 February 2019 10.00

13 February 2019

Da qualche giorno è arrivato a casa il mio regalo di compleanno, che attendevo con impazienza. Ho desiderato subito scegliere questo apparato, per iniziare le mie esperienze nel mondo radio digitale.
il 13 February 2019 14.25

12 February 2019

Categoria: 

È disponibile la newsletter N° 005/2019 della comunità di ubuntu-it. In questo numero:

  • Ubuntu 14.04 Trusty Tahr arriva allo status di End Of Life
  • Ubuntu all'Embedded Word 2019
  • Aggiornamento guide portatili testate con Ubuntu 14.04
  • Le migliori Snap di Gennaio 2019
  • Aperte le proposte per l'evento GNOME Asia Summit 2019
  • Mozilla Thunderbird 60.5.0 disponibile per il download
  • Aggiornamenti di sicurezza
  • Bug riportati

Puoi leggere la newsletter in questa pagina, oppure scaricarla in formato pdf. Se hai perso i numeri precedenti, puoi trovarli nell archivio! Per ricevere la newsletter ogni settimana nella tua casella di posta elettronica, iscriviti alla lista newsletter-italiana.

il 12 February 2019 19.00

10 February 2019

I love Gitlab. I have written about it, I contribute (sporadically) with some code and I am a big fan of their CI/CD system (ask my colleagues!). Still, they need to improve on their mobile side.

I travel often, and be able to work on issues and pipelines on the go is something essential for me. Unfortunately, Gitlab’s UX on small screens is far from ideal (while it has improved over the years).

Enter Glasnost

My good friend Giovanni has developed a new opensource mobile client for Gitlab, with a lot of cool features: Glasnost!

glasnost logo

In his words:

Glasnost is a free, currently maintained, platform independent and opensource mobile application that is aiming to visualize and edit the most important entities handled by Gitlab.

Among the others features, I’d like to highlight support for multiple Gitlab hosts (so you can work both on your company’s Gitlab and on Gitlab.com at the same time), two different themes (a light one and a dark one), a lite version for when your data connection is stuck on edge, and support for fingerprint authentication.

The application is still in an early phase of development, but it already has enough features to be used daily. I am sure Giovanni would love some feedback and suggestions, so please go on the Glasnost’s issues tracker or leave a feedback on the PlayStore.

If you feel a bit more adventurous, you can contribute to the application itself: it is written in React+Redux with Expo: the code is hosted on Gitlab (of course).

Enjoy yet another client for Gitlab, and let Giovanni knows what you think!

playstore logo

For any comment, feedback, critic, write me on Twitter (@rpadovani93) or drop an email at riccardo@rpadovani.com.

Regards,
R.

il 10 February 2019 18.45

07 February 2019

Categoria: 

Ubuntu 14.04 LTS End of Life

 

Ubuntu 14.04 LTS Trusty Tahr raggiungerà la fine del suo ciclo di vita il 30 aprile 2019 e, da allora, sarà disponibile Ubuntu 14.04 LTS - ESM, ovvero Extended Security Maintenance. Si tratta di una funzionalità disponibile con Ubuntu Advantage, il pacchetto di supporto commerciale di Canonical, oppure che può anche essere acquistata su base stand-alone. L'Extended Security Maintenance è stato creato per aiutare a semplificare il processo di migrazione verso le nuove piattaforme aggiornate, mantenendo gli standard di conformità e sicurezza.

 

L'introduzione di Extended Security Maintenance per Ubuntu 12.04 LTS è stato un passo importante per Ubuntu, portando patch di sicurezza critiche e importanti oltre la data di fine vita di Ubuntu 12.04. ESM viene utilizzato dalle organizzazioni per risolvere problemi di sicurezza e conformità mentre gestisce il processo di aggiornamento a una versione più recente di Ubuntu in grado di garantire pieno supporto. La disponibilità di ESM per Ubuntu 14.04 significa che l'arrivo dello status di End of Life di Ubuntu 14.04 LTS Trusty Tahr nell'aprile 2019 non dovrebbe influire negativamente sulla sicurezza e sulle conformità delle organizzazioni che lo utilizzano ancora come sistema operativo in essere. In totale, ESM ha fornito oltre 120 aggiornamenti, comprese correzioni per oltre 60 vulnerabilità con priorità alta e critica, per gli utenti di Ubuntu 12.04.

 

Ancora una volta, lo abbiamo segnalato anche in passato sulla newsletter (Ubuntu in prima linea per la sicurezza), risulta estremamente chiaro come Canonical metta la sicurezza al centro di Ubuntu, oltre che nelle pratiche e nella architettura dei prodotti a esso relativi sia lato business che lato consumer.

 

Fonte: blog.ubuntu.com

il 07 February 2019 09.57

06 February 2019

L'inutilizzo di un Raspberry Pi 2 rimasto da parte nel mio 'shack' mi ha portato a fare degli altri test interessanti, volendo sperimentare e approfondire il progetto Pi-Star. Questa immagine del S.O. sul Raspberry Pi vi aiuta a creare una completa installazione di un ponte ripetitore e/o hotspot DSTAR (e non solo…)
il 06 February 2019 10.00

05 February 2019

Categoria: 

È disponibile la newsletter N° 004/2019 della comunità di ubuntu-it. In questo numero:

  • Ubuntu 18.04.2 LTS arriverà il 7 Febbraio
  • Sfruttare tutta la potenza di Ubuntu su Windows con Multipass
  • LibreOffice 6.2 previsto il rilascio per il 7 Febbraio
  • Mozilla Firefox 65 è ora disponibile per tutte le versioni supportate da Ubuntu
  • Entroware lancia il PC AIO con Ubuntu preinstallato
  • Notizie dalla Documentazione Wiki
  • Aggiornamenti di sicurezza
  • Bug riportati

Puoi leggere la newsletter in questa pagina, oppure scaricarla in formato pdf. Se hai perso i numeri precedenti, puoi trovarli nell archivio! Per ricevere la newsletter ogni settimana nella tua casella di posta elettronica, iscriviti alla lista newsletter-italiana.

il 05 February 2019 20.40
Categoria: 

Ad Aprile cesserà il supporto per la gloriosa Ubuntu 14.04.
Questo vuol dire che nella sezione contenente i resoconti delle installazioni di Ubuntu sui computer portatili, molti dei link alle guide passeranno nella famigerata colonna Guide da aggiornare.

Fortunatamente i computer che funzionano con Ubuntu 14.04 supportano anche le versioni successive, come Ubuntu 16.04 e 18.04 (nella maggior parte dei casi).
Sul tuo portatile hai continuato a installare versioni successive alla 14.04? Aggiornare la relativa pagina sarà davvero semplice ;)

 

Come aggiornare la pagina?

Quando si accede all'editor per modificare una pagina, si noterà nella parte in alto la macro Informazioni che si presenta in questo modo:
<<Informazioni(forum="..."; rilasci="13.10 14.04";)>>

Al suo interno è presente la voce rilasci che contiene tra virgolette le versioni con le quali la guida è stata testata. Bene, non occorre far altro che aggiungere il numero di versione di uno dei rilasci di Ubuntu attualmente supportati.

Pertanto, supponendo di aver testato con successo la guida con... ad esempio la 18.04, basta aggiungere il numero all'interno della macro che diviene:
<<Informazioni(forum="..."; rilasci="13.10 14.04 18.04";)>>

Niente di che, vero? ;)

 

In generale è buona cosa...

Per ovvi motivi abbiamo messo in primo piano le pagine sui portatili testate con la 14.04. Il discorso si estende comunque anche alle pagine già presenti nella colonna delle guide da aggiornare e, ancora più in generale, a qualsiasi tipo di guida presente nel wiki.
Come vedi se si incappa in una pagina testata con una versione obsoleta di Ubuntu, per confermarne la validità con una versione supportata è una questione di attimi.

 

A cura del Gruppo Doc
Vuoi contribuire al Wiki? Comincia subito!

il 05 February 2019 17.54

04 February 2019

Sono davvero parecchi i Radioamatori che ultimamente stanno passando al "lato non oscuro della Forza" (ambiente linux...) :D , soprattutto da quando è stata resa semplice l'installazione della nota applicazione MD380Tools.
il 04 February 2019 10.00

30 January 2019

Antivirus is needed for all kinds of computers. All works using PCs and computers will need antivirus. It is because viruses are getting stronger and there are many variations of viruses. There are some viruses who will lonely make the PCs work slowly and make the performance less effective. There are also some viruses that will make some files are corrupted. The worst attacks are ransomware and spyware. There are also crypto-jacking software. These are some of the worst attacks since they will make things collapsed. These viruses are made to gain some money from the infected files and PCs. Of course, for the case of business, these are some dangerous threats. That is why there are some recommendation of antivirus.

The first one is Avast Business Antivirus Pro. As its name, this is antivirus dedicated for business PCs. The antivirus is made and designed to provide real-time protection for the PCs, so business still can work and data flows still can run well. The good news is that this software is able to work well and this will not make the agen bola PCs run slower. Compared to the other antivirus, this has better performance without burdening the processing units, and this has been awarded for this sector. Then, this antivirus is also awarded for its great performance in tackling down most of the malwares, including the veracious ones. This antivirus is not only an antivirus, but there are also some kinds of protection, such as Web Shield, File Shield, CyberCapture, Email Shield, and other protection.

The other recommended antivirus is AVG Antivirus Business Edition. As the previous antivirus, this is also designed specifically for business purposes, so its feature is perfect for business PC. This antivirus has great experiences in fighting against viruses and malwares. This also provides integration for some popular browsers, including Google Chrome, Mozilla Firefox, and Microsoft Edge. There are also some kinds of protection features to protect data and other useful information.

il 30 January 2019 07.08

29 January 2019

Categoria: 

È disponibile la newsletter N° 003/2019 della comunità di ubuntu-it. In questo numero:

  • Documentazione Wiki: più potere agli utenti!
  • Rilasciato Ubuntu Core 18 per dispositivi IoT
  • Debian e Canonical rilasciano aggiornamento per il gestore pacchetti APT per far fronte ad un bug di sicurezza
  • Full Circle Magazine Issue #141 in inglese
  • Un messaggio da parte di Richard Stallman
  • Il desktop KDE Plasma 5.14 raggiunge L'End Of Life, in arrivo il 12 Febbraio Plasma 5.15
  • Linus Torvalds afferma: la frammentazione blocca la diffusione di Linux sui Laptop
  • Notizie dalla Documentazione Wiki
  • Aggiornamenti di sicurezza
  • Bug riportati
  • Statistiche del gruppo sviluppo

Puoi leggere la newsletter in questa pagina, oppure scaricarla in formato pdf. Se hai perso i numeri precedenti, puoi trovarli nell archivio! Per ricevere la newsletter ogni settimana nella tua casella di posta elettronica, iscriviti alla lista newsletter-italiana.

il 29 January 2019 20.53

25 January 2019

Categoria: 

 

Con l'inizio del 2019 arriva un'importante novità riguardante la Documentazione Wiki.

Il Gruppo Doc ha deciso di lasciare maggiore iniziativa agli utenti del wiki in materia di creazione di nuove guide e aggiornamento delle pagine esistenti.
Cosa significa? Facciamo un passo indietro...

 

Da sempre il Gruppo Doc si è preoccupato di assistere e supervisionare il lavoro svolto dagli utenti. Cioè essere presenti sul forum per valutare se una guida proposta fosse necessaria o attinente agli scopi della documentazione... oppure, una volta che un utente ha svolto il lavoro, tempestivamente revisionare e adattare i contenuti agli Standard, inserire il link alla guida nel portale di appartenenza, ecc..

Tutto questo per garantire una crescita razionale e ben ordinata della documentazione.
Il lato debole di questo metodo di lavoro è che non sempre può essere garantita una presenza continuativa da parte dello staff, sebbene negli ultimi sette anni ci siamo in massima parte riusciti :)

 

La nostra attività di supporto e supervisione andrà avanti, è stato però deciso di aggiornare l'iter in modo tale che anche in nostra assenza un utente possa agire di sua iniziativa. Questo per evitare appunto che una guida rimanga a lungo bloccata prima di essere pubblicata.
In sostanza si è cercato di mantenere le buone pratiche attuate in questi anni e di aggiungere un pizzico di responsabilità in più da parte degli utenti.

Queste le pagine che riportano le principali modifiche al metodo di lavoro:

  • GruppoDocumentazione/Partecipa: mostra gli step da seguire, con alcune novità come la possibilità di aggiornamento degli indici dei portali tematici e l'aggiornamento della tabella delle guide svolte.

  • GuidaWiki/Standard: schematizzata la parte del formato del wiki-testo, sono state introdotte le frasi standard e alcuni accorgimenti stilistici che chiediamo agli utenti di seguire quanto più possibile.

  • GruppoDocumentazione/Partecipa/FAQ: logico adeguamento a quanto riportato sopra.

 

Un saluto e che il 2019 porti buone cose alla Documentazione Wiki :)

 

A cura del Gruppo Doc
Vuoi contribuire al Wiki? Comincia subito!

il 25 January 2019 16.25

22 January 2019

Categoria: 

È disponibile la newsletter N° 002/2019 della comunità di ubuntu-it. In questo numero:

  • Report Documentazione wiki: quarto trimestre 2018
  • Il FOSDEM quest'anno si terrà il 2 e il 3 Febbraio
  • Top Snaps nel 2018
  • Ubuntu Touch OTA-7 è finalmente disponibile
  • L'Unione Europea lancia il programma di Bug Bounty per software open source
  • The Free Software Foundation riceve 1 milione di $ da parte di HandShake e raggiunge un nuovo obiettivo: 5.000 membri
  • Notizie dalla Documentazione Wiki
  • Aggiornamenti di sicurezza
  • Bug riportati
  • Statistiche del gruppo sviluppo

Puoi leggere la newsletter in questa pagina, oppure scaricarla in formato pdf. Se hai perso i numeri precedenti, puoi trovarli nell archivio! Per ricevere la newsletter ogni settimana nella tua casella di posta elettronica, iscriviti alla lista newsletter-italiana.

il 22 January 2019 21.03

19 January 2019

Categoria: 
Ecco le novità introdotte nella documentazione della comunità italiana di Ubuntu.
 
Portale Ambiente Grafico
  • PCmanFm Menu Stampa: nuova guida per abilitare la funzionalità di stampa dal menù contestuale del file manager PCmanFM.
 
Portale Amministrazione Sistema
  • Aggiornare Kernel: aggiornamento procedura di installazione del kernel e inserimento di nuove pagine di riferimento.
  • Apper: nuova guida per il gestore di pacchetti opzionale per Kubuntu.
 
Portale Hardware
  • AsusX53S-K53SC: resoconto di installazione di Ubuntu su questo portatile.
  • Acer Aspire 5612wlmi: resoconto di installazione di Ubuntu su questo portatile.
  • Acer Aspire ES1-524: resoconto di installazione di Ubuntu su questo portatile.
  • Lenovo Yoga 730_13IWL: resoconto di installazione di Ubuntu su questo portatile.
  • Epson Multi: aggiornamento della guida per installare stampanti mono o multifunzione Epson su Ubuntu.
  • Scanner Epson: aggiornamento della guida per installare scanner Epson su Ubuntu.
 
Portale Installazione
  • Installare Ubuntu: revisione dell'intera guida con l'inserimento di nuovi contenuti.
 
Portale Internet e Rete 
  • Accelerazione Hardware: nuova guida che illustra la procedura per abilitare l'accelerazione hardware su Chromium e gli altri browser da esso derivati, quali Google Chrome, Opera e Vivaldi.
  • Opera: aggiornamento della guida per le nuove versioni del browser.
  • Thunderbird: aggiornamento della guida per il famoso client di posta elettronica libero, che nelle ultime versioni  utilizza un nuovo motore di rendering.
 
Portale Programmazione
  • CMake Gui: aggiornamento guida su questo strumento, utile per controllare il processo di compilazione di software.
  • Pip: nuova guida all'installazione e al primo utilizzo su Ubuntu di pip, gestore di pacchetti per Python.
 
Portale Ufficio
  • Stardict: revisione completa della guida.
 
Per maggiori informazioni, consulta la pagina Lavoro Svolto/2018.
 
 
il 19 January 2019 21.30

10 January 2019

In using internet, it is very common to download files. There can be many kinds of files to download and there should be application to manage the downloading process. Actually, each browser can work well in downloading files. There has been default feature from each browser to help users in downloading the file. However, sometimes the feature is not fully helpful. The feature may be able to work as download manager, but they are not good in dealing with speed. For example, it is able to download directly by using Chrome as the browser, but its speed may be slower compared to download by using the third-party download manager. In this case, there are many applications of download manager and IDM or Internet Download Manager is one of the most popular download manager used by the users.

The good point about this download manager is about its auto-popup shortcut. Whenever there are potential files to download, a download icon will appear. This especially works when users open websites with videos or audios. There will be icon appearing and when users want to download the files, they can click the files. Then, usually users can also get some alternatives of quality, such as video resolution and quality. Of course, this will determine the size, but this download manager will provide better speed management. This will be so helpful. Even, this application can be integrated to all kinds of browser, so when this application has got access granted by users, all downloading process will be handled and managed by Internet Download Manager.

Then, this is great since the download process are divided into some partition. This downloading process and management is quite unique since the whole files will be automatically divided and this will make the download process run faster. Users can monitor the download process by seeing in the downloading windows. It is very easy to know the numbers of partition and the progress of download. Duration and size of the files downloaded by the app can also be seen. Even, downloading speed can also be seen. Then, it is very possible to pause the download process and users can resume the download later. This can be useful when actually the time is not enough and it must be continued later. This download manager can handle it. There are also periodical updates to improve the performance of the application. When there are also updates for the browser, developer of this app will also provide updates to make sure that Internet Download Manager will always be compatible and can work well.

il 10 January 2019 06.11

20 December 2018

There are many kinds of applications used by users. There are various applications based on the functions. For entertainment, there are some famous applications for it. Tik Tok is one of them. This application is so famous lately. Many people from different countries use this application. This application is for making videos. There are 60-seconds videos that can be made by using this application. The app itself is developed by Toutiao and this is released for the first ime in 2016. This application is very popular among the users of gadget and this becomes one of the app with the fastest growth. There are many users using this application. It is known as application for gadget, and this can work in iOS and Android. In addition, this can also work for PC.

This is an application for video sharing and video making. This application also becomes such a video sharing community. Users who want to use this application must have account and they can make it easily. When they have account, then they will get the access for using this application for making videos. Many kinds of videos can be made and there are many unique videos made by this mobile app and there are also some users getting famous because of their videos made by using Tik Tok.

In this case, the app can be used for watching videos made by many registered creators. Then, there are also features to make videos. Users can make 60-seconds videos and edit them directly in this application. They can share automatically in their Tik Tok account, but they can also share the videos in other social media.

Then unique feature of this application is that judi bola users can make videos with various kinds of music as the background. There are many kinds of music to use as backgrounds. Some of the users of this app use this feature to make such kinds of lip-sync or making dance based on the music. There are also some users who make cover of music or videos. There are also some useful and unique filters that can make the video more unique.

Then, developer of this app has made facial recognition that later can help users in using the feature of filters on the face. The facial recognition can work in good precision, so filters can be applied easily based on the face of users. For the music, the app has Massive Music Library, so there are many music collections to use.

il 20 December 2018 12.38

08 December 2018

Scanner Epson V10: aggiornamento

Salvatore Palma (totò)

Questa guida è stata testata su:
Bionic Beaver

Tempo fa avevo scritto questo articolo, in cui indicavo i passi per l’installazione dello scanner in ogetto .

Recentemente ho fatto l’aggiornamento da Xenial Xerus a Bionic Beaver, e nel seguire le indicazioni presenti nell’articolo indicato prima, lo scanner ancora non veniva rilevato, cosi facendo la ricerca nel wiki italiano (qui la guida), ho scoperto che vanno aggiunti dei passaggi aggiuntivi, quindi riepilogando:

  • scaricare i driver a questo indirizzo;
  • installare i tre pacchetti, iscan-data_[versione corrente]_all.deb, iscan_[versione corrente]~usb0.1.ltdl7_i386.deb e iscan-plugin-gt-s600_[versione corrente]_i386.deb, oppure lanciare lo script install.sh presente all’interno della cartella (prima va reso eseguibile)
  • installare i pacchetti libltdl3, libsane-extras e sane;
  • editare il file /etc/sane.d/dll.conf e commentare la riga #epson;
  • editare il file /etc/udev/rules.d/45-libsane.rules e aggiungere le seguenti righe:

# Epson Perfection V10
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="012d", MODE="664", GROUP="scanner"

  • editare il file /etc/udev/rules.d/79-udev-epson.rules e aggiungere le seguenti righe:

# chmod device EPSON group
ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0777"

  • digitare il seguente comando, in base all’architettura del proprio pc:

Per architettura 32 bit sudo ln -sfr /usr/lib/sane/libsane-epkowa* /usr/lib/i386-linux-gnu/sane
Per architettura 64 bit sudo ln -sfr /usr/lib/sane/libsane-epkowa* /usr/lib/x86_64-linux-gnu/sane

  • infine digitare il seguente comando per riavviare udev:

sudo udevadm trigger

il 08 December 2018 12.30

28 November 2018

Introduction: Firebase CLI

 

According to the github page of the firebase-tools project, the firebase cli can be used to:

  • Deploy code and assets to your Firebase projects
  • Run a local web server for your Firebase Hosting site
  • Interact with data in your Firebase database
  • Import/Export users into/from Firebase Auth

 

The web console is fine for a lot of stuff.

But let’s see what we can do with the CLI, and let’s check what we CANNOT do without it.

Installation

Ok, easy.

Assuming you have npm installed, run the following command:

npm install -g firebase-tools

You will now have the command firebase, globally.

Now, run:

firebase login

to authenticate to your Firebase account (this will open your browser).

Firebase tasks

Seleting projects

List your firebase projects:

firebase list

You can then select one of them with

firebase use <project>

Cloud Functions Log

A common thing you would like to do is looking at the logs.

This is possible with:

firebase functions:log

At this point I think there is no way to “listen” for changes in the log, that would be a very useful feature.

The

gcloud app logs tail

sadly does not help here, even if the current selected project is the firebase one.

If you have some tips about it, I will be more than happy to edit this article.

Configuration

The functions configuration is handled through some commands:

firebase functions:get|set|unset|clone

to retrieve|store|remove|clone project configuration (respectively).

Emulate locally

Running

firebase functions:shell

will let you choose which of your functions to emulate locally.

You can then choose the method (get/head/post/put/patch/del/delete/cookie/jar/default) and the test data to start the emulation.

Delete functions

You can then delete one or more cloud functions with:

firestore functions:delete <function_name>

Deploy and serve locally

To serve your project with cloud functions locally, you can run:

firebase serve

When you’re ready to deploy your firebase project, you can run:

firebase deploy

Accounts management

With the firebase cli you can both import and export Firebase accounts with the:

firebase auth:import|export <file>

Surprisingly enough, import import accounts from a file, and and export will export accounts to a file.

Database

I will skip this part. It’s very well documented everywhere in the firebase ecosystem.

Firestore

Here we are.

What we can do with Firestore with our CLI? Almost nothing, I am afraid.

Right now you have only two things we can accomplish.

Indexes (read)

You can look at your indexes:

firebase firestore:indexes

This will list the indexes in a JSON-form of array of objects described as the following one:

    {
    "indexes": [
      {
      "collectionId": "<collection_id>",
      "fields": [
        {
          "fieldPath": "<field_name_one>",
          "mode": "ASCENDING|DESCENDING"
        },
        {
          "fieldPath": "<field_name_two>",
          "mode": "ASCENDING|DESCENDING"
        }
      ]},
      {..}
    ]}

We cannot perform other operations over indexes.

Collections and documents: delete recursively

It’s easy from the web console to delete a document, and it’s easy to do it programmatically.

It’s easy on the CLI, too.

But the nightmare of the web console (and of the programmatic approach, too) is that it does not exist a simple and fast way to recursively delete a collection.

This is luckily possible with the CLI.

You can recursively delete a collection by using:

firebase firestore:delete --recursive <collection>

Bonus: delete all collections

Now, assuming you are testing something and your firestore is full of garbage, you might want to start from scratch deleting every collection.

This is possible running:

firebase firestore:delete --all-collections

If you are looking at your database in the firebase console, please remember to refresh if the UI is not updated (that means that you still see the root collections).

Conclusion

This concludes the article for now.

I hope that the Firestore-side will be developed with other features and commands, because right now is very limited.

One of the most feature I can think of, generally speaking, would be the chance to “tail” logs in the shell.

I would be more than happy if someone can integrate with useful tools and additional stuff.

The post Exploring Firebase CLI with some Firestore tips appeared first on L.S..

il 28 November 2018 17.19

29 October 2018

Handling execution time for PHP (FPM)

Lorenzo Sfarra (twilight)

The problem: setting max_execution_time / using set_time_limit() I don’t get the wanted results

If you are here, you are probably looking for an answer to the question:

why set_time_limit() is not working properly and the script is killed before?

or

why ini_set(‘max_execution_time’, X), is not working properly and the script is killed before?

The answer is not exactly one, because there are many variables to consider.

The concepts: PHP itself vs FPM

Anyway, I will list basic concepts that will help to find the best path to your answer.

The first, brutal, note is: directives you specify in php-fpm.conf are mostly not changeable from ini_set().

Please also note that set_time_limit() is a almost nothing more than a convenience wrapper on ini_set() in the background, so the same concept applies.

For simplicity, in this post I will talk about set_time_limit(), but the same applies to ini_set(whatever_related_to_time).

According to what we already said, it’s important to understand that set_time_limit() can only “overwrite” the max_execution_time directive, because

they only affect the execution time of the script itself

(there is a specific note in the official documentation).

On the other hand, directives like request_terminate_timeout are related to FPM, so we are talking about the process management level here:

should be used when the ‘max_execution_time’ ini option does not stop script execution for some reason.

Web server dependent directives

What we have seen so far aren’t the only variables in the game.

You should check your web server configuration, too, to be sure nothing is playing a role in your timeout problem.

A very common example is the fastcgi_read_timeout, defined as:

a timeout for reading a response from the FastCGI server. The timeout is set only between two successive read operations, not for the transmission of the whole response. If the FastCGI server does not transmit anything within this time, the connection is closed.

So…what to do?

The basic answer is: have perfectly clear what was defined by web server (ex.: fastcgi_read_timeout), what defined by FPM (ex.: request_terminate_timeout) and what was defined by PHP itself (ex.: max_execution_time).

For example, if request_terminate_timeout is set to 1 second, but max_execution_time is set to 2 seconds, the script will end after 1 second (so, whichever comes first, even if you have set max_execution_time with ini_set() in your script) .

A possible solution is simply using max_execution_time in place of request_terminate_timeout (but use it, too, to define a solid maximum upper-bound).

The max_execution_time description in the official documentation has an hint about this common problem, that is:

Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a Timeout directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details.

Any hints to share?

The post Handling execution time for PHP (FPM) appeared first on L.S..

il 29 October 2018 14.27

26 October 2018

Categoria: 

Gruppo Documentazione

Ecco le novità introdotte nella documentazione della comunità italiana di Ubuntu.

 

Aggiornamenti per il rilascio di Ubuntu 18.10!

Questo mese ha visto l'arrivo della nuova versione Ubuntu 18.10. Si tratta di una versione "intermedia" con supporto di 9 mesi e sarà quindi supportata fino a Luglio 2019. Come di consueto il Gruppo Documentazione si è attivato per aggiornare una corposa lista di pagine fra cui quelle relative al download, all'installazione e all'aggiornamento del sistema, ai repository.. e molte altre ancora.
Per maggiori dettagli consulta la pagina GruppoDocumentazione/Cosmic.

 

Portale Ambiente Grafico

  • Dolphin Menu Stampa: ottenere voci relative alle funzionalità di stampa nel menù contestuale del file manager Dolphin in KDE5 attivabile tramite clic destro.

 

Portale Amministrazione Sistema

  • Apt: istruzioni sull'utilizzo di APT, il sistema di gestione dei pacchetti .deb, predefinito in Ubuntu.

 

Portale Hardware

 

Portale Installazione

  • Creazione LiveUsb: aggiornata la tabella dei programmi utili per la creazione di chiavette USB avviabili con Ubuntu.

 

Portale Internet e Rete

  • Firefox ESR: installazione e utilizzo del browser web Firefox ESR, versione ufficiale con supporto esteso di Firefox.

  • Irssi: istruzioni utili per l'installazione e l'utilizzo di Irssi, un client IRC che permette di comunicare in modalità testuale dalla riga di comando.

  • MlDonkey: installazione e utilizzo di questo programma per il peer to peer estremamente potente con funzione client e server.

  • Pidgin: installazione e configurazione di questo client di messaggistica istantanea multi-protocollo.

  • Telegram: installare la versione desktop di Telegram su Ubuntu.

 

Per maggioro informazioni, consulta la pagina Lavoro Svolto/2018.

 


A cura del Gruppo Doc
Vuoi contribuire al Wiki? Comincia subito!

il 26 October 2018 16.36

25 October 2018

jQuery selects combination and submit

Lorenzo Sfarra (twilight)

I had to help a friend solving a very common problem for, for example, booking websites.
The example is basically the selection of options based on two

<select>s

elements: number of adults and number of children for a possible booking.

So, what we are going to do is to create a very simple HTML with two selects and one button, with the chance to remove an already selected combination before submitting it.

The HTML:

<select id="adults">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

<select id="children">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

<button id="add">Add</button>

<div id="output">Here the combination of selected values</div>

<br/>

<button id="submit">Send via AJAX</button>

Now, we are going to create a Javascript to handle this:

function Selection() {
  this.SELECTOR_ADULTS = '#adults';
  this.SELECTOR_CHILDREN = '#children';
  
  this.OUTPUT_SELECTOR = '#output';
  
  this.SUBMIT_SELECTOR = '#submit';
  
  this.selected = {};
}

/** Create a label for the given item **/
Selection.prototype.labelForSelected = function(item) {
  let out = item.adults + " Adults ";
  const childrenNumber = parseInt(item.children);
  if (childrenNumber > 0) {
    out += item.children + ((childrenNumber === 1) ? " Child" : " Children"); 
  }
  return out;
}

/** Add the selected item to output **/
Selection.prototype.selectedToOutput = function() {
  const keys = Object.keys(this.selected);
  jQuery(this.OUTPUT_SELECTOR).html('');
  for (let i = 0; i < keys.length; i++) {
    let key = keys[i];
    const outerDiv = jQuery("<div>");
    const span = jQuery("<span>", {
      text: this.labelForSelected(this.selected[key])
    });
    const button = jQuery("<button>", { 
      'class': 'remove', 
      id: key,
      text: 'X'
    });
    jQuery(outerDiv).append(span);
    jQuery(outerDiv).append(button);
    jQuery(this.OUTPUT_SELECTOR).append(outerDiv);
  }
}

/** Remove an item from the selected options */
Selection.prototype.removeFromSelected = function(item) {
  let aux = {};
  const keys = Object.keys(this.selected);
  for (let i = 0; i < keys.length; i++) {
    if (keys[i] === item) {
      continue;
    }
    aux[keys[i]] = this.selected[keys[i]];
  }
  this.selected = aux;
  this.selectedToOutput(); 
}

/** Init events **/
Selection.prototype.initEvents = function() {
  const _this = this;
  jQuery(document).ready(function() {
    jQuery("#add").click(function() {
      const selOne = jQuery(_this.SELECTOR_ADULTS).val();
      const selTwo = jQuery(_this.SELECTOR_CHILDREN).val();
  
      const key = selOne + selTwo;
      const newItem = {
        adults: selOne,
        children: selTwo
      };
      _this.selected[key] = newItem;
      _this.selectedToOutput();
    });
    
    jQuery(_this.OUTPUT_SELECTOR).on( "click", ".remove", function(e) {
      const id = $(this).attr('id');
      _this.removeFromSelected(id);
    });
    
    jQuery(_this.SUBMIT_SELECTOR).click(function() {
      _this.submitByAJAX();
    });
  });
}

Selection.prototype.submitByAJAX = function() {
  const keys = Object.keys(this.selected);
  console.log("Submitting", keys);
}

var mySelection = new Selection();
mySelection.initEvents();

The initEvents function binds the function for the HTML elements to the respective methods.

Note that for the .remove class we cannot use a simple click() because the elements are added dynamically.

The selectedToOutput method creates with jQuery the simple HTML elements to be added to the output.

 

A working demo is present on my Codepen.

The post jQuery selects combination and submit appeared first on L.S..

il 25 October 2018 13.26

28 September 2018

Facebook becomes one of the most popular social media used by people. This was found some years ago and this social media platform still has its loyal users. There have been hard moments faced by this media platform, but it seems that these are not strong enough to make Facebook fully collapsed. Even, the latest issues about data sharing and leakage are not enough to make people stop using Facebook. Of course, this social media platform makes so many improvements. There are some integrations and acquisitions to make this social media stronger in digital world. Things are made to make Facebook still become popular social media for users.

New Feature from Facebook to Get Latest NewsThere have been many improvements made by Facebook. Social Media found by Mark Zuckerberg has becomes one of the giant social media that connect people. Now, it is not only media of communication, but it has some features to make it integrated with some latest news. There have been some features such as Breaking News widget to get some hot news. However, sees that this is not fully effective since sometimes people get some news that they do not want to read, but it is more about the popularity made by its content creators. That is why this is not fully effective.

New Feature from Facebook to Get Latest NewsTo solve this problems, Facebook has “Today In”. Basically, this works in similar way as the previous widget where people can find some trending topics and latest news, and of course the headlines from all over the worlds. However, the algorithms are changed and improved, so this prioritize the news based on geographic location. This is very helpful to make some local news get attention, so people still can get updated with the latest news around them. Even, the local news can be in the same prioritization as the head line and hottest news. It is hoped that this is more useful for users to get some needed news.

il 28 September 2018 19.31

23 September 2018

Data access control isn’t easy. While it can sound quite simple (just give access to the authorized entities), it is very difficult, both on a theoretical side (who is an authorized entity? What does authorized mean? And how do we identify an entity?) and on a pratical side.

On the pratical side, how we will see, disclose of private data is often a unwanted side effect of an useful feature.

Facebook and Instagram

Facebook bought Instagram back in 2012. Since then, a lot of integrations have been implemented between them: among the others, when you suscribe to Instagram, it will suggest you who to follow based on your Facebook friends.

Your Instagram and Facebook accounts are then somehow linked: it happens both if you sign up to Instagram using your Facebook account (doh!), but also if you sign up to Instagram creating a new account but using the same email you use in your Facebook account (there are also other way Instagram links your new account with an existing Facebook account, but they are not of our interest here).

So if you want to create a secret Instagram account, create a new mail for it ;-)

Back in topic: Instagram used to enable all its feature to new users, before they have confirmed their email address. This was to do not “interrupt” usage of the website / app, they would have been time to confirm the email later in their usage.

Email address confirmation is useful to confirm you are signing up using your own email address, and not one of someone else.

Data leak

One of the features available before confirming the email address, was the suggestion of who to follow based on the Facebook friends of the account Instagram automatically linked.

This made super easy to retrieve the Facebook’s friend list of anyone who doesn’t have an Instagram account, and since there are more than 2 billions Facebook accounts but just 800 millions Instagram accounts, it means that at least 1 billion and half accounts were vulnerable.

The method was simple: knowing the email address of the target (and an email address is all but secret), the attacker had just to sign up to Instagram with that email, and then go to the suggestions of people to follow to see victim’s friends.

List of victim's friends

Conclusion

The combination of two useful features (suggestion of people to follow based on a linked Facebook account, being able to use the new Instagram account immediately) made this data leak possible.

It wasn’t important if the attacker was a Facebook’s friend with the victim, or the privacy settings of the victim’s account on Facebook. Heck, the attacker didn’t need a Facebook account at all!

Timeline

  • 20 August 2018: first disclosure to Facebook
  • 20 August 2018: request of other information from Facebook
  • 20 August 2018: more information provided to Facebook
  • 21 August 2018: Facebook closed the issue saying wasn’t a security issue
  • 21 August 2018: I submitted a new demo with more information
  • 23 August 2018: Facebook confirmed the issue
  • 30 August 2018: Facebook deployed a fix and asked for a test
  • 12 September 2018: Facebook awarded me a bounty

Bounty

Facebook awarded me a $3000 bounty award for the disclosure. This was the first time I was awarded for a security disclosure for Facebook, I am quite happy with the result and I applaude Facebook for making all the process really straightforward.

For any comment, feedback, critic, write me on Twitter (@rpadovani93) or drop an email at riccardo@rpadovani.com.

Regards, R.

il 23 September 2018 09.00

18 September 2018

As a photographers or designers, software or app of image and photo viewers are needed. This kind of software is useful and helpful partners in working with images and photos. Of course, each operating system has default software or app for this function. However, sometimes the default app does not provide you with complete features, so you will need additional app to work with those images. In this case, there are some recommendation of applications for image viewers. The good news is that the software recommended below is free to download.

The first one is FastStone Image Viewer. This image viewer is great choice for its functions and compatibility. This software is compatible for Windows platform and this range is quite fantastic. This software can work in Windows 98 up to the latest Windows 10. It is quite unique to see the fact that this windows can work in Windows 98 while it is almost none uses this Windows anymore. About the feature, this provides access for viewing the images and make some modifications and editing. There are also some effects to apply when users want to customize the image. This also supports many extension of files, including CRW, PSD, RAW, EPS, and the other formats that usually default apps cannot support.

FastPictureViewerThe other application is FastPictureViewer. This software is great for its automatic features. There are some features that can be set automatic, including feature of instant zooming up to 100% that can be so helpful to see the details of the image, such as the sharpness and color graphic. Then, it is also good in term of file managements, including for transferring files, copying, and saving. The next app is Apowersoft HEIC Photo Viewer. The good news about this software is about its less impact on PC performance. However, it does not mean that this has limited access. in fact, this can support files from some common editing software, such as RAW, PSD, CDR, and other files formats from the editing software.

il 18 September 2018 21.16

29 August 2018


Venerdì 31 agosto prossimo parteciperò a ESC 2018 che si tiene presso il Forte Bazzera, nelle vicinanze dell'Aeroporto di Venezia. 

ESC - End Summer Camp - si svolge dal 29 agosto al 2 settembre, ed è un evento particolarmente interessante, ricco di appuntamenti su temi che riguardano open source, hacking, open data e... beh, il programma è talmente vasto che è impossibile riassumerlo in poche righe, dategli un'occhiata anche voi!

Il sottoscritto sarà a ESC per parlare di Ubuntu Touch, che è l'attività che ultimamente mi sta prendendo più tempo, del mio poco tempo libero. Dopo che l'anno scorso Canonical ha abbandonato lo sviluppo di Ubuntu Touch, una comunità - sempre più numerosa - si è aggregata attorno al progetto UBports, inizialmente portato avanti dal solo benemerito Marius Gripsgard, che ha proseguito il lavoro da dove Canonical si era fermata. Proprio pochi giorni fa, UBports ha ufficialmente rilasciato OTA4, il primo aggiornamento basato su Ubuntu 16.04, ma soprattutto una serie lunghissima di bug fix e miglioramenti, dopo un lungo lavoro di assestamento e pulizia.

Still Alive!


Adesso è tempo che tutto il mondo sappia che Ubuntu Touch è vivo, e probabilmente la migliore cosa che sta accadendo in tutto il panorama dell'Open Source mondiale. Passato lo scandalo delle rivelazioni di Snowden, sembra che le persone si siano dimenticate (rassegnate?) di quanto invasiva sia la sistematica violazione della privacy personale operata da tutti gli smartphone in commercio. Pratica questa che espone la propria vita non solo alle ben note aziende tecnologiche americane del settore (Apple, Google, Facebook, Yahoo), ma anche a tutti i pirati che ogni giorno rubano tonnellate di dati personali alle stesse aziende.

Ubuntu Touch è la risposta open source alla domanda di maggiore controllo e tutela dei propri dati, oltre che un sistema operativo davvero libero e aperto.

Se venite a Forte Bazzera venerdì 31 agosto alle 11.30 vi parlerò di questo (e anche tanto altro!). Vi aspetto!
il 29 August 2018 21.15

26 August 2018

In browsing data and any other websites, it is common to use VPN or Virtual Private Network. VPN is useful to open websites freely. It is common now to use VPN since there are some regulations from countries that make some websites are blocked. In this case, the VPN will be useful to use in many kinds of situation, so there will be no problems when the websites are blocked. Although there are regulations, VPN still can break the blocked websites easily. For VPNs, there are many applications or software that can provide access and services for the Virtual Private Network. For browser, Opera is known as the browser that can provide the access for VPN. There has been access for VPN and this can be activated for free. However, this cannot work in all kinds of websites, so it is better to have VPN services that can fully work in all kinds of condition.

In this case, HMA! Pro VPN can be one of the great VPN application to use. This application is getting its popularity lately since this app has been proven to work well in breaking down all of the websites and regulations of countries will not be big problems anymore. Its effectiveness is great in granting access for opening. Of course, its effectiveness is not for free, so users must use paid services. However, developer of this application knows that sometimes there are features which are not needed by certain users. That is why developer provides various packages for users, so users can choose the suitable package for them. For example, there is special package for students and this VPN service will unlock all websites with contents related to the education. Each package will have different function and different price.

Good Choice of Software for VPN ServiceThe other good point about the HMA! Pro VPN is that this software has vast compatibility. This software can work for PCs and gadget. For PC, this can work on Windows and Mac. Even, this VPN service can also work on LINUX-based PC. Then, this can work also for gadgets. Both Android and iOS can work well with this application. Surely, this will provide variety of function and compatibility, and it is great point. About the security of user’s data, this app will not have access for the private data, so there will be no problems and issues with the security. This application will only access the IP Address, and the other things are secured. Surely, this can be helpful software for VPN Services.

il 26 August 2018 14.03

10 August 2018

Windows 10 is brought and developed by Windows to provide better accessibility. This latest Windows is made so users can have better access and they can access the function of PC easily. Interface and features of Windows 10 is developed specifically for touch-screen devices since most of the devices now have used touch screen. In this case, Windows 10 has many supporting apps that can be so helpful for users in doing their jobs. In this case, there is OneNote that becomes famous and useful apps for Windows 10. This application can work well as a notebook or daily journals where users can easily make notes in all kinds of conditions. Organizing many things can also be easier to do. Even, this is not only to type some notes, but drawing and sketching some pictures or drafts can also be made. Surely, this is great app for Windows 10.

OneNote has become important feature. Businessmen and students are helped by the function of this app. This app can be great combination of Microsoft Office since this can have all basic functions of Microsoft Office, including for typing and tabulation. All of these things can be done easily. Even, it is also possible to have shared notes. Some users can have access for the notes and this can be shared by using Microsoft account. This will be so helpful when people are having business or other things. They can share the notes and all people can have access to edit and add some notes. Agendas can also be integrated and even emails connected to Microsoft Outlook can be integrated to the OneNote. This will make the app so useful for all kinds of conditions and situations.

OneNote as Recommended App for Windows 10To make notes, it is true that users can write or sketch the notes. When they have touchscreen device and there is stylus pen, it will be easier to make sketch. It is also possible to change the color of the ink easily and highlighter can also be added as the feature in making notes. To make a new notes, users can easily open blank spaces. When users need to make lists, they can have checkbox to make and they are able to use feature of bullets and numbering as found in Microsoft Office. Sharing the files are easy to do. OneNote can be connected and integrated to other apps, so sharing the pages can be easy and it is possible to grant access, so users can see the notes that have been made. Even, they can add and edit the notes.

il 10 August 2018 21.04

06 August 2018

VPN or Virtual Private Network becomes so useful to deal with some regulations of countries. There are some regulations made by the countries to blocks some sites. These are not only for category of pornographic sites or contents. There are also other sites that are blocked by the counties because these are against the regulations set by the country. Of course, this can be quite problematic since sometimes there are some important information to access in the blocked sites. VPN is the solution for this problems. There are many kinds of VPN services. Even, there is Opera Browser that provides VPN services included in the browser. However, the effectiveness becomes the big questions. Some of the sites can be free, but it is not for all of them.

There are also many applications providing VPN services, but their effectiveness are still things to worry about. In this case, there is HMA! Pro VPN. This VPN is getting more popular lately. There have been big appreciations for the effectiveness of this application in breaking down the blocked sites, so the accesses can be granted. There are some interesting points about this VPN services. This app is paid application, but there are some kinds of packages to choose. It means that people do not need to pay for things that they do not need. They can choose the suitable packages. For example, students can find the suitable packages for them who only need sites with some contents in education.

Software for VPN ServicesThen, HMA! Pro VPN can work in many platforms. This is not only for PC, but it is also for gadget. Windows, Mac, Android, IOS, and even LINUX are compatible with this application. Then, about the security, there is nothing to worry. This app does not access some private data and logs. They only need the IP address and then the private logs are not accessed by them. That is why security and privacy of the owner is protected. Then, there are some supporting features such as 30-days free trials. Then, there is also feature for product after sale. This is given so customers can get money-back guarantee when they are not satisfied as long as it is still in duration of 30 days after the app is bought.

il 06 August 2018 21.35

23 July 2018

Categoria: 

https://www.ubuntu-it.org/sites/default/files/news_wiki17.png

Ecco le novità introdotte nella documentazione della comunità italiana tra aprile e giugno 2018.

 

Aggiornamenti per il rilascio di Ubuntu 18.04 LTS!

Aprile ha visto l'arrivo della nuova versione Ubuntu 18.04. Si tratta di una versione LTS e sarà quindi supportata per i prossimi 5 anni. Come di consueto il Gruppo Documentazione si è attivato per aggiornare una corposa lista di pagine fra cui quelle relative al download, all'installazione e aggiornamento del sistema, ai repository.. e molte altre ancora.

GruppoDocumentazione/Bionic

 

Pubblicato il nuovo Portale Voting Machine Scuola Lombardia!

https://www.ubuntu-it.org/sites/default/files/votingMachineLombardia.png

Il 2018 ha visto l'arrivo di un evento inaspettato nel mondo linuxiano. Una miriade di "voting machine" (i dispositivi utilizzati in un recente referendum in Lombardia) sono state riconvertite per essere utilizzate nelle scuole lombarde. Come sistema è stato scelto Ubuntu GNOME 16.04 LTS.
È stato quindi creato un portale con informazioni utili al riguardo. Ringraziamo Matteo Ruffoni per averci portato a conoscenza dei fatti lo scorso Marzo durante lo svolgimento del Merge-it a Torino.

  • VotingMachineScuolaLombardia: un nuovo portale dedicato alla voting machine, il dispositivo di voto elettronico fornito alle scuole della Lombardia con preinstallato Ubuntu!

  • /Hardware: specifiche delle voting machine.

  • /PrimoAvvio: operazioni da compiere durante il primo avvio della voting machine.

  • /CambiarePassword: cambiare la password dell'utente amministratore.

  • /Utilizzo: caratteristiche e funzionalità del sistema operativo Ubuntu GNOME presente nella voting machine.

  • /ProgrammiPreinstallati: applicazioni di utilizzo più comune preinstallate in Ubuntu GNOME 16.04 LTS.

  • /Gcompris: utilizzo dell'applicazione GCompris, una suite di giochi didattici per bambini da 2 a 10 anni.

  • /AccountUtente: operazioni da compiere per creare nuovi utenti diversi dall'utente amministratore.

Si segnala inoltre il gruppo di discussione Lavagna libera in cui molti docenti si occupano in prima persona dell'introduzione del software libero nelle scuole. Fra gli argomenti discussi ovviamente si possono trovare molte testimonianze dirette sull'utilizzo delle voting machine.

 

Portali Ambiente Grafico e Amministrazione Sistema

 

Portale Hardware

 

Portale Internet e Rete

  • TeamSpeak: applicazione VoIP.

  • Tor: utilizzare il sistema di navigazione anonima Tor su Ubuntu.

 

Portale Multimedia

  • Andour: una digital audio workstation per Ubuntu.

  • Kodi: programma open source e multipiattaforma per la gestione di un completo media center o Home theater PC.

  • Rosegarden: audio/midi sequencer ed editor di spartiti musicali.

 

Portali Server e Ufficio

  • Xampp: utile programma multipiattaforma che permette in pochi passaggi un'installazione semplificata di server web Apache, MySQL, PHP, Perl e altri strumenti.

  • Atom: editor di testo basato su Electron.

 

Altro

  • Libri Linux: elenco di pubblicazioni dedicate all'utilizzo e all'amministrazione del sistema GNU/Linux.

Per maggioro informazioni, consulta la pagina Lavoro Svolto/2018.

 


A cura del Gruppo Doc
Vuoi contribuire al Wiki? Comincia subito!

il 23 July 2018 21.18

04 May 2018

Categoria: 

bionic_flower.png
Foto originale: Crocus Wallpaper by Roy Tanck

Il 26 Aprile è stato finalmente rilasciato Ubuntu 18.04 LTS, nome in codice Bionic Beaver.
Come forse già saprete, si tratta di una release molto attesa ed importante: è la prima Long Term Support con preinstallato il desktop GNOME.
Sarà supportata fino al 2023. Per scoprirne tutte le novità potete consultare questa pagina.

Come di consueto, il Gruppo Documentazione ha organizzato l'opera di aggiornamento e revisione delle principali pagine del wiki.
Ma molto lavoro rimane ancora da fare. Infatti tante guide hanno bisogno di essere verificate o aggiornate con la nuova versione 18.04.

Come contribuire

La maggior parte delle guide contiene, sotto l'indice in alto a destra, una dicitura simile a questa: «Guida verificata con Ubuntu: 14.04 16.04 17.10».

  • Vi siete accorti che una guida già esistente è valida anche per Ubuntu 18.04?
    Perfetto! fatecelo sapere attraverso la discussione dedicata presente nel forum (trovate il link sempre sotto l'indice), oppure contattateci. Se invece siete già iscritti al Wiki potete verificarla direttamente voi.

  • Vi siete accorti che una guida esistente contiene istruzioni non valide con Ubuntu 18.04?
    Bene, potete farcelo sapere sempre contattandoci. Inoltre se siete iscritti al Wiki potete provvedere da soli a correggerla.

Non siete ancora iscritti al Wiki? cosa aspettate?! iniziate da subito a contribuire! 🙂

il 04 May 2018 08.13

30 April 2018

Basta calcio

Dario Cavedon (iced)


"Il bello della sconfitta sta innanzitutto nel saperla accettare. Non sempre è la conseguenza di un demerito. A volte sono stati più bravi gli altri. Più sei disposto a riconoscerlo, quando è vero, quando non stai cercando di costruirti un alibi, più aumentano le possibilità di superarla. Anche di ribaltarla. La sconfitta va vissuta come una pedana di lancio: è così nella vita di tutti i giorni, così deve essere nello sport. Sbaglia chi la interpreta come uno stop nella corsa verso il traguardo: bisogna sforzarsi di trasformarla in un riaccumulo di energie, prima psichiche, nervose, e poi fisiche." (Enzo Bearzot)
Quando ero giovane, molto giovane, giocavo a calcio. Tutti i bambini giocavano a calcio. Era lo sport preferito, anzi, era il passatempo preferito dei bambini. In estate si stava praticamente tutto il giorno sul campetto vicino a casa, a tirare calci al pallone. Quando non eravamo al campetto, eravamo sul cortile di casa, sempre a tirare calci al pallone. Io ero universalmente considerato scarso - forse il più scarso. Giocavo in difesa, ma spesso finivo a giocare in porta, dove nessuno voleva mai stare.

Fatalmente, ogni tanto si rompeva qualche vetro: è incredibile quanto facilmente si possa rompere un vetro, pur tirando pianissimo il pallone. Mamma si "vendicava" a modo suo: il giardino limitrofo al cortile era cosparso di rose con spine così appuntite da bucare anche il miglior pallone di cuoio. 
Si può dire che la mia infanzia sia trascorsa così, tra vetri rotti, palloni bucati e jeans rovinati dalle scivolate sull'erba. Altri tempi.

Non lo so come sia finito il calcio al suo attuale livello, qualche anno fa ne descrissi alcune disgrazie, alcune sono ancora attuali, altre sono addirittura peggiorate. Ricordo anche un tentativo di Roberto Baggio di cambiare direzione, finito nel nulla. Adesso però basta.

Nel mio immaginario romantico, i principali sentimenti che accompagnano lo sport sono il divertimento, lo spirito olimpico di partecipazione, l'agonismo positivo che insegna a migliorare e superare i propri limiti. Potrò anche sbagliarmi, ma vedo poco di tutto questo nel calcio italiano.

Gioire delle sconfitte altrui, augurare il peggio all'avversario, vedere solo le colpe altrui, immaginare complotti a favore di questa o quella squadra, rende persone tristi e astiose. Rende le persone peggiori, e (esagero) il anche il mondo un po' peggio di quello che era prima.

Preferisco spendere le mie poche energie per costruire un mondo - quel poco che mi circonda - un po' migliore di quello che ho trovato.

(Nella foto: Bearzot gioca a scopone al ritorno dai vittoriosi mondiali di Spagna 1982, in coppia con Causio e contro Zoff e il presidente Pertini).


il 30 April 2018 20.16

23 April 2018

You have a static website and you want to share to your team the last changes you have done, before going online! How to do so?

If you use GitLab and you have an account AWS, it’s time to step up your game and automatize everything. We are going to setup a system which will deploy every branch you create to S3, and clean up after yourself when the branch is merged or deleted.

AWS S3 is just a storage container, so of course you can’t host in this way a dynamic website, but for a static one (as this blog), it is perfect.

Also, please note that AWS S3 buckets for hosting a website are public, and while you need to know the URL to access it, there are way to list them. So do not set up this system if you have private data on your website.

Of course, standard S3 prices will apply.

We will use GitLab CI, since it is shipped with GitLab and deeply integrated with it.

Gitlab CI is a very powerful system of Continuous Integration, with a lot of different features, and with every new releases, new features land. It has a rich technical documentation that I suggest you reading.

If you want to know why Continuous Integration is important I suggest reading this article, while for finding the reasons for using Gitlab CI specifically, I leave the job to Gitlab.com itself. I’ve also written another article with a small introduction to Gitlab CI.

I suppose you already have an AWS account and you know a bit how GitLab CI works. If not, please create an account and read some of the links above to learn about GitLab CI.

Setting up AWS

First thing is setting up AWS S3 and a dedicated IAM user to push to S3.

Since every developer with permissions to push to the repository will have access to the tokens of the IAM use, it is better to limit its permissions as much as possible.

Setting up S3

To set up S3, go to S3 control panel, create a new bucket, choose a name (from now on, I will use example-bucket) and a region, and finish the creation leaving the default settings.

After that, you need to enable the website management: go to Bucket -> Properties and enable Static website hosting, selecting Use this bucket to host a website as in the image. As index, put index.html - you can then upload a landing page there, if you want.

Take note of the bucket’s URL, we will need it.

s3 bucket creation

We now grant permissions to read objects to everybody; we will use the policy described in the AWS guide. For other information on how to host a static website, please follow the official documentation.

To grant the read permissions, go to Permissions->Bucket policy and insert:

{
  "Version":"2012-10-17",
  "Statement":[{
    "Sid":"PublicReadGetObject",
    "Effect":"Allow",
	  "Principal": "*",
    "Action":["s3:GetObject"],
    "Resource":["arn:aws:s3:::example-bucket/*"]
  }]
}

Of course, you need to insert your bucket’s name in the Resource line.

Creating the IAM user

Now we need to create the IAM user that will upload content to the S3 bucket, with a policy that allows only upload to our GitLab bucket.

Go to IAM and create a new policy, with the name you prefer:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::example-bucket/*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:ListObjects",
            "Resource": "*"
        }
    ]
}

Of course, again, you should change the Resource field to the name of your bucket. If you know the GitLab runners’ IPs, you can restrict the policy to that IPs.

Now you can create a new user granting it Programmatic access. I will call it gitlabs3uploader. Assign it the policy we just created.

iam user creation

For more information on how to manage multiple AWS accounts for security reasons, I leave you to the official guide.

Setting up GitLab CI

We need to inject the credentials in the GitLab runner. Go to your project, Settings -> CI / CD -> Secret variables and set two variables:

  • AWS_ACCESS_KEY_ID with the new user’s access key
  • AWS_SECRET_ACCESS_KEY with the new user’s access secret key

Since we want to publish every branch, we do not set them as protected, because they need to be available in every branch.

secret variables config

.gitlab-ci.yml

We now need to explain GitLab how to publish the website. If you need to build it before, you can do so. rpadovani.com uses Jekyll, so my .gitlab-ci.yml file is like this:

image: "registry.gitlab.com/rpadovani/rpadovani.com:latest" # Custom Ruby image, replace with whatever you want
stages:
  - build
  - deploy

variables:
  AWS_DEFAULT_REGION: eu-central-1 # The region of our S3 bucket
  BUCKET_NAME: bucket-name         # Your bucket name

cache:
  paths:
    - vendor

buildJekyll:  # A job to build the static website - replace it with your build methods
  stage: build
  script:
    - bundle install --path=vendor/
    - bundle exec jekyll build --future # The server is in another timezone..
  artifacts:
    paths:
      - _site/  # This is what we want to publish, replace with your `dist` directory

deploys3:
  image: "python:latest"  # We use python because there is a well-working AWS Sdk
  stage: deploy
  dependencies:
    - buildJekyll      # We want to specify dependencies in an explicit way, to avoid confusion if there are different build jobs
  before_script:
    - pip install awscli # Install the SDK
  script:
    - aws s3 cp _site s3://${BUCKET_NAME}/${CI_COMMIT_REF_SLUG} --recursive # Replace example-bucket with your bucket
  environment:
    name: ${CI_COMMIT_REF_SLUG}
    url: http://${BUCKET_NAME}.s3-website.${AWS_DEFAULT_REGION}.amazonaws.com/${CI_COMMIT_REF_SLUG}  # This is the url of the bucket we saved before
    on_stop: clean_s3 # When the branch is merged, we clean up after ourself

clean_s3:
  image: "python:latest"
  stage: deploy
  before_script:
    - pip install awscli
  script:
    - aws s3 rm s3://${BUCKET_NAME}/${CI_COMMIT_REF_SLUG} --recursive # Replace example-bucket with your bucket
  environment:
    name: ${CI_COMMIT_REF_SLUG}
    action: stop
  when: manual

For more information about dynamic environments, see the documentation.

To verify your .gitlab-ci.yml is correct, go to your project on GitLab, then CI / CD -> Pipelines, and in the top right of the page there is a CI Lint link. It does not only lint your code, but it also creates a nice overview of all your jobs.

ci lint

Thanks to the environments, we will have the link to the test deployment directly in the merge request, so your QA team, and every other stakeholder interested in seeing the website before going to production, can do it directly from GitLab.

Merge request overview

Also, after you merge your branch, GitLab will clean after itself, so you do not have useless websites in S3.

You can also see all the deployments in CI / CD -> Environments, and trigger new deploys.

Conclusion

They say 2018 is the year for DevOps. I am not sure about that, but I am sure that a well configured Continuous Integration and Continuous Delivery system save you and your company a lot of time and headaches.

If your builds are perfectly reproducibly, and everything is automatic, you can focus on what really matters: developing solutions for your customers.

This was a small example on how to integrate AWS and GitLab, but you know the only limit is your fantasy. Also, a lot of new features are introduced every month in Gitlab and GitLab CI, so keep an eye on the Gitlab blog.

Kudos to the Gitlab team (and others guys who help in their free time) for their awesome work!

If you have any question or feedback about this blog post, please drop me an email at riccardo@rpadovani.com or tweet me :-) Feel free to suggest me to add something, or to rephrase paragraphs in a clearer way (English is not my mother tongue).

Bye for now,
R.

Updates

This post has been last updated on the 19th September 2018 to fix the S3 bucket URL in the .gitlab-ci.yml file, thanks to James Delaney

il 23 April 2018 14.30

22 April 2018

 

La prossima settimana parteciperò a UbuCon Europe 2018, a Xixòn (Gijon), nelle Asturie, in Spagna.

UbuCon Europe


UbuCon Europe è l'appuntamento europeo di sviluppatori e utenti di Ubuntu (e non solo). È l'evento che ha sostituito gli Ubuntu Developer Summit, organizzati da Canonical.
UbuCon è un'opportunità unica per incontrare di persona le tantissime persone che in un modo o nell'altro partecipano allo sviluppo e al supporto di Ubuntu. Ricordo che Ubuntu (anche se fondata dal benemerito dittatore Sudafricano Mark Shuttleworth) è un progetto nato in Europa (la Gran Bretagna ne fa ancora parte, almeno geograficamente ;-) ), e in Europa le comunità di volontari ubunteri sono particolarmente attive.

Per me sarà l'occasione di rivedere alcuni amici che hanno partecipato all'avventura degli Ubuntu Phone Insiders, e conoscere di persona molte delle persone che ho solo visto o letto su Internet. È sempre un'esperienza piacevole parlare a quattrocchi con chi si è abituati a leggere sulle mail o sui blog, perché il contatto umano e l'esperienza diretta valgono più di un milione di parole.

L'evento si tiene a Xixòn (Gijon in spagnolo), che è la città di Marcos Costales, contact della Comunità Spagnola di Ubuntu, e a cui si deve l'organizzazione di questa edizione di UbuCon Europe. Marcos, che conosco dai tempi degli Insiders, è una delle persone più attive nell'ambito di Ubuntu, e anche sviluppatore di uno dei più bei programmi per Ubuntu Phone: uNav. Devo proprio a Marcos la mia partecipazione: è stato lui che mi ha spinto a lasciare la mia pigrizia sul divano e prenotare il volo per Oviedo.

La scaletta dell'evento è molto ricca: nel momento migliore (o peggiore, visto che il sottoscritto non è dato il dono dell'ubuquità) ci sono ben quattro talk diversi contemporaneamente. Per me sarà un problema decidere quale seguire, sono così tante le cose da sapere e imparare! Alla fine credo mi dovrò focalizzare sugli argomenti che già seguo (poco) nell'ambito della comunità, evitando di impelagarmi in altri nuovi progetti.

Il mio intervento


Il mio talk sarà sabato mattina, e parlerò di "Social Media for Open Source Communities". Dello stesso argomento ho parlato (slide su Slideshare) anche al recente MERGE-it 2018, ma questo talk sarà più ampio, perché parlerò anche di strategie per i social media. Ma soprattutto sarà il mio primo talk in inglese: Sant'Aldo Biscardi, protettore degli Italiani che parlano male inglese, aiutami tu!

Per me si tratta di una bella sfida, spero di riuscire a non dire troppe cavolate, ma del resto l'argomento social è decisamente sottovalutato in molte comunità, quando invece il contatto diretto che consentono i canali sociali è importantissimo sia in fase di promozione, che per il supporto ai propri "clienti".

Resoconto e live tweeting


I talk e i workshop si sviluppano da venerdì 26 a domenica 28 Aprile, io cercherò di presenziare a quanti più possibile... ma non più di uno alla volta! Purtroppo non è previsto un web streaming, e neanche riprese video dei talk (anche se ho proposto a Marcos una soluzione che forse permetterà di coprire una parte dei talk).

Vi darò un resoconto dell'evento su questo blog, ma soprattutto seguirò l'evento anche con un live tweeting su Twitter, quindi seguitemi lì per essere aggiornati in tempo reale! :-)

Si tratta della mia prima volta a un evento internazionale dedicato al mondo FLOSS, e davvero non vedo l'ora!
il 22 April 2018 16.39

06 April 2018

Sabato 24 marzo si è svolto a Torino il primo MERGE-it, il primo incontro delle Comunità italiane che si dedicano all’Open Source, Open Data e Open Culture. Le comunità presenti erano praticamente tutte (quelle che conosco): ubuntu-it, Debian, LibreItalia (LibreOffice), Mozilla Italia, Wikimedia (Wikipedia), OpenStreetMap, GFOSS.it, Spaghetti Open Data e ovviamente ILS, organizzatore dell’evento.
L’evento si è svolto presso la Corte Interrata del Politecnico di Torino, una gran bella location, con una serie di aule disposte sui due lati di uno spazio verde, nelle quali ogni comunità ha trovato il proprio spazio.


Accoglienza 


Per l’accoglienza, c’era un banchetto all’entrata, non era richiesta la registrazione, ma si potevano acquistare le magliette e gadget dell’evento. Ubuntu-it era in un'aula assieme ai cugini di Debian Italia, che ormai conosciamo da anni, condividendo molto di più che pacchetti “.deb”.

Il programma della giornata 

In ogni aula si svolgevano talk delle comunità, e alcune avevano colto l’occasione per fare la propria assemblea oppure discutere delle prossime azioni tutti assieme.

Nella sala ubuntu-it, i lavori sono iniziati con un fuori programma: la presentazione delle “vending machine” utilizzate dalla Regione Lombardia per il referendum sull’autonomia, e donate poi alle scuole Lombarde. La particolarità di questi computer consiste nel fatto che montano il Ubuntu, e sono un ottimo metodo perché l’open source entri nei cuori dei professori. Ci riusciremo solo se li sapremo accompagnare nel percorso di apprendimento.

Per quanto più attinente alla comunità ubuntu-it, la relazione di Mattia Rizzolo sui lavori del Consiglio della Comunità è stata l’occasione per fare un checkup sullo stato di salute della comunità, che ha visto negli ultimi anni il diradarsi di contributi e membri. L’idea comune emersa è quella di restringere il campo d’azione, abbandonando i progetti che non riusciamo più a seguire, e concentrandoci su quello che si può fare al meglio con le poche risorse a disposizione.

Pietro Albini ha poi fatto una relazione sui numerosi lavori che il Gruppo Sistemisti ha portato avanti per recuperare la conoscenza perduta dopo la dipartita di alcuni membri della Comunità, e per aggiornare il parco macchine su cui girano le risorse web della comunità italiana di Ubuntu.

Foto di @faffa42 su Twitter

E’ stato quindi il turno del sottoscritto. Davanti a una discreta folla di curiosi e appassionati (vedi foto), ho ripercorso la storia di Ubuntu Touch (Ubuntu Phone), dalle meravigliose premesse di “one system to rule them all” del 2011, all’abbandono dello sviluppo da parte di Canonical del 2017, alla concreta realtà di Ubports del 2018, dove una piccola comunità di appassionati, supportati da un paio di sponsor, ancora persegue l’obiettivo di un dispositivo basato su Linux e Software Libero e rispettoso della privacy. Ubports sviluppa Ubuntu Touch su ben quattro diversi dispositivi (One Plus One, Fairphone 2, Nexus 5 e BQ M10), e supporta tutti i “vecchi” dispositivi rilasciati quando lo sviluppo era condotto da Canonical (LG Nexus 4, BQ E4.5 e E5, Meizu MX4 e PRO 5).


Mi fa piacere segnalare l’impegno originale di Smoose, che ho contattato in fase di preparazione del talk. Si tratta di piccola azienda Olandese che si dedica allo supporto con solo Software Libero di realtà olandesi, e che impiega ben il 10% delle proprie persone al supporto dello sviluppo e della promozione di Ubuntu Touch.
Ho infine tracciato il futuro prossimo di Ubports, con la nascente fondazione di diritto tedesco, sul modello di Document Foundation, che darà ulteriori certezze a chi si dedica al progetto. Per Ubuntu Touch, riposti nel cassetto i sogni di dominio del mondo, si tratta di risalire la lunga ed erta china che deve affrontare un progetto open che può contare sulle forze del volontariato e poco altro. La strada è difficile e densa di incognite, ma forse è proprio questo il motivo che più mi appassiona.
Dopo di me ha parlato il grande Marco Trevisan, che ha offerto il punto di vista “aziendale” dello sviluppo di Ubuntu. Marco infatti lavora per Canonical, e ha accesso a molti aspetti dello sviluppo che dall’esterno possono sfuggire. Interessante quindi la sua testimonianza della collaborazione Ubuntu/Fedora (Canonical/Red Hat) per il supporto ai monitor HDPI per GNOME (che purtroppo non è ancora stata implementata). Dall’anno scorso, dopo l’abbandono di Unity, Ubuntu utilizza una versione di GNOME Shell leggermente modificata. In quest’ottica, la collaborazione con GNOME sarà sempre più importante. Tra un talk e l’altro intanto era arrivata pausa pranzo e ne abbiamo approfittato per un abbondante pranzo in un ristorante nei dintorni.
La pausa pranzo è durata anche più del previsto (burp!), e il pomeriggio è volato via velocissimo. Prima il talk di Jeremie Tamburini su come contribuire alla documentazione di Ubuntu: è molto più facile di quel che si crede!

Poi, ancora un talk del sottoscritto, con un talk su come sia importante per tutte le comunità aumentare il social engagement sui social media. I social media fanno parte della vita quotidiana delle persone che popolano il web, ed è quindi fondamentale per le comunità trasmettere il loro messaggio su tutti i differenti canali a disposizione: Facebook, Twitter, (e addirittura) Google Plus sono un ottimo veicolo per far conoscere le proprie attività, differenziando messaggi e frequenza a seconda del mezzo.
Capisco le perplessità sui social media da chi frequenta il mondo open: Facebook e le altre piattaforme sono chiuse, e pongono seri problemi di privacy. Nonostante questo sono anche utilizzate ogni giorno da milioni di persone e, per molte di queste, coincidono con la loro visione di Internet. Fare un passo nella direzione di queste persone, creando delle opportunità di contatto sui social media, è uno strumento utile per introdurle nel mondo open source.

Dopo il talk, mentre stavo andando a prendere un caffè alle macchinette, sono stato bloccato più volte nei corridoi da varie persone, raccogliendo diversi contatti e qualche possibile iniziativa per ubuntu-it. Per contro, ho così perso gli altri talk del pomeriggio, e neanche sono riuscito a passare a salutare le persone delle altre Comunità, parecchie delle quali amiche. Un peccato! Ecco, se devo trovare una pecca a MERGE-it, è mancato un appuntamento in cui trovarsi con gli altri. Sarebbe stato bellissimo un keynote iniziale comune e anche un pranzo conviviale, magari sfruttando un servizio di catering. Ma sarebbe bastata una pizzata da asporto come fanno gli amici del LUG di Pordenone.

Concludendo

Mentre il Software Libero prende piede sempre più, e le iniziative si moltiplicano, è sempre un piacere rivedere qualche vecchia conoscenza, e conoscere qualche faccia nuova - pur nel limitato volgere di un giorno. MERGE-it ha offerto tutto questo, e con qualche limatura organizzativa (vedi sopra), lo si può rendere un appuntamento fisso, ampliando il coinvolgimento del pubblico generale e degli studenti del Politecnico.

il 06 April 2018 07.37

04 April 2018

Categoria: 

Documentazione wiki

Foto originale: London Eye by Paul Daniell

 

Ecco le novità introdotte nella documentazione della comunità italiana tra gennaio e marzo 2018.

Portale Ambiente Grafico

 

Portale Amministrazione Sistema

 

Portale Hardware

 

Portale Programmazione

  • Checkinstall: utilizzare lo strumento CheckInstall per creare pacchetti .deb

  • CambiareShell: abilitare le shell più comunemente usate in Ubuntu.

 

Portale Giochi

 

Portale Multimedia

  • Audio/FFmpeg: programma a riga di comando per la codifica/decodifica di formati video e audio.

 

Per maggioro informazioni, consulta la pagina Lavoro Svolto/2018.

 


A cura del Gruppo Doc
Vuoi contribuire al Wiki? Comincia subito!

il 04 April 2018 06.11

21 March 2018


Per la prima volta nella storia (esclusa la fantastica ma limitata esperienza della DUCC-IT) le comunità italiane attive nel FLOSS, Cultura Libera e Open Data si incontrano tutte assieme, tutte nello stesso posto e nello stesso giorno.

Accadrà il 24 marzo prossimo, in occasione di MERGE-it, un evento organizzato da Italian Linux Society, in collaborazione con le migliori comunità open italiane, tra cui: LibreItalia (LibreOffice), Spaghetti Open Data, Industria Italiana Software Libero, Wikimedia (Wikipedia), Mozilla Italia (Firefox), GFOSS.it e ovviamente ubuntu-it, la magnifica comunità italiana di Ubuntu.


Il luogo dell'evento è il Politecnico di Torino, presso la Corte Interrata, accessibile da Via Castelfidardo oppure Via Pier Carlo Boggio.

Si tratta di un evento unico, il primo del suo genere in Italia, organizzato grazie alla volontà comune di trovarsi e ritrovarsi, per scambiarsi opinioni ed esperienze e soprattutto imparare dagli altri. Sono convinto che l'aspetto migliore del Software Libero riguarda proprio la condivisione e lo scambio di conoscenze ed esperienze. Quando io so una cosa e te la racconto, e tu ne sai un'altra e me la racconti, alla fine della giornata torniamo a casa con il doppio delle cose che sapevamo la mattina, e con la soddisfazione di aver contribuito a migliorare quel piccolo pezzo di mondo che ci sta attorno.

Il programma è davvero molto articolato e ricco, impossibile elencare qui tutti gli appuntamenti. Il sottoscritto sarà soprattutto nei pressi della sala dove si terranno i talk della Comunità ubuntu-it, ma farò sicuramente un giro anche nelle altre aule. Non ho ancora deciso quali, perché l'imbarazzo della scelta regna sovrano!

Per il sottoscritto, MERGE-it è anche un modo per ritrovare dei giovani amici che non vedo da molto tempo, come per esempio Giulio e Riccardo, e anche quelle vecchie volpi del software libero come Roberto "madbob" e Daniele "MTE90".

Sono molto curioso di sentire le esperienze di chi parteciperà, e spero anche qualcuno verrà a sentire quel poco che so su Ubuntu Touch e Social Media.

Chi vuole partecipare a MERGE-it basta che si presenti all'ingresso: nessun costo per partecipare, nessuna preiscrizione.


il 21 March 2018 09.26

24 February 2018

Introduction

If you are developing a brand new project on your VirtualBox instance, it is very useful to use the developer tools and the device toolbar on Chrome (or the Responsive Design Mode on Safari).

But is of course much more useful to perform real tests on real devices.

The Remote Debugging Android Devices is a great opportunity for this.

In the rest of the article, I am assuming that:

  • You are working on High Sierra;
  • You are going to show your project on an Android 4.4+ device;
  • You are running a Linux server (Ubuntu 17.10 in the example) on your VirtualBox instance;
  • The development domain is mylocaldomain.local provided by an Apache2 instance.

Set up

The first part of the setup, required to detect the Android device, is perfectly described in the Remote Debugging Android Devices official guide.

To summarize:

  1. Enable the Developer Options on your Android device;
  2. From the revealed menu, select Enable USB Debugging;
  3. Now, on your computer, open Chrome and its Developer Tools (generally ⌘ ⌥ I);
  4. Then, in the same bar as “Console”, “Elements”, “Sources”, .. , on the right, click the  ⋮ symbol and select More tools > Remote devices.
  5. Be sure to confirm the dialog on your phone to authorize the computer to perform this action.

Custom domain / Virtual hosts configuration

In my case, I had to comment out everything else that was pointing to my custom domain in the /etc/hosts file, both in the host and guest machine, otherwise a random domain pointing to my 127.0.0.1 address was selected.
So the /etc/hosts looks like:

127.0.0.1 localhost 127.0.0.1 mylocaldomain.local

Just to be sure, I have a2dissited all the other virtual hosts, too, from the Apache enabled sites..but you can try without this step.

“Server” Port forwarding

The VirtualBox port forwarding will contain something like a rule similar to the following one:

Name Protocol Host IP Host Port Guest IP Guest Port
Apache TCP 8080 80

“Client” Port forwarding

  1. Go to the Settings menu and be sure Discover USB devices checkbox is enabled;
  2. Now, add a rule in the (enabled) port forwarding section like the following one:
    localhost:4444 mylocaldomain.local:8080
  3. Go back to the device section.

Test

You can now type http://localhost:4444 on the New Tab section, and the website should be opened in your Android device.

The post Remote Debugging Android Devices with VirtualBox through port forwarding appeared first on L.S..

il 24 February 2018 08.40

09 February 2018


Un po' di storia

Qualche secolo informatico fa, nel 2001, una nuova distribuzione commerciale (dove per commerciale significa "a pagamento") apparve nell'arena Linux: Lindows. Dopo qualche bega legale e 20 milioni di dollari venne poi rinominata in Linspire. La distribuzione era una creatura del discusso imprenditore americano Michael Robertson, e aveva delle caratteristiche peculiari che la rendevano molto interessante: massima compatibilità con i principali programmi Windows (grazie all'uso di Wine), e facilità di installazione e aggiornamento grazie al software "Click and Run" (CNR). Voleva essere un ponte per traghettare gli utenti da Windows a Linux.

L'approccio estremamente pragmatico della distribuzione, che mescolava software libero con altro proprietario, attirò parecchie critiche, tanto che Richard Stallman arrivò a dire che "passare da Windows a Linspire non porta alla libertà ma a un padrone diverso".

Nonostante le critiche, la distribuzione ebbe un discreto successo, specie negli USA. Sull'onda del successo, Linspire finanziò altri progetti open source, e anche eventi molto importanti. Nel 2007 arrivò a stringere un accordo con Canonical per utilizzare CNR su Ubuntu (che mai si concretizzò) e un altro accordo con Microsoft per favorire l'interoperabilità con Windows.

Nonostante questo, Linspire si perse poi nelle spire del tempo, tra acquisizioni e cambi di management.

Il ritorno (eh?)

Qualche giorno fa ho letto della rinascita di Linspire (e della sua gemella Freespire). La forumula di vendita è pressoché uguale: Linspire costa 80 $ mentre Freespire è gratuita. La differenza di prezzo sta nel supporto telefonico per un anno, e nell'uso legale dei codec multimediali - sembra che in qualche parte del Mondo sia ancora un reato perseguito ascoltare MP3 senza possederne la licenza.

Lispire adesso è sviluppata da PC/OpenSystems LLC, una piccola azienda di Franklinton, North Carolina. La stessa azienda rilascia anche Black Lab Linux, una distribuzione - che non conoscevo - basata su Ubuntu.

Zombie (a)Live

Incuriosito da questa apparizione, ho deciso di provare sul campo Linspire 7.0. I 30 $ di prezzo minimo (senza supporto) mi hanno fatto desistere. Ho quindi ripiegato su Freespire 3.0 (gratuita), atteso pazientemente il download degli 1,5 GB, formattata una chiavetta USB e avviata la versione "live".


Il desktop di Freespire 3.0 si fa notare per la barra posizionata in basso, particolarmente grande, con una "f" sulla destra. Il tutto ricorda molto Windows 7, che è forse l'effetto voluto.


La scelta delle icone mi crea un certo disagio: sembrano create negli anni '90, senza un minimo di criterio e omogeneità.

Per questa prova "live" uso un portatile HP, su cui è installato Ubuntu 16.04 con hardware del tutto standard, ma il wi-fi non funziona. Brutto segnale, sintomo di carenza nei test pre-rilascio.

Facendo clic sulla "f" appare il menu principale, si tratta del menu Whisker, presente anche in Xubuntu. E qui cominciano i primi sospetti "Vuoi vedere che...".

Le applicazioni preinstallate sono:
  • browser Firefox Quantum
  • e-mail client Geary 
  • Abiword e Gnumeric per documenti e fogli di calcolo
  • Parole Media Player per i video
  • Pinta per disegno e fotoritocco
  • Audacious per la musica
e poco altro. A parte Firefox, la scelta delle applicazioni lascia molto perplessi, ce ne sono altre molto più complete di queste!

Una sorpresa divertente che conferma i sospetti quando faccio clic sul salvagente, icona di "Help".


"Signore e signori, ecco a voi Stanislao... ehr... Xubuntu, in uno dei suoi più riusciti travestimenti!"
Mi viene da ridere, o piangere. Tanto clamore e articoli per una Xubuntu camuffata, roba che un qualsiasi LUG può mettere insieme in un pomeriggio. Anche "About" di XFCE conferma il delitto.


Apro qualche programma a caso, giusto per vedere di cosa si tratta e noto delle incongruenze nel tema delle finestre tra i programmi, basati su librerie diverse.


Notate la differenza tra i pulsanti delle finestre in alto a destra del tool di Backup e Thunar?

La prova termina sostanzialmente qui, Xubuntu 16.04 la conosco, l'ho già installata su uno dei PC di casa, e funziona bene anche senza questi baffi posticci.

Considerazioni finali

Freespire differisce da Linspire per alcune applicazioni fondamentali: Abiword/Gnumeric (Linspire ha LibreOffice), Geary (Thunderbird), Firefox (Chrome), Audacious (Rhythmbox), Parole (VLC) che ne fanno una versione impoverita della sorella. Credo sia un modo per spingere le persone a comprare Linspire (you can't be serious!!), ma si tratta di una scelta discutibile per almeno un paio di motivi. Primo: tutti i programmi disponibili su Linspire sono gratuiti, e quindi appunto NON è una questione di prezzo. In più, gli sviluppatori devono sobbarcarsi la fatica di mantenere due distribuzioni diverse, ognuna con diversi tempi di sviluppo, e diversi bug da correggere.

Freespire non ha niente a che vedere con Linspire/Freespire delle origini. A tutti gli effetti è una Xubuntu 16.04 aggiornata (alcuni pacchetti sono più recenti) e personalizzata, ma neanche tanto bene: qualche scritta Xubuntu appare qua e là (vedi sopra), la grafica è a volte incoerente (vedi i menu delle finestre) e la scelta delle applicazioni preinstallate è avvilente.

Distrowatch - che è un sito molto più serio di questo blog - ha fatto una bella recensione (in inglese) di Freespire 3.0 e Linspire 7.0, che vi invito a leggere, se avete il gusto sadico di ravanare nel torbido.

Freespire è pensata per chi si avvicina a Linux, ma chi si avvicina a Linux ha già moltissime altre distribuzioni migliori tra cui scegliere, le prime tre che mi vengono in mente: Xubuntu, Linux Mint, ZorinOS.

Auguro la miglior fortuna agli sviluppatori di Linspire/Freespire: ne avranno bisogno.

L'immagine del post "Zombie Penguin" è di Olga Karvitska.
il 09 February 2018 11.15

07 February 2018

Chinotto omeopatico

Dario Cavedon (iced)

 

Anni fa feci un post sul "Mistero del Chinotto", in cui disquisivo sulla composizione delle bevande che si pregiano di tale denominazione (o sue varianti tronche). Il dubbio riguardava la presunta presenza di vero chinotto nella bevanda definita "chinotto".

Ho scoperto che un'azienda è si è preocuppata di segnalarne la percentuale. Da tenere presente che una qualsiasi aranciata, per fregiarsi della denominazione "aranciata" deve avere almeno il 12% di succo di arancia.

Nel riconoscere il merito a questa eccezione, dove altre aziende più prestigiose che si pregiano di prestigiosi presidi, non posso che apprendere con estremo sconforto che si tratta di una dose esigua: 0,05%, pari a 1 cucchiano da tè per 10 litri.
il 07 February 2018 15.20

25 January 2018

Di corsa

Dario Cavedon (iced)


Pochi sanno che da qualche mese ho iniziato a correre. All'inizio era per correr dietro a mia moglie, contagiata dal virus benefico del running. Poi ho preso l'impegno sul serio - come poche volte mi capita - vista anche l'impellente necessità di una vita più sana, dopo almeno vent'anni passati tra divano e scrivania del computer.

Per chi non corre è difficile capire le motivazioni dei runner. Direi una difficoltà simile la incontra chi usa Windows (=divano) e non ha mai usato Linux (=corsa). Sdraiati sul divano, è difficile capire cosa spinge una persona apparentemente normale, ad alzarsi il mattino presto (o la sera tardi) per andare fuori a correre, quando è troppo freddo, oppure troppo caldo, oppure potrebbe piovere da un momento all'altro come hanno detto in TV. Del resto chi è seduto sul suo Sistema Operativo Unico fa fatica a capire cosa spinge una persona apparentemente normale ad utilizzare un sistema totalmente diverso, che tocca imparare tutto un'altra volta e che (a volte) bisogna smanettare per farlo funzionare bene.

Beh, un Motivo per correre (e per usare Linux) non c'è. Uno solo non c'è, ce ne sono qualche migliaio. Se finora vi ho annoiato spiegando perché è cosa buona e giusta usare Linux (...e continuerò a farlo!), da oggi vi annoierò anche per spiegarvi perché è cosa buona e giusta mettersi un paio di scarpe da ginnastica e uscire a correre.

Sono sicuro che capirete.
il 25 January 2018 07.56

09 January 2018

Google Hash Code 2018 - Abruzzo

Ciao! 🙂
Per la seconda volta in Abruzzo ci sarà il Google Hash Code 2018, una competizione per gli informatici in cui si sfideranno proponendo la propria soluzione per una traccia che verrà rilasciata il giorno stesso della competizione.
Se sei curioso di sapere in maniera dettagliata i vari aspetti dell’evento o vuoi sapere come registrarti… continua a leggere!

Cos’è il Google Hash Code 2018?

Hash Code 2018 è una competizione a squadre organizzata da Google e che riguarderà principalmente la programmazione.
Quello che si dovrà fare è formare o scegliere un team, scegliere un linguaggio di programmazione da adottare con il tuo team e risolvere tutti insieme il problema di vita reale che sarà scritto e rilasciato da Google stessa il giorno della competizione.

La soluzione, una volta scritta in forma di codice, dovrà essere inviata sulla relativa piattaforma che vi permetterà di accumulare punti per conquistare un posto nella finale.
Fino a quando non scade il tempo, sarà ovviamente possibile inviare più di una soluzione potendo quindi accumulare sempre più punti.

Il tabellone dei punteggi si aggiornerà in tempo reale e saprai subito (non appena invii) quanti punti avrete totalizzato rispetto ad un altro team locale e globale.
I migliori team avranno modo di sostenere il round finale presso la sede GoogleDublino concorrendo anche per vincere spettacolari premi messi in palio. La maggior parte delle spese di viaggio, previa richiesta, potranno essere rimborsate.

Per quanto riguarda i premi abbiamo…

Round di qualificazione:

  • Gadget per i partecipanti iscritti al nostro HUB L’Aquila Developers

Round finale (ufficio Google a Dublino):

  • Prodotti relativi a Google per i migliori 3 team di valore minimo di 190€

Inoltre, alla fine del round finale verranno sorteggiati altri vincitori del round finale o di qualificazione e saranno premiati con prodotti relativi a Google per un valore tra i 10€ e i 100€.

E tu, sei pronto per la sfida? 🙂

Informazioni iscrizioni e luogo

Evento annullato a causa di mancato raggiungimento delle iscrizioni minime richieste.

Come iscriversi all’evento

  1. Entrare in QUESTA PAGINA per effettuare l’iscrizione generale all’evento compilando tutti i dati richiesti.
  2. Una volta revisionato e inviato il modulo, bisogna attendere che venga attivato il proprio profilo entro le 48 ore.
    Al fine di accelerare la procedura, vi consiglio di trovare persone per formare un team oppure cercarne uno.
    Un team può essere composto da minimo 2 persone e massimo 4 persone.
  3. Ricevuta l’email di avvenuta attivazione del proprio profilo, create il vostro team o unitevi ad uno esistente tramite link inviatovi da altri.
  4. [Obbligatorio] Un membro del team (che sarà di riferimento durante l’evento) dovrà recarsi nella sezione Hub (optional) in basso di QUESTA PAGINA e selezionare Italy nel primo riquadro e L’Aquila Developers nel secondo.

Una volta fatto ciò, siete pronti e, vi manderò ulteriori istruzioni da seguire il giorno della competizione.

 

Iscrivetevi e invitate tutti i vostri amici, colleghi e compagni di classe che sono interessati a partecipare!!
Tutti sono utili e nessuno è escluso 🙂

FAQ

  • Devi aver compiuto 18 anni entro il 1° Marzo.
  • Vige la regola del Fair Play, dopotutto ci si ritrova anche per passare una bella serata in compagnia 🙂
  • La soluzione finale verrà giudicata da una giuria di ingegneri Google! Non sarà possibile avere preferenze o meno.
    Tutti i dubbi verranno chiariti pubblicamente durante l’evento.
  • Sarà permesso di poter lasciare la sede per continuare a lavorare da casa. In sede è richiesta la presenza di almeno DUE membri del team. Pena esclusione totale dall’evento.
  • Per partecipare all’evento, dovrai portare il tuo computer portatile ed eventualmente, una ciabatta elettrica.
    Sarai responsabile dei tuoi oggetti così come per eventuali danneggiamenti e/o furti.
  • Sei libero di portare cibo e bevande mantenendo un ambiente pulito ed evitando l’uso di stupefacenti e/o alcool.
    Al fine di garantire ordine pubblico, sarà presente la squadra di emergenza che provvederà alla sicurezza e ai controlli durante l’evento.

Patrocinio

Sei un Ente e vorresti patrocinare l’evento Google Hash Code 2018? Fai clic su QUESTA PAGINA per inviare una richiesta.

Univaq Logo          Disim Logo


Sponsor

Sei un’azienda, associazione, etc, e vorresti sponsorizzare l’evento Google Hash Code 2018? Fai clic su QUESTA PAGINA per inviare una richiesta.


Stampa

Sei un giornalista o redazione e vorresti maggiori informazioni, pubblicare l’evento sulle tue piattaforme, fare interviste e simili? Fai clic su QUESTO LINK e vi risponderò in breve tempo.

L'articolo Google Hash Code 2018 – Abruzzo sembra essere il primo su Mirko Pizii | Grab The Penguin.

il 09 January 2018 13.55

05 January 2018

Vista frontale scatola Vidonn F1

Introduzione

Ciao! 🙂
In questo articolo andrò ad analizzare ogni singolo aspetto di una cuffia diversa dalle altre ossia Vidonn F1.
Vidonn F1 è una cuffia che sfrutta la conduzione ossea e che quindi potrai ascoltare l’audio attraverso le ossa del tuo cranio.
Ma vediamo in dettaglio come funziona la conduzione ossea e perché si dovrebbe privilegiare l’uso di questa tipologia di cuffie.

Conduzione Ossea: Descrizione e Perché Privilegiare

Come già anticipato, la conduzione ossea è una tecnologia che ti permette di ascoltare qualsiasi fonte audio attraverso le tue ossa.
Questo tipo di trasmissione viene effettuata in maniera del tutto automatica e a bassa latenza dalla cuffia Vidonn F1 in questo modo:

  1. Ricezione fonte audio (nel nostro caso da un dispositivo via Bluetooth)
  2. Traduzione fonte sonora in vibrazioni attraverso il componente di trasduzione ossea
  3. Le vibrazioni “viaggiano” attraverso le ossa per arrivare al nervo uditivo
  4. Il nervo uditivo convertirà la vibrazione in informazioni elettriche che arriveranno dritti nel nostro cervello.

Per quanto riguarda la raccomandazione, vi suggerisco di usare questa tipologia di cuffie nel caso siate degli sportivi, autisti, persone affette da disabilità come non vedenti, in quanto sarete in grado di ascoltare sia la fonte audio delle cuffie che l’ambiente che vi circonda, quindi, la cuffia rispetta il codice della strada.

Nota: La cuffia Vidonn F1 permette di ascoltare qualsiasi fonte audio collegabile via Bluetooth come i telefoni e inoltre, sarete in grado di poter effettuare chiamate durante la guida grazie anche al microfono incorporato nella cuffia.

Unboxing Vidonn F1

Vista generale del contenuto della scatola Vidonn F1

Partendo da sinistra abbiamo:

  • Libretto di certificazione e garanzia
  • Cavo USB-Micro USB per ricaricare il dispositivo
  • Tappi marchiati 3M per isolarsi dal suono ambientale (DA USARE SOLO IN AMBIENTI SICURI)
  • Manuale d’uso della cuffia Vidonn F1
  • Cuffia Vidonn F1

Caratteristiche Tecniche

  • Bluetooth: versione 4.1 fino a 10 metri
  • Risposta in frequenza: 20Hz – 20kHz
  • Autonomia in standby: 7 giorni
  • Autonomia d’ascolto: 6 ore
  • Tempo per il caricamento della batteria: 1 ora e 30 minuti
  • Grado di protezione per acqua e sudore: IP55
  • Espansione dei bassi con settaggio EQ
  • Microfono con soppressione CVC dual noise
  • Suono stereo dinamico
  • Riduzione della dispersione audio con LeakSlayer
  • Materiale: lega di Titanio, TPU
  • Peso: 38 grammi
  • Garanzia 2 anni

Design e Comfort

Vista laterale cuffia Vidonn F1

La cuffia si presenta esteticamente molto bene e i materiali di costruzione sono molto solidi al tatto.
I materiali utilizzati sono essenzialmente due di cui troviamo plastica rigida all’esterno e all’interno dell’archetto vi è la lega di titanio in modo da garantire robustezza, leggerezza e resistenza alla rottura dovuta alla torsione della cuffia.

Sotto uso intenso la cuffia non provoca alcun tipo di bruciore, surriscaldamento o fastidio ed è ben tollerato dalla pelle umana anche in caso di sudore intenso.
In caso di sudore, si può pulirlo con un panno morbido e asciutto e torna come nuovo.
Grazie alla certificazione IP55 la cuffia garantisce il corretto funzionamento anche in caso di pioggia leggera e alla polvere.

Per quanto riguarda la progettazione, il design permette di indossare comodamente questo dispositivo assieme ai caschi di protezione come quelli lavorativi o casco semi integrale.
Per poterli utilizzare, basta indossarli con i trasduttori (le due parti rotonde/colorate) che fanno presa sulle ossa davanti l’orecchio con le aste che si adagiano comodamente sopra le vostre orecchie. Infine, accendere la cuffia con il tasto Volume + sulla destra.

Funzionalità dei tasti

Sulla cuffia Vidonn F1 troviamo tre tasti tra cui: Volume su (+), Volume giù (-), Tasto multifunzione.
Il tasto Volume su permette di alzare il volume audio o, se premuto a lungo, di accendere la cuffia.
Il tasto Volume giù invece, come dice il nome, di abbassare il volume audio.

Se si tiene premuto il tasto Volume su anche dopo aver l’avvertimento sonoro di accensione, si entrerà nella fase di accoppiamento e potrete quindi collegarvi con il vostro telefono o computer attivando il bluetooth e selezionando il dispositivo Vidonn F1.

Il tasto più importante e usato più spesso è quello multifunzione e abbiamo i seguenti casi:

  • Riproduzione/pausa musica: Premere una volta
  • Passare alla canzone successiva: Premere due volte consecutivamente mentre la musica è in riproduzione
  • Rispondere/terminare una chiamata: Premere una volta e si sentirà un avvertimento sonoro
  • Rifiutare una chiamata: Tenere premuto per 3 secondi e si sentirà un avvertimento sonoro
  • Ripristino impostazioni di fabbrica: Tenere premuto Volume giù (-) insieme al tasto multifunzione

Qualità audio e durata della batteria

Stressando la cuffia per diversi giorni e con qualsiasi genere musicale posso dire che la cuffia si è comportata abbastanza bene mostrando quindi stabilità ed affidabilità.
Durante i test ho avuto la percezione che venga effettuata una equalizzazione automatica, soprattutto quando nel caso di boost dei bassi.
Con questa sorta di equalizzazione la fonte audio veniva normalizzata e, nonostante i bassi molto sparati (se fosse stato necessario), l’audio non risultava in nessun modo gracchiante o con presenza di ronzii.

Le ore di autonomia dichiarati sono 6 dopo diversi cicli di ricarica e, mio malgrado ho riscontrato che al massimo volume (che vi sconsiglio profondamente per evitare un possibile danneggiamento all’udito), rispetto ai concorrenti, tende ad essere scarico raggiunte le 3 ore circa.
Bene ma non benissimo!

Conclusioni

Dopo i numerosi test posso dire che la cuffia Vidonn F1 si è comportata abbastanza bene anche se ci sono piccoli dettagli da migliorare come aggiungere altre funzionalità al tasto multifunzione e ovviamente migliorare la resa audio che, seppur banale, nei 20Hz dichiarati, non percepisco alcun suono rispetto ai prodotti concorrenti.

Tutto sommato sono soddisfatto e per il prezzo che viene offerto è una valida ed ottima alternativa, anche per sperimentare un po’ il sistema della conduzione ossea.

Dove acquistare

Le cuffie Vidonn F1 possono essere acquistati dai rivenditori autorizzati di IperGo o semplicemente da Amazon al modico prezzo di 79,97€

E voi, cosa ne pensate? Per qualsiasi domanda, dubbio o problema, sentitevi liberi di commentare sotto e sarò felice di rispondervi.

L'articolo Recensione cuffia Vidonn F1 sembra essere il primo su Mirko Pizii | Grab The Penguin.

il 05 January 2018 17.13

16 December 2017

There is a wonderful blog post from PayPal in which it is introduced a very easy way to set a payee in your express checkout flow, but sadly there are some open issues with that.

Here the same is provided using the PayPal PHP SDK.

Please remember to change some values in order to test it (every file has its own comment to tell which variable to change). Also, obviously, the credentials should be stored in a secure way when in a production environment.

You can find the complete code, as usual, on my github profile.

The post Setting a different receiver (payee) for PayPal payments using the PayPal PHP SDK with Express Checkout appeared first on L.S..

il 16 December 2017 13.05

28 November 2017

At fleetster we have our own instance of Gitlab and we rely a lot on Gitlab CI. Also our designers and QA guys use (and love) it, thanks to its advanced features.

Gitlab CI is a very powerful system of Continuous Integration, with a lot of different features, and with every new releases, new features land. It has a very rich technical documentation, but it lacks a generic introduction for whom want to use it in an already existing setup. A designer or a tester doesn’t need to know how to autoscale it with Kubernetes or the difference between an image or a service.

But still, he needs to know what is a pipeline, and how to see a branch deployed to an environment. In this article therefore I will try to cover as many features as possible, highlighting how the end users can enjoy them; in the last months I explained such features to some members of our team, also developers: not everyone knows what Continuous Integration is or has used Gitlab CI in a previous job.

If you want to know why Continuous Integration is important I suggest to read this article, while for finding the reasons for using Gitlab CI specifically, I leave the job to Gitlab.com itself.

Introduction

Every time a developer changes some code he saves his changes in a commit. He can then push that commit to Gitlab, so other developers can review the code.

Gitlab will also start some work on that commit, if the Gitlab CI has been configured. This work is executed by a runner. A runner is basically a server (it can be a lot of different things, also your PC, but we can simplify it as a server) that executes instructions listed in the .gitlab-ci.yml file, and reports the result back to Gitlab itself, which will show it in his graphical interface.

When a developer has finished implementing a new feature or a bugfix (activity that usual requires multiple commits), can open a merge request, where other member of the team can comment on the code and on the implementation.

As we will see, also designers and testers can (and really should!) join this process, giving feedbacks and suggesting improvements, especially thanks to two features of Gitlab CI: environments and artifacts.

Pipelines

Every commit that is pushed to Gitlab generates a pipeline attached to that commit. If multiple commits are pushed together the pipeline will be created only for the last of them. A pipeline is a collection of jobs split in different stages.

All the jobs in the same stage run in concurrency (if there are enough runners) and the next stage begins only if all the jobs from the previous stage have finished with success.

As soon as a job fails, the entire pipeline fails. There is an exception for this, as we will see below: if a job is marked as manual, then a failure will not make the pipeline fails.

The stages are just a logic division between batches of jobs, where doesn’t make sense to execute next jobs if the previous failed. We can have a build stage, where all the jobs to build the application are executed, and a deploy stage, where the build application is deployed. Doesn’t make much sense to deploy something that failed to build, does it?

Every job shouldn’t have any dependency with any other job in the same stage, while they can expect results by jobs from a previous stage.

Let’s see how Gitlab shows information about stages and stages’ status.

pipeline-overview

pipeline-status

Jobs

A job is a collection of instructions that a runner has to execute. You can see in real time what’s the output of the job, so developers can understand why a job fails.

A job can be automatic, so it starts automatically when a commit is pushed, or manual. A manual job has to be triggered by someone manually. Can be useful, for example, to automatize a deploy, but still to deploy only when someone manually approves it. There is a way to limit who can run a job, so only trustworthy people can deploy, to continue the example before.

A job can also build artifacts that users can download, like it creates an APK you can download and test on your device; in this way both designers and testers can download an application and test it without having to ask for help to developers.

Other than creating artifacts, a job can deploy an environment, usually reachable by an URL, where users can test the commit.

Job status are the same as stages status: indeed stages inherit theirs status from the jobs.

running-job

Artifacts

As we said, a job can create an artifact that users can download to test. It can be anything, like an application for Windows, an image generated by a PC, or an APK for Android.

So you are a designer, and the merge request has been assigned to you: you need to validate the implementation of the new design!

But how to do that?

You need to open the merge request, and download the artifact, as shown in the figure.

Every pipeline collects all the artifacts from all the jobs, and every job can have multiple artifacts. When you click on the download button, it will appear a dropdown where you can select which artifact you want. After the review, you can leave a comment on the MR.

You can always download the artifacts also from pipelines that do not have a merge request open ;-)

I am focusing on merge request because usually is where testers, designer, and shareholder in general enter the workflow.

But merge requests are not linked to pipelines: while they integrate nice one in the other, they do not have any relation.

download-artifacts

Environments

In a similar way, a job can deploy something to an external server, so you can reach it through the merge request itself.

As you can see the environment has a name and a link. Just clicking the link you to go to a deployed version of your application (of course, if your team has setup it correctly).

You can click also on the name of the environment, because Gitlab has also other cool features for environments, like monitoring.

environment

Conclusion

This was a small introduction to some of the features of Gitlab CI: it is very powerful, and using it in the right way allows all the team to use just one tool to go from planning to deploying. A lot of new features are introduced every month, so keep an eye on the Gitlab blog.

For setting it up, or for more advanced features, take a look to the documentation.

In fleetster we use it not only for running tests, but also for having automatic versioning of the software and automatic deploys to testing environments. We have automatized other jobs as well (building apps and publish them on the Play Store and so on).

Speaking of which, do you want to work in a young and dynamically office with me and a lot of other amazing guys? Take a look to the open positions at fleetster!

Kudos to the Gitlab team (and others guys who help in their free time) for their awesome work!

If you have any question or feedback about this blog post, please drop me an email at riccardo@rpadovani.com or tweet me :-) Feel free to suggest me to add something, or to rephrase paragraphs in a clearer way (English is not my mother tongue).

Bye for now,
R.

P.S: if you have found this article helpful and you’d like we write others, do you mind to help us reaching the Ballmer’s peak and buy me a beer?

il 28 November 2017 21.00