22 May 2018

A distanza d un mese dal rilascio dell'attesa versione 2.10 di GIMP, è stata già rilasciata un'ulteriore versione che va a sistemare diversi bug riscontrati e aggiunge altre interessanti novità, tra le quali il supporto al formato HEIF.
il 22 May 2018 13.00

19 May 2018

Vi informo che la pagina in oggetto è stata aggiornata in base al nuovo regolamento generale sulla protezione dei dati (RGPD), in inglese GDPR, General Data Protection Regulation - Regolamento UE 2016/679), per tanto vi invito a leggerla attentamente.
il 19 May 2018 08.30

12 May 2018

Categoria: 
Il 26 aprile Canonical ha rilasciato l'attesissimo Ubuntu 18.04 LTS, nome in codice Bionic Beaver. Come è noto agli utenti la 18.04 ha dato anche inizio al lavoro sulla prossima versione, cioè la 18.10Il fondatore Mark Shuttleworth, sul suo blog ha annunciato quali saranno le novità, tra cui il nome della nuova release Cosmic Cuttlefish, la quale sarà presto conosciuta come Ubuntu 18.10. Saranno inoltre previste tantissime novità tra cui:
  • Gnome 3.30 - L'uscita di Gnome 3.30 è in programma per il 6 settembre 2018, quindi ci sono buone probabilità che Ubuntu 18.10 sia disponibile con la nuova versione di Gnome;
  • Linux kernel 5.0 - La prossima versione del kernel Linux potrebbe essere Linux 5.0. Lo stesso Linus Torvalds ha svelato la probabile uscita durante l'estate 2018;  Ciò significa che Ubuntu 18.10 potrebbe essere fornito con Linux 5.0 o versioni successive;
  • Nuovo tema e icone - Una delle principali funzionalità previste in Ubuntu 18.04 era il nuovo tema GTK. Tuttavia a causa di molti bug in sospeso che risultavano inefficienti per una versione di supporto a lungo termine, queste funzionalità sono state trasferite nella 18.10. Nel mentre se si vuole testare il nuovo tema GTK, è possibile leggere l'articolo presente nel numero 2018.010 della Newsletter;
  • Nessuna versione Alpha/Beta, nuove "Testing Weeks" - A partire da Ubuntu 18.10 Cosmic Cuttlefish, il team  desktop ha deciso di abbandonare le release Alpha e Beta che nel mentre saranno sostituiti da ''Testing Weeks'', organizzati da martedì a giovedì. Questa organizzazione serve per garantire migliori test e processi di risoluzione dei bug;
  • Compressione Zstd in impostazione predefinite - A causa della maggiore velocità di decompressione rispetto a Gzip e ad altri programmi di compressione dei dati, l'algoritmo di compressione Zstd di Facebook sta diventando popolare, e potrebbe essere presente nelle impostazioni predefinite di Ubuntu 18.10; 
  • Ubuntu Studio - Il team di Ubuntu Studio prevede effettuare cambiamenti radicali per la prossima versione;
  • Desktop LXQt predefinito in Lubuntu - Anche Lubuntu si sta preparando per grandi cambiamenti nella versione 18.10, infatti il team di sviluppo è intenzionato ad utilizzare LXQt come ambiente desktop predefinito
 
Inutile dire che la nuova versione uscirà ad Ottobre, quindi nel mentre aspettiamo che Canonical annunci ufficialmente una data di rilascio per Ubuntu 18.10 Cosmic Cuttlefish.
E' possibile però scaricare le immagini quotidiane di Ubuntu 18.10 da questo link, facendo attenzione che essendo una build alla fase iniziale, è consigliabile installarla su una macchina virtuale e non su macchine principali.
 
Fonte:
 
il 12 May 2018 15.30

08 May 2018

Categoria: 

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

  • Il Wiki si aggiorna per Ubuntu 18.04 LTS: partecipa anche tu!
  • Lubuntu 18.10 verrà fornito con l'ambiente desktop LXQt al posto di LXDE
  • GIMP 2.10 disponibile per essere scaricato
  • Lo smartphone Linux di Librem 5 supporterà Ubuntu Touch, PureOS o PureOS con KDE Plasma Mobile
  • 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 08 May 2018 20.22

05 May 2018

Questa versione del sistema operativo sarà supportata fino ad aprile 2023. Per scoprirne tutte le novità potete consultare questa pagina, gestita dal gruppo della comunità italiana di Ubuntu. Trovate altre informazioni interessanti e le modalità di download ed installazione, nella pagina omonima del wiki, gestita dalla comunità internazionale di Ubuntu.
il 05 May 2018 15.39

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

03 May 2018

In questa versione, attesa davvero da molto tempo, ci sono molte novità e sono state apportate diverse soluzioni ad alcuni bug noti. Trovate tutte le novità presenti in questa versione nella pagina principale del loro sito, che credo inutile voler riportare su questo blog. Trovate qui le note di rilascio di questa versione e qualche mia annotazione.
il 03 May 2018 13.33

01 May 2018

Categoria: 

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

  • Ubuntu 18.04 LTS rilasciato, cosa c'è di nuovo
  • Rilasciate le Derivate di Ubuntu 18.04
  • Ubuntu 18.04 e OpenStack Queens. Un webinar per scoprire tutte le novità
  • 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 01 May 2018 11.12
Categoria: 
Con il nome in codice Bionic Beaver, Ubuntu 18.04 è l’attesa edizione con supporto a lungo termine del sistema operativo Ubuntu basato su Linux. Viene fornita con 5 anni di supporto e aggiornamenti da Canonical. Le nuove caratteristiche di Ubuntu 18.04 sono GNOME Shell desktop, una lista di software aggiornato, il server grafico opzionale Wayland, la nuova opzione di installazione minima (con un web browser, file manager e servizi essenziali) e il passaggio all’utilizzo di un file di swap in sostituzione della partizione swap.
Tutti gli utenti di 18.04, nuove installazioni e/o aggiornamenti saranno accolti da una nuova procedura guidata per la prima esecuzione chiamata “Welcome to Ubuntu”, con queste caratteristiche:
 
  • Guida a GNOME Shell del desktop
  • Opzione per abilitare Livepatch per installare gli aggiornamenti del kernel senza riavviare
  • Contribuire a migliorare Ubuntu attivando la diagnostica del sistema anonimi
  • Panoramica delle applicazioni Snap
 
Il desktop Unity è stato sostituito da GNOME Shell, a cui gli sviluppatori di Ubuntu hanno fatto una serie di modifiche per GNOME Shell per renderlo visivamente simile Unity; mentre GNOME Display Manager (GDM3) sostituisce LightDM  per il login d’accesso, nuova App Impostazioni GNOME e inserimento facile di Emoji con clic di tasto destro del mouse. L’utilizzo di GNOME 3.28 presenta molte caratteristiche interessanti, tra cui Night Light, Nuova tastiera on-screen, supporto a Thunderbolt 3, controllo del Lettore multimediale, e miglioramenti per i dispositivi Wacom Graphics.
Con il kernel Linux 4.15  è migliorato supporto al nuovo hardware, e offre inoltre il supporto alla crittografia sicura di memoria su hardware AMD, una migliore gestione dell'alimentazione per i sistemi con SATA Link Power Management, ed altro ancora. Le App sono alle versioni: Firefox 59.0.2, Thunderbird 52, Nautilus 3.26, LibreOffice 6.0.3, Totem 3.28, Rhythmbox 3.4.2, Remmina 1.2.0, Shotwell 0.28.
Se la macchina attualmente gestisce Ubuntu 16.04 LTS con buona probabilità potrà eseguire anche Ubuntu 18.04 LTS.
I requisiti minimi di sistema sono:
 
  • 2GHz dual core (o meglio)
  • 2 GB di RAM
  • 25 GB di spazio libero su disco rigido
  • DVD o USB per l'installazione
  • accesso ad Internet
 
Ubuntu e le Derivate includono il supporto all’avvio sicuro UEFI.
È possibile scaricare Ubuntu 18.04 LTS come immagine disco (ISO) masterizzabile su DVD o USB, che è sia una “live” che un programma di installazione. Questo consente di provare Ubuntu prima di installare. L'immagine disco è un download di 1,7 GB.
 
Non ci sono disponibili ISO di Ubuntu a 32 bit per la versione principale, per installare Ubuntu 18.04 LTS su un PC a 32 bit o laptop è necessario: utilizzare l'installazione alternativa o utilizzare l'ISO minimal / net-install o l'aggiornamento da una versione a 32 bit di Ubuntu 16.04 LTS; altrimenti si può anche scegliere di utilizzare una Derivata di Ubuntu adatta a macchine meno potenti, come Ubuntu MATE, Ubuntu Budgie, e Kubuntu 18.04 LTS.
È possibile eseguire l'aggiornamento di Ubuntu 16.04 LTS di Ubuntu 18.04 LTS, o da 17.10 a 18.04, utilizzando la riga di comando o l'applicazione Aggiornamenti Software. Come di consueto Ubuntu non si aggiornerà automaticamente a 18.04 fino al rilascio di 18.04.1 che è attualmente prevista per il mese di luglio.
 
Fonte:
il 01 May 2018 10.38

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

27 April 2018

In questo articolo conosceremo GPRename, un utilissimo programma per Linux che permette di rinominare in molti modi, anche parzialmente, il nome di molti file in una sola volta. Questo utilissimo programma mi è servito anche per altri scopi, ma in questo post desidero spiegarvi come l'ho utilizzato per indicare la proprietà delle mie foto, senza essere obbligato a leggere i dati EXIF di ogni singola fotografia.
il 27 April 2018 09.01

24 April 2018

Categoria: 

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

  • Importante aggiornamento del kernel per le patch di Ubuntu 16.04 LTS
  • Il Governo tedesco usa il cloud open source con Nextcloud
  • BotsAndU costruisce il robot sociale Bo grazie a Ubuntu
  • 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 24 April 2018 15.18

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.eu-central-1.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.

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

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

17 April 2018

Categoria: 

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

  • Annunciati i vincitori di Ubuntu 18.04 LTS Free Culture Showcase
  • Linus Torvalds rilascia Linux Kernel 4.16
  • Mozilla porta Firefox in realtà aumentata e virtuale
  • 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 17 April 2018 20.25

16 April 2018

53^ Fiera del Radioamatore di Pordenone

Paolo Garbin (paolettopn)

La “Fiera del Radioamatore - Hi-Fi Car” questo mese compie 53 anni e dimostra ancora tantissima energia e desiderio di rinnovarsi continuamente. Per conoscere tutte le nostre numerose attività presenti in fiera, trovate le informazioni sul sito dell'Associazione Radioamatori Italiani, Sezione di Pordenone "IV3TKS Francesco Bastianello" e nella pagina del sito dell'Ente fiera, dedicata a noi Radioamatori. Vi attendiamo numerosi al padiglione 5!
il 16 April 2018 13.21
Si rinnova anche quest’anno la storica collaborazione tra l'Associazione culturale informatica Pordenone Linux User Group e Pordenone Fiere per portare all'evento della Fiera del Radioamatore, la più importante fiera dell’elettronica del Triveneto, la Linux Arena; un'area open space per offrire al pubblico le migliori tecnologie presenti nel panorama del Software Libero in Italia e nel mondo.
il 16 April 2018 13.00

10 April 2018

Categoria: 

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

  • La Beta finale di Ubuntu 18.04 è disponibile per essere scaricata
  • I vincitori del concorso della comunità per gli sfondi di Xubuntu 18.04
  • LibreOffice 6.0.3 ora disponibile per il download
  • Notizie dalla Documentazione Wiki
  • 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 10 April 2018 20.44

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

05 April 2018

Alla Fiera del Radioamatore di Pordenone sarà presente anche il nostro Gruppo VE ARRL, cioè la Commissione d’esame per l’abilitazione alla richiesta di rilascio della licenza di Radioamatore U.S.A. che già in diverse occasioni in passato ha ottenuto forti consensi. Tale licenza verrà in seguito rilasciata, a coloro che avranno superato l’esame, direttamente dai competenti Uffici U.S.A. preposti allo scopo.
il 05 April 2018 09.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

03 April 2018

Categoria: 

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

  • Il Bionic Beaver - Aggiornamenti e novità sullo sviluppo di Ubuntu Desktop
  • Full Circle Magazine Issue #131 in inglese
  • L'ex comunicatrice della Casa Bianca Jamie Smith va alla Linux Foundation come Capo Ufficio Marketing
  • Enigmail si aggiorna, ecco tutte le novità
  • 20°Anniversario per Mozilla
  • 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 03 April 2018 20.11

30 March 2018

Quota 6.000 visite raggiunte

Paolo Garbin (paolettopn)

Grazie! Era veramente da diverso tempo che questo blog non raggiungeva la quota delle 6.000 visite mensili; per questo motivo desidero ringraziare tutti voi e quanto accaduto mi sprona a continuare per mettere a Vs. disposizione le soluzioni informatiche che riuscirò a trovare e a mettere in pratica.
il 30 March 2018 14.44

27 March 2018

Categoria: 

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

  • Il Free Culture Showcase per Ubuntu 18.04 è stato un grande successo
  • La Document Foundation annuncia LibreOffice 5.4.6
  • End Summer Camp 2K18
  • 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 27 March 2018 20.11

24 March 2018

Ho notato che sebbene il formato CF offra ancora alte garanzie di lettura / scrittura veloce dei dati, molti fotografi (anche i professionisti...) hanno iniziato ad installare un adattatore CF nelle loro fotocamere, in modo da poter utilizzare le più comode (e meno costose...) memorie professionali in formato SD (con minori processi di lettura / scrittura garantiti).
il 24 March 2018 10.00

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

13 March 2018

Categoria: 
Sabato 24 Marzo 2018 MERGE-it arriverà a Torino. La prima esperienza di raduno nazionale che unirà le diverse associazioni e community italiane che si occupano di libertà digitale. Lo scopo dell'evento è di permettere a tutti i partecipanti di conoscere, scoprire, approfondire e discutere su contenuti, strumenti e aspetti tecnici che riguardano le implicazioni culturali, il software libero e le libertà digitale. Il programma, disponibile al seguente link, sarà animato da talk, attività operative e dibattiti: otto sessioni parallele che andranno dalle ore 10.00 alle ore 18.00.
Il progetto coinvolge le associazioni e community di maggiore rilevanza in ambito di software libero e di cultura condivisa, tra queste sono presenti: GFOSS.it, Industria Italiana Sofware Libero, Italian Linux Society, LibreItalia, Mozilla Italia, Ninux.org, OpenStreetMap Italia, Spaghetti Open Data, Wikimedia Italia e Ubuntu-it.
Inoltre, la serata di venerdì 23 Marzo prevede un aperitivo informale per accogliere tutti coloro che arriveranno da fuori Torino, per iniziare a rompere il ghiaccio e per fare conoscenza tutti assieme mangiando e bevendo in compagnia.
L’ingresso è libero e gratuito e non necessita di alcuna registrazione. Affrettati a venire sarai il benvenuto.
Per maggiori informazioni visitare il sito MERGE-it oppure inviare un'email al seguente indirizzo.
 
Fonte: merge-it.net
Fonte: github.com

 

il 13 March 2018 15.34

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.

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.

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

16 November 2017

Recently I had to move a Magento 1.7 (if you are in a similar situation, please suggest to upgrade at least to Magento 1.9.X) website from a Linux server with SSH access to an hosting solution that has only FTP and a CPanel access.

The first two parts are generic, the third is specific for a Magento 1.X website migrated to a new web hosting with PHP7 only.

First part: The DB migration

How to move a large MySQL database to the new hosting?

Obviously you cannot think to upload it with PhpMyAdmin or similar, even if you try to compress it. Too large.

So a solution can be to split somehow the DB in smaller chuncks, and upload the chunks one by one.

Let’s start.

Step 1: Backup

Let’s say the our database is called lsdb, with the mysql user username with the privileges to perform this backup.

We can use a tool like mysqldump as follows (very simple version here, take a look at  man mysqldump for your options, or use your preferred tool to perform a backup):

mysqldump -u username -p lsdb > lsdb_dump_20171116.sql

Enter the password for username.

Step 2: Split the big dump in smaller parts

We can use the split linux command for this.

We can choose to split by size of output file (ex.: maximum 20 megabytes). The tool will not cut a line because it pays attention to line breaks.

 split -C 20m --numeric-suffixes lsdb_dump_20171116.sql dump_sect_

Now we have a series of dump_sect_XY files, where X and Y are numbers.

We can compress them, too, before uploading it. For the solution adopted in this article (next section), we are going to compress the files with gzip, even if I prefer .tar.bz2 files.

for x in dump_sect_*; do gzip $x; done

So we have now a series of dump_sect_XY.gz files.

Step 3: Importing the database with a tool

You can think to import the generated files through PhpMyAdmin, too.

If you do not have timeouts, or you want to create smaller but many other chunk files, it can be a solution.

Anyway, you will still suffer of foreign keys check problems.

Another solution is to use a tool: bigdump for example. It supports few file types, check the website for additional information and to choose your preferred one (this is why I have adopted the gz files).

With bigdump, you can upload through FTP or the CPanel file manager all the DB dump chunks in the same directory as the bigdump.php file. At this point, pointing to the bigdump.php URL in your browser, you will see the list of the chuncks, with a button to start the import process.

The only thing you have to do once you have downloaded the PHP file is to edit it to change the database name, username, password and host, according to the ones of your new web hosting.

Now you can upload it through FTP, too.

Let’s say that we have created a /dump directory containing the chunks and the bigdump.php file.

We can now point our browser to http://mynewhost/dump/bigdump.php to see the list of our chunk files and start importing our chunks one by one!

Step 3.1: Foreign key checks problems

If you have problems importing the chunks because of foreign keys problems, please clean the tables of your DB before continue.

Now, let’s modify the bigdump.php file, specifically we want to use the pre-queries: SQL queries to be executed at the beginning of each import session.

Edit the bigdump.php file.

Find and decomment the line:

// $pre_query[]='SET foreign_key_checks = 0';

This will disable the foreign key checks for the import session, and you can import your dump without problems.

Upload again in the dump/ directory and retry again in your browser.

Part 2: the code

Now we have finished the hardest part, the DB, and we have to upload our files.

Here there is not so much you can think of. An FTP upload of a compressed file is probably the fastest way to accomplish this task.

You can extract the compressed file with the CPanel File Manager as shown below:

extract cpanel file manager

Part 3: Magento 1.X and PHP7

There are some core files that need to be changed in order to fix some errors shown running Magento 1.X with PHP7.

As usual you should never change core files, there are a lot of articles around to show how to perform these tasks.

I suggest Overriding Magento blocks, models, helpers and controllers by Inchoo.

Please note that Inchoo has developed a PHP 7 compatibility extension for Magento 1.X, too, by I have not tried that.

Now, let’s see where the errors are.

app/code/core/Mage/Core/Model/Layout.php:
Fatal error: Uncaught Error: Function name must be a string in app/code/core/Mage/Core/Model/Layout.php:555

In PHP7 should be explicitly stated that you are calling the $callback variable as a function.
So you should change

$out .= $this->getBlock($callback[0])->$callback[1]();

with

$out .= $this->getBlock($callback[0])->{$callback[1]}();

Similar error happens for

 Uncaught Error: Function name must be a string in lib/Varien/File/Uploader.php:259

We are going to change

$params['object']->$params['method']($this->_file['tmp_name']);

wth

$params['object']->{$params['method']}($this->_file['tmp_name']);

Other changes:

app\code\core\Mage\ImportExport\Model\Export\Entity\Product\Type\Abstract.php:99

This issue affects the export functionality of Magento.
So replace this:

$data['filter_options'] = $this->$data['options_method']();

with

$data['filter_options'] = $this->{$data['options_method']}();

Another export problems, but for customers, is found at:

app\code\core\Mage\ImportExport\Model\Export\Entity\Customer.php:250

Here, replace:

$data['filter_options'] = $this->$data['options_method']();

with

$data['filter_options'] = $this->{$data['options_method']}();

A possible sessions error is related to:

     app\code\core\Mage\Core\Model\Resource\Session.php:218

The problematic code in this line can prevent your users to log in.

We have to typecast the variable returned by the read($sessId) function. Replace:

return $data;

with

return (string)$data;

There can be a problem with the grand total calculation and other deprecation warnings like the ones for iconv_set_encoding (this was true starting from PHP5.6).

Good sources for these and other problems are: How can solve error Magento 1.xx on PHP 7? (StackOverflow) and http://scriptbaker.com/tag/magento-1-9/.

il 16 November 2017 15.30

26 October 2017


Tempo di autunno (caldo), e tempo di Linux Day! Arriva il 28 ottobre, in parecchie città italiane l'appuntamento per eccellenza delle comunità FLOSS, quest'anno dedicato alla privacy e alla sicurezza online.

Il Linux Day è una manifestazione nazionale organizzata da Italian Linux Society, che si svolge contemporaneamente in molte città italiane, durante la quale LUG (Linux User Group) e associazione locali presentano le novità e i vantaggi dell’uso di Linux e del Software Libero a casa, nella scuola e nel lavoro.

Il tema del Linux Day di quest’anno è “riservatezza naturale”, ovvero la “privacy personale” che negli ultimi anni è stata rivoluzionata dall’avvento di Internet e di strumenti elettronici che permettono di condividere ogni aspetto della propria esistenza, e che hanno anche confinato la vita privata in ambiti sempre più ristretti.


Il comune cittadino che naviga su Internet, o che utilizza uno smartphone, si deve sempre più destreggiare tra virus come i ramsonware, Stati impiccioni e Giganti del Web che li fiancheggiano. E' però possibile sfuggire a questa morsa e vivere una sana vita digitale, senza doversi rifugiare su un'isola deserta. Essere consapevoli delle potenzialità e dei pericoli connessi all’utilizzo di app e smartphone è fondamentale per poter bilanciare la propria vita reale con quella online.

Anche a Schio


Con AVi LUG, il Linux Day arriva a Schio, con un programma ricco e accessibile a tutti. Saranno allestite due aree tematica. In “Area Talk”, presso l’Aula Studio del Comune, si svolgeranno una serie di talk dedicati a Linux, alla programmazione e alla cultura libera e condivisa. In “Area Demo”, presso l’Aula Informatica, ci sarà uno spazio dedicato a giochi per bambini, e uno spazio per l’assistenza e le dimostrazioni di Linux.

I talk del “Linux Day a Schio” dell’Area Talk avranno come tema: 
  • I certificati dei siti web, come funzionano e perché sono indispensabili
  • La navigazione sicura con Firefox, come evitare le trappole del Web
  • Le tante facce di Linux, quale è la migliore interfaccia utente per me?
  • La Privacy sulla Rete, mito o realtà?
  • Pensiero computAzionale e Python, una proposta per il Coderdojo
In “Area Demo” saranno organizzati giochi di carte e costruiti “Scrabot”, i simpatici robottini pittori (iniziativa per bambine e bambini dai 5 ai 10 anni).

Sempre in “Area Demo”, nella zona dedicata all’assistenza, sarà organizzato un “Install Party”: i soci AVi LUG aiuteranno chi vuole installare Linux sul proprio PC. Inoltre, saranno organizzate dimostrazioni, presentate soluzioni ai problemi più diffusi nella configurazione di Linux.

L’appuntamento è per sabato 28 ottobre 2017  a Palazzo Fogazzaro presso l’Aula Studio e l’Aula Informatica del Comune di Schio, in via Pasini 42 a Schio, dalle 15.30 alle 18.30.
L’ingresso è libero e gratuito.

La foto "Malware infection" è di Blogtrepreneur su Flickr.

il 26 October 2017 12.39

24 October 2017




La campagna di crowdfunding lanciata da Purism per il suo progetto di smartphone libero e rispettoso della privacy "Librem 5" ha ampiamente superato i 2 milioni di dollari, ben oltre il minimo necessario al suo finanziamento, fissato a 1,5 milioni. Per tenere a freno l'eccesso di entusiasmo dei Linux Boys, sottolineo che i volumi sono davvero modesti, per non dire irrisori, poco più di 3.000 pezzi preordinati. Librem 5 comunque concretizza la possibilità di un'alternativa ai sistemi proprietari dominanti, nonostante le incognite che comunque ne offuscano un luminoso orizzonte.



Un applauso va fatto ai ragazzi di Purism, per il coraggio e per il lavoro fatto finora!





il 24 October 2017 11.55

16 October 2017


La settimana scorsa ho avuto l'onore di essere ospitato dagli amici del LUG VI, per una serata sul tema "La svolta del desktop di Ubuntu, la distribuzione Linux più popolare".
Come sapete recentemente Ubuntu - per bocca del suo fondatore Mark Shuttleworth - ha scelto di abbandonare lo sviluppo di Unity, il proprio ambiente desktop, a favore di GNOME Shell, l’interfaccia predefinita di GNOME. Il nuovo volto di Ubuntu sarà visibile fin da Ubuntu 17.10 “Artful Aardvark” che sarà rilasciata tra qualche giorno, il 19 ottobre 2017. Questo cambiamento porterà, e in alcuni casi ha già portato, grossi cambiamenti, sia sul proprio PC che nel mondo Ubuntu in genere.

Con gli amici di LUG VI ho parlato di desktop e interfacce utente, divagando allegramente su Ubuntu Phone, pacchetti SNAP, derivate, e tanti altri argomenti connessi. Grazie al lavoro di +Stefano Spagnolo, il video del mio (lungo) talk è già disponibile su Youtube.

PS: ripeterò lo stesso talk domani sera martedì 17 ottobre a Schio, se siete in zona passate a trovarmi!

il 16 October 2017 16.41

07 October 2017

Aspettando Ubuntu 17.10 Artful Aardvark!

Ubuntu-it Gruppo Promozione

Categoria: 
Ubuntu 17.10 Artful Aardvark Party
Aspetta con noi Ubuntu 17.10! Vi aspettiamo giovedì 19 ottobre su ubuntu.it/party!
 
Ubuntu 17.10 Artful Aardvark sarà uno dei più grandi rilasci di Ubuntu degli ultimi anni: per festeggiarlo, la comunità italiana di Ubuntu ha organizzato un release party giovedì 19 ottobre!

Durante tutta la giornata, ci troverete in chat ad aspettare e commentare il rilascio insieme a voi, e la sera alle 21 si potrà seguire il live streaming di presentazione della release, in cui vari membri di Ubuntu-it insieme ad alcuni ospiti speciali spiegheranno tutte le novità rilasciate. Al termine del live streaming ci sarà anche uno spazio in cui risponderemo in diretta alle vostre domande!

Vi aspettiamo numerosi!

https://www.ubuntu-it.org/party

il 07 October 2017 11.21

19 September 2017

Stripe Shared Customers

Lorenzo Sfarra (twilight)

Introduction & Scenario

In a Stripe Connect scenario, a customer who makes a purchase from one of your connected sellers shouldn’t need to re-enter their credit card or bank account details to purchase from another seller.

Without Shared Customers, you will have to re-enter all the customer details, creating a Customer Object, on each connected account. With Shared Customers you are going to maintain a single reference to a customer in the platform account, and the association to a specific connected account will be accomplished by the use of a token the represent the customer.

For a Stripe Connect introduction that is needed to proceed with this article, please refer to the Stripe Connect Custom with Direct Charges article. Specifically, you have already created and verified a connected account.

Terms & Tools

Generic terms

  • Platform: it’s you!
  • Connected Account: that’s a vendor that will sell stuff through your platform;
  • Customer: a customer that will buy from a Connected Account;

Examples terms

  • {API_KEY}: That’s your key. Look at the Stripe documentation signed in with your account and they will fill it for you;
  • {CUST_ID}: that’s a customer ID;
  • {ACC_ID}: that’s a connected account ID;
  • {CUST_TOK_ID}: that’s a token representing a customer on an connected account;
  • {TOK_ID}: that’s a token representation of a payment source. Will be clearer when we are going to use it in the document.

Tools

I will use curl to perform API calls. No other special tools are used here.

Of course, a Stripe account is needed in order to try what’s written down in this article. I suggest to always have the Stripe dashboard opened in order to check in real-time the results of what we are going to do.

Shared Customer Creation

As stated before, when not using shared customers, you save the Stripe Customer objects on each individual connected Stripe account. To share customers, you instead save them on the platform Stripe account.

Platform Customer Creation

So let’s create a customer:

curl https://api.stripe.com/v1/customers \
 -u {API_KEY}: \
 -d description="Shared customer example" \
 -d email="sharedcustomer1@email.com"

The output of this procedure is an Customer Object.

For now, let’s take note only of the id that is the unique identifier for the newly created customer.

In the examples, as stated before, this will be indicated as {CUST_ID}.

Please note that there is no reference to a connected account, but we are creating it in the platform.

Associate a payment source to the customer

The easiest option to create a token that represents a customer payment method is to tokenise a card using Stripe Elements or Stripe Checkout.

Let’s refer to this token as {TOK_ID}.

We can now update the previously created customer:

curl https://api.stripe.com/v1/customers/{CUST_ID} \
 -u {API_KEY}: \
 -d source={TOK_ID}
  • adsense



  • Create a customer token

    As stated in the introduction, with Shared Customers you are going to maintain a single reference to a customer in the platform account. The association to a specific connected account will be accomplished by the use of a token the represent the customer.

    We can now create the customer token:

    curl https://api.stripe.com/v1/tokens \
     -u {API_KEY}: \
     -d customer={CUST_ID} \
     -H "Stripe-Account: {ACC_ID}"

    The output of this command will give us an id that we need to use in the next paragraph.

    Let’s refer to this id with {CUST_TOK_ID}.

    Create a customer in the connect account

    Last step. Finally, we can create the customer to the connected account easily, with only the token.

    Let’s do this:

    curl https://api.stripe.com/v1/customers \
     -u {API_KEY}: \
     -d source={CUST_TOK_ID} \
     -H "Stripe-Account: {ACC_ID}"

    The output of this procedure is an Customer Object.

    The id in the output is the unique identifier for the newly created customer in the connected account.

    il 19 September 2017 09.29

    15 September 2017

    Stripe Connect Custom with Direct Charges

    Lorenzo Sfarra (twilight)

    Introduction & Scenario

    The scenario covers a reader (you!) that wants to:

    • create a marketplace;
    • take some fee on every transaction between users of its website/app and a connected vendor;
    • guarantee a user-friendly experience for its vendors, in order to not let them front the procedures on the Stripe platform, but directly through its website/app communicating through APIs.

    If this is not your case, maybe it’s better to evaluate different types of Stripe Connect because they provide an easier experience for you, both from the technical side and the “bureaucratic” side (with Custom all the disputes – and relative fees – are faced by the platform).

    If this is your case, please continue!

    Terms & Tools

    Generic terms

    • Platform: it’s you!
    • Connected Account: that’s a vendor that will sell stuff through your platform;
    • Customer: a customer that will buy from a Connected Account;

    Examples terms

    • {API_KEY}: That’s your key. Look at the Stripe documentation signed in with your account and they will fill it for you;
    • {CUST_ID}: that’s a customer ID;
    • {ACC_ID}: that’s a connected account ID;
    • {TOK_ID}: that’s a token representation of a payment source. Will be clearer when we are going to use it in the document.

    Tools

    I will use curl to perform API calls. No other special tools are used here.

    Of course, a Stripe account is needed in order to try what’s written down in this article. I suggest to always have the Stripe dashboard opened in order to check in real-time the results of what we are going to do.

    Create & verify a connected account

    We are going to create an account and all the required fields.

    The second sub-paragraph is just a note to not be unprepared if your country acts a little bit differently from the one used in this example.

    Connected Account creation process

    We will start creating an account with some information in it.

    Then we will update the account with other required information. To create a verified account that will be able to process payments, please refer to the next sub-paragraph.

    Account creation

    curl https://api.stripe.com/v1/accounts \
     -u {API_KEY}: \
     -d country=IT \
     -d type=custom \
     -d legal_entity[first_name]="John" \
     -d legal_entity[last_name]="Doe" \
     -d legal_entity[type]=individual \
     -d legal_entity[dob][day]=12 \
     -d legal_entity[dob][month]=12 \
     -d legal_entity[dob][year]=1992 \
     -d legal_entity[address][city]=Rome \
     -d legal_entity[address][country]=IT \
     -d legal_entity[address][line1]="Via Nazionale" \
     -d legal_entity[address][postal_code]=00184

    Let’s have a look.
    We have now created a connected account passing custom as the type (we are creating it for a Connect Custom solution).

    The entity type is individual because the example is for an individual, but it can be company, too.

    There is no need to analyse the rest of the params, so let’s go on.

    The output of this procedure is an Account Object.

    For now, let’s take note only of the id that is the unique identifier for the newly created account.

    In the examples, as stated before, this will be indicated as {ACC_ID}.

    ID document upload

    Now, we have to associate an ID document copy to the account. Assuming that you have a PNG file on your desktop called id.png that contains the copy of the document, let’s launch the command:

    curl https://uploads.stripe.com/v1/files \
     -u {API_KEY}: \
     -H "Stripe-Account: {ACC_ID}" \
     -F purpose=identity_document \
     -F file="@/Users/lorenzo/Desktop/id.png"

    Please note the line -H “Stripe-Account: {ACC_ID}”.

    The output of this process is a File Upload Object.

    Let’s take note of the id, that we call {FILE_ID}.

    Now, we have to attach this file to the verification document section of the connected account:

    curl https://api.stripe.com/v1/accounts/{ACC_ID} \
     -u {API_KEY}: \
     -d legal_entity[verification][document]={FILE_ID}
    

    Now the account is verified. We need to associate a bank account where the connected account will be payed.

  • adsense



  • Bank account creation and association

    The example shows an Italian account, so we are going to associate an Italian bank account that accepts Euros as its currency:

    curl https://api.stripe.com/v1/accounts/{ACC_ID}/external_accounts \
     -u {API_KEY}: \
     -d external_account[object]=bank_account \
     -d external_account[account_number]='IT89370400440532013000' \
     -d external_account[country]=IT \
     -d external_account[currency]=eur

    The account number is taken from the bank numbers indicated by Stripe in its testing section.

    Accepting conditions

    The last step is to accept the conditions, please be sure to correctly inform the vendor about  the Stripe Terms of Service before performing this API call:

    curl https://api.stripe.com/v1/accounts/{ACC_ID} \
     -u {API_KEY}: \
     -d tos_acceptance[date]=1503302212 \
     -d tos_acceptance[ip]="VV.XX.YY.ZZ"
    

    Where date represents the timestamp when the account owner accepted Stripe’s terms, and ip represents the IP address from which the account owner accepted Stripe’s terms.

    Connected Account verification process

    When building a Connect platform using Custom accounts, you’ll need to collect the required verification information for each of your accounts, which varies by the Custom account’s country.

    That’s what the official documentation states about the verification process. So what we did before it’s for the Italian (but most part of European countries) accounts. Check the official documentation for the list for each country.

    Direct charges on the connected account and collect fees

    Now it’s time to let a customer pay a connected account.

    The easiest option here is to tokenise a card using Stripe Elements or Stripe Checkout.

    Let’s refer to this token as {TOK_ID}.

    curl https://api.stripe.com/v1/charges \
     -u {API_KEY}: \
     -d amount=10000 \
     -d currency=eur \
     -d source={TOK_ID} \
     -d application_fee=123 \
     -H "Stripe-Account: {ACC_ID}"

    The application_fee is capped at the total transaction amount minus any Stripe fees.

    Please note here that, when directly charging on the connected account, you can provide a token created using either your platform’s or the connected account’s publishable key.

    Conclusion

    That’s it.

    You should be now able to go to the dashboard and review connect accounts, fees, and so on.

    The next article in the series is about Stripe Shared Customers.

    Stay tuned!

     

    il 15 September 2017 12.34

    06 July 2017

    AfterShokz Trekz Titanium Front

    AfterShokz Trekz Titanium – La Cuffia Per Tutti!

    Ciao! 🙂
    Oggi analizzeremo assieme una nuova tipologia di cuffia che sfrutta una nuova tecnologia trasmissiva chiamata conduzione ossea.
    No, non è una tecnologia per parlare con gli alieni né provenienti da quest’ultimi e il ruolo di questa cuffia consiste in:

    1. Traduzione di una fonte audio in ingresso in vibrazioni
    2. La vibrazione viene trasmessa attraverso le nostra ossa del cranio fino ad arrivare nell’orecchio interno
    3. L’orecchio interno capta la vibrazione e tramite il nervo acustico percepiamo ciò che definiamo suono.

    I primi due punti vengono svolti efficacemente dalla cuffia che andremo ad analizzare e il suo nome in codice è AfterShokz Trekz Titanium.

    Prima di andare avanti, vorrei rispondere alla domanda che ti stai ponendo, ossia “Cosa vuoi dire per cuffia per tutti?“.
    Ciò che voglio intendere e, che approfondirò un dettaglio più avanti, è proprio che questa cuffia può essere usata sia dagli sportivi, dalle persone non udenti, non vedenti e dalle persone comune.

    Esatto, hai letto bene e sembra buffo ma anche le persone non udenti possono ascoltare una chiamata o una canzone se non hanno seri danneggiamenti alla coclea.
    Sì, anche per non vedenti e no, non ci sono problemi con l’ascolto dei suoni ambientali. Perché? Scopriamolo assieme! 🙂

    Unboxing AfterShokz Trekz Titanium

    AfterShokz Trekz Titanium unboxing

    Partendo da sinistra possiamo notare la nostra cuffia AfterShokz Trekz Titanium con la colorazione grigia/nera.
    Tranquillo, la cuffia essendo costituita da titanio, sopporta tutte le tensioni e difficilmente si romperà!
    Nella cuffia sono presenti tre bottoni, due per il volume (di cui uno fa anche da accensione/spegnimento) e uno che funge da tasto multifunzione che ti permette di cambiare traccia, attivare l’assistente vocale (del telefono) e tante altre cose.

    Oltre la cuffia troviamo i due libricini per la garanzia e per le istruzioni d’uso in lingua inglese e la sua scatola originale.
    Sul sito ufficiale è presente la traduzione italiana per le istruzioni d’uso.

    Infine all’interno della scatola è presente il cavo micro USB a USB per ricaricare la nostra cuffia, le due fitband per adattare la cuffia alle varie dimensioni delle nostre teste, una custodia per la cuffia e infine, da usare solamente in ambienti sicuri, due tappi per escludere i suoni dell’ambiente esterno.

    Ecco quale uno dei tanti vantaggi della conduzione ossea, permette a tutti di ascoltare sia il suono proveniente dalla AfterShokz Trekz Titanium e sia dall’ambiente attorno a noi 🙂

    Caratteristiche tecniche

    • Raggio senza fili: 10 m (33 ft)
    • Tipo di altoparlante: Trasduttori a conduzione ossea
    • Batteria: Ricaricabile agli ioni di litio
    • Frequenza di risposta: 20Hz~20KHz
    • Riproduzione continua: 6 ore
    • Sensibilità: 100 ± 3dB
    • Tempo di standby: 10 giorni
    • Microfono: -40dB ± 3dB
    • Tempo di caricamento: 1 ora e mezza
    • Versione Bluetooth: Bluetooth® v4.1 (possibilità di accoppiamento multiplo senza doverlo fare ogni volta quando si vuole collegare la cuffia ad un dispositivo diverso)
    • Peso: 36g (1,27 oz)
    • Profili compatibili: A2DP, AVRCP, HSP, HFP
    • Garanzia: 2 anni (se registrato)
    • Certificazione IP55 (resistente al sudore e polvere)
    • Doppio microfono per la cancellazione del rumore

    Impatto Generale

    In questi giorni la cuffia AfterShokz Trekz Titanium è stata davvero stressata in ogni condizione.
    Sotto al sole, sudore intenso, con forte raffiche di vento, in bicicletta, in macchina, da persone affette con disabilità e così via.

    Ciò che si è riscontrato a primo impatto è grande stupore per via del mezzo trasmissivo: la conduzione ossea non è una cosa che conoscono tutte le persone.
    Inoltre, in un primo momento (qualcosa come i primi cinque minuti se non si è abituati), è possibile riscontrare un leggero mal di testa, disorientamento e sensazione che l’audio delle cuffie sia davvero scarso a causa dell’influenza del rumore ambientale.

    Design e Comfort

    AfterShokz Trekz Titanium - lateral

    I materiali utilizzati per la costruzione di questo dispositivo sono di ottima qualità e vengono assemblati tra loro uniformemente e creano un mix tra essere leggero, solido e confortevole.
    Sotto uso intenso non scaldano e non creano alcuno slittamento, fastidio o bruciore in caso di sudore intenso. Per ripulirlo esternamente, basta passare un panno leggermente umido e torna come nuovo.
    Come detto in precedenza, non si presenteranno problemi in caso di pioggia leggera o di sudore intenso grazie alla certificazione IP55 che permette anche di resistere alla polvere in generale.

    Per quanto riguarda l’uso, basta accoppiarli (la prima volta), effettuare la connessione via bluetooth, scegliamo la canzone dal lettore musicale preferito e siamo operativi.
    Inoltre, la progettazione di queste cuffie è stata fatta in modo che non crei alcun fastidio durante l’uso di caschi, apparecchi uditivi, etc.

    Per indossarli basta appoggiarle la cuffia sopra le orecchie in modo che i trasduttori facciano presa sulle ossa davanti l’orecchio: come se si stesse indossando gli occhiali al contrario 🙂

    Funzionalità dei tasti presenti

    Come presentato, i tasti presenti sono esattamente tre.
    Una volta indossati, dietro l’orecchio destro si trova il primo che funge o da accensione/spegnimento (tenendolo premuto a lungo fino a quando non si sente una voce) oppure quello successivo che permette di abbassare il volume.
    Durante l’esecuzione di una canzone, se teniamo premuti assieme i due tasti del volume, si effettuerà un cambio dell’equalizzatore che ridurrà drasticamente i bassi: questa funzione è molto utile se dobbiamo ad esempio ascoltare un podcast.

    Sul lato sinistro invece, troviamo il tasto di multifunzione che ci permette di effettuare delle azioni se stiamo ascoltando la musica come pausa, play, cambio traccia, oppure ci permette di accettare o rifiutare una chiamata che ci viene segnalata in automatico tramite un suono inconfondibile.
    Se tocchiamo a lungo, partirà il nostro assistente vocale del telefono che potrà essere Siri o Google Now.
    In ogni operazione, possiamo fare a meno di tirare fuori il nostro telefono in quanto il tasto multifunzione ci permette di fare quasi tutto e ovviamente, è incorporato un doppio microfono che si attiva quando interagiamo con l’assistente vocale o rispondiamo ad una chiamata.

    Qualità del suono e durata della batteria

    La qualità del suono è semplicemente qualcosa di fantastico essendo supportato dal sistema PremiumPitch+™, però, tutto dipende dall’ambiente in cui vi trovate.
    Purtroppo avendo modo di sentire sia l’audio dalle cuffie e sia l’ambiente esterno, può dare la sensazione che l’audio sia distorto e di bassa qualità.
    Per migliorare la resa, se siete in un ambiente SICURO, potete indossare i tappi in dotazione e sentirete il suono che entra in maniera determinata nella vostra testa aumentando la vostra adrenalina.

    Rispetto alla concorrenza, la durata della batteria è ottima e ci si avvicina molto sulle 6 ore mentre per la ricarica, se la cuffia è completamente scarica, siamo esattamente sull’ora e mezza spaccata.

    Prestate particolarmente attenzione al volume però perché oltre alla sicurezza se siete in un ambiente chiuso o vicino alle altre persone, questi potranno sentire leggermente ciò che state ascoltando anche se l’azienda sta migliorando sempre di più per ridurre questo problema grazie alla tecnologia LeakSlayer™.

    Campagna di sensibilizzazione

    Sono venuto a conoscenza che l’azienda AfterShokz sta portando avanti una campagna di sensibilizzazione per tutti i sportivi e per tutti gli autisti.
    Questa cuffia Trekz Titanium, mira ad assistervi in tutte le funzionalità tra musica e chiamate senza però distogliere l’attenzione dalla strada ed altri pericoli connessi.

    Pertanto, considerando anche le nostre leggi italiane dove possiamo incorrere pesanti sanzioni se stiamo usando il telefono mentre guidiamo, la cuffia AfterShokz Trekz Titanium può essere una valida alternativa (N.B. non ho conferme in merito) alla classica cuffia o ad un impianto vivavoce (che porta ad effettuare lavori in macchina e ad essere non portabile) in quanto permette sia di ascoltare l’audio della cuffia che i suoni dell’ambiente esterno.

    Conclusioni

    Siamo giunti alla conclusione e sicuramente ti starai chiedendo se vale davvero la pena spendere 123€ da un e-commerce.
    Con tutto ciò che hai potuto leggere e da quello che posso dirti io sì, vale assolutamente la pena.

    Dico ciò sia per i benefici che porta a tutti e sia perché è un dispositivo stupendo che offre vantaggi per quando si è in macchina o si sta facendo sport e sia perché rende un po’ più alieni alla vista di altri. 🙂

    E non dimentichiamo i non vedenti! Grazie a ciò potranno usufruire dell’ascolto dell’accessibilità senza dover portare il telefono all’orecchio e rischiare di non sentire a causa del disturbo ambientale ed essere agevolati in caso arrivi una chiamata. Basta un tocco sul pulsante vicino l’orecchio, parleranno e la loro voce verrà captata anche dai microfoni delle cuffie… Semplice e il tutto a mani libere!

    Dove acquistare

    E’ possibile acquistare AfterShokz Trekz Titanium da Amazon seguendo questa pagina.

    Per qualsiasi necessità, dubbio, o problema, sono a vostra più completa disposizione nei commenti!

    L'articolo AfterShokz Trekz Titanium – La cuffia per tutti! sembra essere il primo su Mirko Pizii | Grab The Penguin.

    il 06 July 2017 14.24

    01 July 2017

    PCI Compliance made simple

    Lorenzo Sfarra (twilight)

    Are you trying to understand if your server has to be PCI compliant?
    Are you reading some docs around and the more you read, the more you are confused?

    Here’s some very simple and short tips for PCI compliance, according to Braintree and SecurityMetrics sources (you should check with your payment gateway / Qualified Security Assessor).

    This post is a very simple answer to the question: “Can I accept payments without redirecting to an external website with my NON-PCI compliant server(s)?

    If you have to:

    1. insert a new credit card during the checkout process,
    2. store the payment details in the Braintree (payment gateway) Vault for later use

    and your payment gateway gives you the chance to integrate an iframe or a solution similar to the Braintree Drop-In where the code is injected from the payment gateway servers, you can run your website on a NON-PCI compliant server.

    This does not mean that you can ignore the PCI compliance at all.

  • adsense



  • So, what you should do? You should qualify for the SAQ A. In fact:

    The card associations (VISA, MasterCard, Discover and American Express) have mandated that anyone accepting credit cards must become PCI compliant. We do require merchants to go through a Qualifies Security Assessor to help verify that your payments platform is compliant with rules established by the Card Associations.

    You’re still required to complete an annual SAQ in order to be PCI compliant.

    Please note that this is true if and only if the payment details are inserted only by the customer.

    If the customer communicates these details to someone of your organisation, then this will increase your scope of compliance.

    il 01 July 2017 13.38

    20 June 2017

    So,

    you are using the Magento2 APIs and you need to access a product.
    The core API forces you to access product by its SKU:

    GET /V1/products/:sku

    Sometimes you need to access a product by its ID, or by its URL key.

    Let’s see how we can create two simple APIs to perform this task.

    First of all, let’s fill your webapi.xml with the two routes we are going to use for this.

    Ex.:

    <route url="/V1/lorenzo-productbyurl/:urlKey" method="GET">
     <service class="Lorenzo\ProductBy\Api\ProductByInterface" method="getProductByUrl"/>
     <resources>
       <resource ref="anonymous"/>
     </resources>
    </route>
    <route url="/V1/lorenzo-productbyid/:id" method="GET">
     <service class="Lorenzo\ProductBy\Api\ProductByInterface" method="getProductById"/>
     <resources>
       <resource ref="anonymous"/>
     </resources>
    </route>

    Now we are going to define the interface cited in the previous XML file, declaring the two methods:

    interface ProductByInterface
    {
     /**
      * GET product identified by its URL key
      *
      * @api
      * @param string $urlKey
      * @return \Magento\Catalog\Api\Data\ProductInterface
      * @throws \Magento\Framework\Exception\NoSuchEntityException
      */
     public function getProductByUrl($urlKey);
    
     /**
      * GET product identified by its id
      *
      * @api
      * @param string $id
      * @return \Magento\Catalog\Api\Data\ProductInterface
      * @throws \Magento\Framework\Exception\NoSuchEntityException
      */
     public function getProductById($id);
    }

     

  • adsense



  • Ok, finally we are going to define the model that will implement this interface. Please be sure to update your di.xml accordingly.

     

    class ProductBy implements ProductByInterface
    {
    
     /**
      * @var \Magento\Framework\Api\SearchCriteriaBuilder
      */
     protected $searchCriteriaBuilder;
    
     /**
      * @var \Magento\Catalog\Api\ProductRepositoryInterface
      */
     protected $productRepository;
    
     /**
      * @var \Magento\Framework\Api\FilterBuilder
      */
     protected $filterBuilder;
    
     /**
      * @var \Magento\Framework\Api\Search\FilterGroup
      */
     protected $filterGroup;
    
     public function __construct(
       \Magento\Catalog\Api\ProductRepositoryInterface $productRepository,
       \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria,
       \Magento\Framework\Api\FilterBuilder $filterBuilder,
       \Magento\Framework\Api\Search\FilterGroup $filterGroup)
     {
       $this->productRepository = $productRepository;
       $this->searchCriteria = $searchCriteria;
       $this->filterBuilder = $filterBuilder;
       $this->filterGroup = $filterGroup;
     }
    
     /**
      * {@inheritdoc}
      */
     public function getProductByUrl($urlKey)
     {
       $this->filterGroup->setFilters([
       $this->filterBuilder->setField('url_key')->setConditionType('eq')
            ->setValue($urlKey)->create()]);
       $this->searchCriteria->setFilterGroups([$this->filterGroup]);
       $products = $this->productRepository->getList($this->searchCriteria);
       if (count($products) == 0) {
         return null;
       }
       $items = $products->getItems();
       foreach ($items as $item) {
         return $item;
       }
     }
    
     /**
      * {@inheritdoc}
      */
     public function getProductById($id)
     {
       return $this->productRepository->getById($id);
     }
    }
    

    Now you can access a product by ID with:

    GET /V1/lorenzo-productbyid/:id

    And by URL key with:

    GET /V1/lorenzo-productbyurl/:urlKey
    il 20 June 2017 10.36

    11 June 2017

    Plasma 5.10.1 disponibile per Kubuntu 17.04

    Ubuntu-it Gruppo Promozione

    Categoria: 

    Plasma 5.10.1, ultima versione stabile dell'ambiente di lavoro di Kubuntu, è ora disponibile per gli utenti di Kubuntu 17.04 Zesty Zapus.
    Rilasciato il 30 maggio, Plasma 5.10 raccoglie moltissime novità come Folder View che mostra l'anteprima del contenuto delle cartelle durante lo spostamento manuale dei file, comandi per la riproduzione multimediale nella schermata di blocco schermo, migliore supporto per il touch screen e moltissime altre funzionalità. Puoi consultare gli annunci di Plasma 5.10.1 e Plasma 5.10 per scoprire i principali cambiamenti introdotti.

     

     

    Per aggiornare Plasma su Kubuntu 17.04 è necessario aggiungere il PPA ppa:kubuntu-ppa/backports alla source list, come descritto in questa pagina, oppure tramite terminale digitando i seguenti comandi:

    sudo add-apt-repository ppa:kubuntu-ppa/backports
    sudo apt update
    sudo apt full-upgrade

    Il PPA Kubuntu backports contiene aggiornamenti anche per numerose altre applicazioni come Kmail, Kontact o Korganiser oltre al KDE Framework 5.34, pertanto aggiungendo questo PPA verranno scaricati e installati molti pacchetti aggiuntivi al solo Plasma 5.10. Tale PPA continuerà inoltre a ricevere aggiornamenti per le future versioni di Plasma 5.10.

    Va ricordato che questi aggiornamenti, pur rappresentando gli ultimi sviluppi del mondo KDE, non sono testati in maniera estensiva come avviene invece per i pacchetti forniti dall'archivio di Ubuntu e sono supportati in maniera limitata. Qualora si presentassero dei problemi, puoi fornire tutte le informazioni necessarie alla loro risoluzione tramite la mailing list del progetto o tramite i canali IRC #kubuntu e #kubuntu-devel su irc.freenode.net, oltre che a segnalare il problema su bugs.launchpad.net/kubuntu-ppa.

     

    Fonte: kubuntu.org

    il 11 June 2017 09.26

    10 June 2017

    Categoria: 

    GruppoDocumentazione/Blog/news_wiki03.png
    Foto originale: Pink and Blue by Ashwin Deshpande

    Ecco le novità introdotte nella documentazione della comunità italiana durante il mesi di marzo, aprile e maggio 2017.

     

    Aggiornamenti e novità

    • FAQ Gruppo documentazione: aggiornamento della pagina contenente le risposte alle domande più frequenti poste da chi si affaccia per la prima volta alla documentazione wiki, utile per sapere come è strutturata la documentazione della comunità italiana di Ubuntu e come contribuire.

    • FAQ Swap: revisione e aggiornamento della guida che raccoglie le domande più frequenti relative all'uso della swap.

    • Elenco Produttori: nuova pagina contenente un elenco di produttori che vendono modelli di PC con preinstallato Ubuntu, altre distribuzioni GNU/Linux oppure senza sistema operativo.

    • Timeshift: nuova guida per l'installazione e l'utilizzo di questo strumento per il backup e ripristino del sistema, simile a Ripristino configurazione di sistema di Windows e a Time Machine di MacOS.

    • Flatpak: guida all'utilizzo di questo nuovo formato di packaging, nato da un progetto di GNOME Foundation e Red Hat.

    • Alien: aggiornamento della guida dedicata allo strumento per installare su Ubuntu pacchetti di altre distribuzioni GNU/Linux, come Fedora, Red Hat, Slackware e altre.

    • Verifica Disco Fisso: revisione della guida che spiega come verificare il corretto funzionamento dei dischi fissi.

    • Spostare Home in Partizione Separata: revisione della guida che spiega come spostare la cartella Home in una partizione separata.

    • Carta Nazionale dei Servizi: aggiornamento della guida sull'utilizzo della Carta Nazionale dei Servizi e della Carta Regionale dei Servizi in Ubuntu, utilizzando Firefox o Chromium ed un lettore di smart card.

    • Multicd: aggiornamento della guida dedicata al programma che permette di creare un'immagine .iso contenente più distribuzioni live GNU/Linux.

    • Oracle Java: aggiornamento della guida che illustra i metodi per l'installazione delle versioni 6, 7, 8 e 9 del programma.

    • Programmazione/RenPy: nuova guida all'utilizzo del software ideato per la realizzazione di avventure grafiche, Kinetic Novel e RPG, compatibile con il linguaggio Python.

    • SMTube: nuova guida all'installazione di questo client di YouTube, che permette di vederne i video senza l'utilizzo di un browser web.

    • Scanner Epson: aggiornamento della guida all'installazione di diversi modelli di scanner Epson.

    • Lenovo Yoga 710-14IKB: resoconto dell'installazione di Ubuntu su questo modello di portatile.

    • Lenovo Thinkpad E470: resoconto dell'installazione di Ubuntu su questo modello di portatile.

    Come sempre ringraziamo tutti gli utenti che hanno contribuito all'aggiornamento e alla realizzazione delle guide wiki. Per maggioro informazioni, consulta la pagina Lavoro Svolto.

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

    il 10 June 2017 18.02

    02 June 2017

    Categoria: 

    Le FAQ della documentazione wiki hanno ricevuto un consistente aggiornamento.

    Di recente la pagina ha ottenuto diversi miglioramenti fra cui l'inserimento di immagini esplicative e nuove informazioni. Da segnalare in particolare la re-introduzione della pagina CastelliDiSabbia, utile anche a utenti non iscritti per fare pratica con la modifica delle pagine wiki.

    Nata nel Dicembre 2015, la pagina si è rivelata un utile strumento per ampliare il quadro delle informazioni utili agli utenti che si avvicinano alla documentazione wiki di Ubuntu-it.

     

    A differenza della pagina Partecipa che fornisce in modo pratico e sintetico quei 2/3 concetti base per essere subito operativi, le FAQ ampliano con più calma concetti e nozioni di vario tipo: cosa è un wiki e la logica che ne sta dietro, le informazioni di carattere pratico sull'utilizzo della piattaforma, la struttura organizzativa e molto altro. E tutto questo attraverso un linguaggio sintetico e scorrevole.

    Se hai qualche minuto di tempo e ti incuriosiscono gli argomenti legati alla documentazione wiki, leggi subito le FAQ. Ti aspettiamo!

     

     

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

     

    il 02 June 2017 09.27

    01 June 2017

    At fleetster we have our own instance of Gitlab and we rely a lot on Gitlab CI. How can be otherwise? We are a small team, with a lot of different projects (only in last month, we had more than 13.000 commits over 25 different projects, and we are only 10 - and I work part time).

    Automatizing as many development steps as possible (from build to QA to deploy) is helping us a lot, but sometimes we write some code and then forget about it. This is a disaster! We have some bugfix or some new feature ready, but it is forgotten in some branch somewhere.

    This is why we have, as policy, to push as soon as possible an to open a new MR, mark it as WIP, and assign to ourself; in this way Gitlab will remember to ourself we have a MR.

    You need to do 3 steps to achieve that:

    • Push the code
    • Click on the link that appears on your terminal
    • Fill a form

    But we are nerd. We are lazy. So one night, after a couple of beers, Alberto Urbano and I spent some hours to automatize a tasks that requires 10 seconds.

    Actually, the experience was quite fun, it was the first time we used Gitlab APIs and we learned things we will apply to others scripts as well.

    automation

    Image by Randall Munroe, xkcd.com

    The script

    With this script, every time we push a commit, Gitlab CI takes a look if the branch that commit belongs to has already a opened MR and, if not, it creates it. It then assigns the MR to you, and put WIP in the title to mark it as work in progress.

    In this way you cannot forget about that branch, and when you’ve finished writing code on it, you just need to remove the WIP from the title and assign to the right person to review it.

    In the end, this is the script we came out with (when you add to your project, remember to make it executable):

    #!/usr/bin/env bash
    # Extract the host where the server is running, and add the URL to the APIs
    [[ $HOST =~ ^https?://[^/]+ ]] && HOST="${BASH_REMATCH[0]}/api/v4/projects/"
    
    # Look which is the default branch
    TARGET_BRANCH=`curl --silent "${HOST}${CI_PROJECT_ID}" --header "PRIVATE-TOKEN:${PRIVATE_TOKEN}" | python3 -c "import sys, json; print(json.load(sys.stdin)['default_branch'])"`;
    
    # The description of our new MR, we want to remove the branch after the MR has
    # been closed
    BODY="{
        \"id\": ${CI_PROJECT_ID},
        \"source_branch\": \"${CI_COMMIT_REF_NAME}\",
        \"target_branch\": \"${TARGET_BRANCH}\",
        \"remove_source_branch\": true,
        \"title\": \"WIP: ${CI_COMMIT_REF_NAME}\",
        \"assignee_id\":\"${GITLAB_USER_ID}\"
    }";
    
    # Require a list of all the merge request and take a look if there is already
    # one with the same source branch
    LISTMR=`curl --silent "${HOST}${CI_PROJECT_ID}/merge_requests?state=opened" --header "PRIVATE-TOKEN:${PRIVATE_TOKEN}"`;
    COUNTBRANCHES=`echo ${LISTMR} | grep -o "\"source_branch\":\"${CI_COMMIT_REF_NAME}\"" | wc -l`;
    
    # No MR found, let's create a new one
    if [ ${COUNTBRANCHES} -eq "0" ]; then
        curl -X POST "${HOST}${CI_PROJECT_ID}/merge_requests" \
            --header "PRIVATE-TOKEN:${PRIVATE_TOKEN}" \
            --header "Content-Type: application/json" \
            --data "${BODY}";
    
        echo "Opened a new merge request: WIP: ${CI_COMMIT_REF_NAME} and assigned to you";
        exit;
    fi
    
    echo "No new merge request opened";
    

    Gitlab CI

    The variables used in the script are passed to it by our .gitlab_ci.yml file:

    stages:
        - openMr
        - otherStages
    
    openMr:
        before_script: []   # We do not need any setup work, let's remove the global one (if any)
        stage: openMr
        only:
          - /^feature\/*/   # We have a very strict naming convention
        script:
            - HOST=${CI_PROJECT_URL} CI_PROJECT_ID=${CI_PROJECT_ID} CI_COMMIT_REF_NAME=${CI_COMMIT_REF_NAME} GITLAB_USER_ID=${GITLAB_USER_ID} PRIVATE_TOKEN=${PRIVATE_TOKEN} ./utils/autoMergeRequest.sh # The name of the script
    
    

    All these environment variables are set by Gitlab itself, but the PRIVATE-TOKEN. A master of the project has to create it in its own profile and add to the project settings.

    To create the personal token you can go to /profile/personal_access_tokens on your Gitlab instance, and then you add to your pipeline following this guide

    Way to improve

    The script is far from perfect.

    First of all, it has 2 APIs calls, one to take the list of MR and one to take the default branch, to use it as target. Of course you can hardcode the value (in the end it shouldn’t change often), but hardcoding is always bad.

    Also, it uses python3 to extract the name of the target branch - this is just one of many possible solutions, just use what is available on your system. Apart from that, the script doesn’t have any external dependency.

    The other thing is how you need to set up the secret token to call the APIs. Luckily, Gitlab’s developers are working on a new way to manage secret token.

    Conclusion

    This was a very small and very simple example about how much powerful the Continuous Integration can be. It takes some time to setup everything, but in the long run it will save your team a lot of headache.

    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 are working to automatize 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 :-)

    Bye for now,
    A. & 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 us a beer?

    il 01 June 2017 12.00

    19 May 2017

    Sometimes in your logic you have to save different model instances at once.

    Magento1 already had the concept of transaction, using the classic singleton model:

    Mage::getModel('core/resource_transaction')
    

    Magento2 has its concept of transaction, too, so let’s see with a simple example how to use this feature.

    Let’s say we have a DB table ‘table’ described as follows:

     

    +-----+--------+--------+
    | id  | field1 | field2 |
    +-----+--------+--------+

    We’ll have a \Some\Thing\Model\Table:

    class Table extends \Magento\Framework\Model\AbstractModel implements \Magento\Framework\DataObject\IdentityInterface {
      [..]
      public function __construct(
        \Magento\Framework\Model\Context $context,
        \Magento\Framework\Registry $registry,
        \Some\Thing\Model\ResourceModel\Table $resource,
        \Some\Thing\Model\ResourceModel\Table\Collection $resourceCollection,
        array $data = []
     ) {
        parent::__construct($context, $registry, $resource, $resourceCollection, $data);
     }
     [..]
    }

    And a classic \Some\Thing\Model\ResourceModel\Table that looks like this:

    class Table extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
    {
       /**
        * Set main entity table name and primary key field name
        *
        * @return void
       */
       protected function _construct()
       {
          $this->_init('table', 'id');
       }
    }

    So, let’s say that in our controller or API call we want to save different Tables at once.

    In the constructor we have to make clear some dependencies:

    public function __construct(
     [..]
     \Some\Thing\Model\TableFactory $tableFactory,
     \Magento\Framework\DB\TransactionFactory $transactionFactory
     ) {
      [..]
      $this->tableFactory = $tableFactory;
      $this->transactionFactory = $transactionFactory;
    }

     

  • adsense



  • In our logic there will be something like this:

    $transaction = $this->transactionFactory->create();
    foreach ($values as $field1 => $field2) {
      $tableInstance = $this->tableFactory->create();
      $tableInstance->setField1($field1);
      $tableInstance->setField2($field2);
      $transaction->addObject($tableInstance);
    }
    $transaction->save();

    So, at first we create a transaction instance from the transaction factory.
    Then, in each iteration in the foreach loop we create a table instance from the Table factory.

    We set all the required fields and then we add the instance to the transaction.

    The last step is to call the save() method of the transaction instance to save all the Table instances.

    Please note that, in case of errors, Magento2 performs a rollback:

    // Magento\Framework\DB\Transaction::save()#L143:L148
    if ($error) {
      $this->_rollbackTransaction();
      throw $error;
    } else {
      $this->_commitTransaction();
    }

     

    il 19 May 2017 11.06

    29 April 2017

    Categoria: 

    Villa Lattes - VicenzaLa DUCC-IT 2017 si terrà a Vicenza il 6 e 7 maggio prossimi. Ubuntu-it, la comunità italiana di Ubuntu, annuncia la Debian/Ubuntu Community Conference Italia 2017 (in breve DUCC-IT 2017), l'incontro delle comunità italiane di Debian e di Ubuntu in programma nei giorni 6 e 7 maggio 2017, presso Villa Lattes, in via Thaon di Ravel, Vicenza.

    Debian e Ubuntu sono tra le distribuzioni più importanti nell’ambito dei sistemi operativi liberi basati su GNU/Linux, e le rispettive comunità sono molto attive nel promuovere e partecipare allo sviluppo dei due progetti. L’esperienza della DUCC-IT 2017, che fa seguito alle edizioni tenutesi a Perugia, Fermo, Cesena e Milano, è rivolta sia ai membri delle rispettive comunità che a tutti gli appassionati di GNU/Linux e del Software Libero ed è un’ottima occasione per avvicinarsi e conoscere meglio queste realtà e il Software Libero.

    Il tema di DUCC-IT 2017 è “Open communities for a better world” (comunità aperte per un mondo migliore), a sottolineare il generoso contributo che le comunità hanno donato allo sviluppo e al supporto di GNU/Linux e del Software Libero in tutto il mondo, diventando anche una concreta possibilità occupazionale.

    Il programma è particolarmente ricco di spunti, rappresentato dal meglio delle Comunità Debian e Ubuntu, ma anche delle comunità Mozilla Italia, LibreItalia, Wikimedia e OpenStreetMap, accumunate dal tema di quest’anno “Open communities for a better world” - comunità aperte per un mondo migliore. I talk saranno ben sedici, tenuti da quindici relatori provenienti da tutta Italia.

    I talk in programma affronteranno tre filoni principali: utilizzo degli strumenti liberi, esperienze di software libero sul campo e come contribuire a progetti liberi. Il pubblico potrà interagire con i relatori, grazie a uno spazio apposito destinato all’approfondimento.

    Tra i numerosi ospiti confermati dell’evento figurano: Marina Latini, Presidente di The Document Foundation che sovrintende lo sviluppo della suite per ufficio LibreOffice, Roberto Guido Presidente di Italian Linux Society che organizza il Linux Day, Marco Chemello “wikipediano in residenza” di BEIC (Biblioteca Europea di Informazione e Cultura), Paolo Dongilli, coordinatore del Progetto FUSS della Provincia di Bolzano, per l’adozione di Software Libero nella scuola pubblica.

    Uno spazio sarà dedicato all’adozione di Zorin OS da parte del Comune di Vicenza, il sistema operativo basato su GNU/Linux che ha portato alla ribalta il comune Veneto tra i pionieri dell’innovazione nell’ambito della Pubblica Amministrazione.

    L’evento si tiene presso Villa Lattes, ospiti del Comune di Vicenza, che ha partecipato attivamente all’organizzazione dell’evento.

    L’accesso all’evento è libero e gratuito. Per chi arriva da fuori Vicenza, sul sito web dell’evento sono disponibili le informazioni su come arrivare in auto o con i mezzi pubblici. Per chi soggiorna a Vicenza, è stata stipulata una convenzione con l’Hotel Verdi.

    Informazioni dettagliate e il programma completo della DUCC-IT sono disponibili sul sito web dell'evento.

    il 29 April 2017 10.12

    27 April 2017

    Categoria: 

    Da quando è divenuta ufficiale la notizia che Ubuntu, a partire dalla versione 18.04 LTS, abbandonerà la shell di Unity per passare a GNOME come desktop predefinito, nella comunità si è mosso un vero e proprio fermento, in particolare di persone che non vogliono essere costrette a dover rinunciare al loro DE preferito. Sembrano lontani i tempi dei tanti detrattori di Unity e, ora che il progetto è stato ufficialmente abbandonato, se ne rimpiangono già le funzionalità uniche ed è palpabile in tutta la comunità l'amarezza per l'abbandono forzato.

     

    In tutto questo panorama, tanti utenti hanno deciso di passare immediatamente al futuro desktop di default e di cercare di renderlo il più possibile simile al buon vecchio Unity. Uno dei punti di forza della shell di GNOME è dato dalle estreme possibilità di customizzazione che questo ambiente mette a disposizione dei suoi utenti, grazie a semplici estensioni è possibile mutare l'aspetto e i comportamenti di ogni singolo componente della sua interfaccia. Rendere GNOME simile a Unity è estremamente semplice dal punto di vista estetico, mentre sul lato delle funzionalità non tutte quelle fornite dall'HUD di Unity sono, al momento, replicabili sul desktop di GNOME.

     

    Non esiste la Dash di Unity, anche se GNOME possiede un suo equivalente, non esiste il supporto al menu globale e la maggior parte delle applicazioni GNOME non utilizza i menu tradizionali delle applicazioni. Detto ciò, grazie ad alcune semplici estensioni di facile utilizzo e ad alcuni tweak, sarà immediato avere un ambiente desktop confortevole come quello originale di Unity. Il podcaster di Bad Voltage, Stuart Langridge ha postato ciò che ha fatto lui per trasformare la shell di GNOME in un'interfaccia del tutto simile a quella di Unity e il risultato ottenuto è davvero efficace.

     

    Langridge è riuscito nell'intento attraverso alcune estensioni opensource: Dash to Dock, per avere una Dash sul lato destro dello schermo e con il pulsante del launcher nella parte superiore; Better Volume, per modificare il volume con il mouse sull'indicatore del pannello; Top Icons Plus, per spostare la tray in alto a destra nel pannello superiore. Langridge ha inoltre utilizzato gli stessi temi che già utilizzava su Unity: Arc Darker GTK e Papyrus Icons. Attraverso l'applicazione GNOME Tweak è inoltre possibile attivare tutti i controlli delle finestre e spostare i pulsanti sulla sinistra, come risulta essere nell'interfaccia di Unity.

     

    Il risultato finale non è perfetto, ma è sicuramente decente e inoltre facilita il passaggio degli utenti Unity di vecchia data al nuovo desktop GNOME, che sarà di default su Ubuntu 18.04 LTS.

     

    Fonte: omgubuntu.co.uk

    il 27 April 2017 08.54

    13 April 2017

    Categoria: 

    È arrivato. Canonical ha ufficialmente rilasciato Ubuntu 17.04 e il sistema è disponibile per il download assieme a tutte le derivate, tra queste il debutto della nuova Ubuntu Budgie. Questo non è un normale rilascio di Ubuntu, si tratta potenzialmente dell'ultima versione della distribuzione con Unity 7 come unico desktop di default. Non è una certezza, ovviamente, ma sappiamo che Ubuntu ha intenzione di passare a GNOME per il rilascio di Ubuntu 18.04 LTS, previsto per il prossimo anno, ed è possibile che gli sviluppatori favoriscano la transazione in parte già dalla 17.10.

     

    Ubuntu 17.04 vede anche il termine dell'alfabeto per i nomi in codice, non sappiamo ancora se si ripartirà dalla lettera 'a' per portare avanti questa tradizione oppure se, anche sotto questo punto di vista, Ubuntu 17.04 segnerà la fine di un'epoca. Insomma, si tratta di un rilascio agrodolce per tutti gli appassionati di Ubuntu.

     

    Sul lato tecnico, Ubuntu 17.04 non avrà più necessità di partizioni di swap della dimensione di almeno due volte quella della RAM. Non ha più molto senso su sistemi moderni dotati di molta memoria ed è per questo che verrà utilizzato un file di swap con una politica di dimensionamento completamente diversa. Ubuntu 17.04 include il kernel Linux 4.10, che è una grande notizia per tutti coloro che utilizzano CPU AMD Ryzen o sistemi Intel Kaby Lake. I giocatori invece apprezzeranno molto anche l'utilizzo di MESA 17.0.2 e del server X.Org 1.19.2 incluso per impostazione predefinita.

     

    Sono inoltre state aggiornate quasi tutte le applicazioni di sistema ed è stata inclusa la versione 5.3 di LibreOffice, l'unica eccezione è il file manager Nautilus fermo alla 3.20 e Ubuntu Software alla 3.22, il resto è tutto adeguato al core recentissimo di GNOME 3.24.

     

    I motivi per installare e provare Ubuntu 17.04 ci sono tutti, perciò che cosa state aspettando?

     

    Fonte : omgubuntu.co.uk

    il 13 April 2017 16.39

    Ubuntu 18.04 avrà GNOME Desktop di default

    Ubuntu-it Gruppo Promozione

    Categoria: 

    Ubuntu 18.04 LTS, la prossima release con supporto a lungo termine del sistema operativo Ubuntu verrà rilasciata con l'ambiente desktop di GNOME al posto di Unity 7. Ubuntu 17.04 contiene già molti elementi dello stack di GNOME 3.24 e soltanto il file manager Nautilus rimane ancorato al branch 3.20 a causa delle incompatibilità con il desktop di Unity 7 della nuova versione.

     

    Unity 8 e la visione di Ubuntu sulla convergenza dei sistemi operativi, non sono più il futuro del computing che Canonical e il fondatore di Ubuntu, Mark Shuttleworth, avevano immaginato e preventivato. "Ho sbagliato su entrambi i fronti", ha rivelato lo stesso Mark. "Nella comunità i nostri sforzi sono stati visti come frammentazione e non come innovazione."

     

     

     

    Da'ora in avanti, Canonical concentrerà i propri sforzi sulle tecnologie cloud (OpenStack, LXD, kubernetes, Juju, MAAS, BootStack) e su IoT (Internet of Things), in modo da rendere Ubuntu Linux il sistema operativo più utilizzato sulle infrastrutture cloud sia private che pubbliche. La tecnologia Snappy proseguirà ad essere sviluppata, per via dell'elevata sicurezza che porta, del fatto di essere cross-distro e grazie al suo largo utilizzo nei dispositivi dell'IoT.

     

    Fonte : news.softpedia.com

    il 13 April 2017 13.30

    07 April 2017

    Categoria: 

    Annunciamo un nuovo Membro della Comunità: Giulio Leuci! :D

    Giulio è un membro del Gruppo Documentazione, dove ha portato la maggior parte dei suoi contributi, ma è anche un contributore di lunga data al forum.

    Ricordiamo che la membership, cioè il diventare un membro ufficiale della Comunità italiana di Ubuntu, è un riconoscimento per il prezioso e costante impegno svolto per la Comunità.

    Complimenti e auguri di buon lavoro Giulio!

    il 07 April 2017 18.33

    06 April 2017

    In today’s fast-paced world, data is multiplying at such an astonishing rate that analysts expect it to be 50 times as much by the end of this decade, which is only 3 short years away.

    This accelerated growth of data is a result of a confluence of variegated sources. Sources for this data include data from advances in human knowledge, advances in communication technology, and advances in human interactions.

    For instance, scientific information from CERN is creating 40 terabytes of data per second; the rapid production of affordable mobile devices is improving human communications across the globe; and the preponderance of influential social media networks is making it possible for billions of conversations across the world 24 hours a day.

    In addition, astonishing technological advances are fueling the rate at which data is created and disseminated. The cloud, for example, is generating far more data than on-premise infrastructure ever could. This is because data creation is being fueled by the unique properties of the cloud such as economics of scale, extensibility, agility, and affordability.

    Consequently, due to its accelerated and voluminous expansion through multiple sources and increasingly sophisticated technologies data is now being referred to as Big Data.

    How Big Data Can Benefit Small Businesses

    Since much of this data is unstructured, it’s easy to understand why a small business might be reluctant to get involved in the capture and use of relevant portions of this big data. However, this is not looking at things in the right way. A small business only needs to tap into a small amount of big data to begin to prosper in an unprecedented way and there are many affordable tools that it can use to collect and evaluate data.

    High quality data can help a company make the right decision, and as a result, move in the right direction. Accessing relevant data can help a small business substantially increase its revenues.

    As a small business owner, you may want to know the behavior of customers as they move through your sales funnel. Or you may want to know the what persuades customers to buy your products. Or you may want to know how customers found your website in the first place.

    Software Tools to Collect and Analyze Big Data

    Here are four examples of software that you could use to find out the answers to your questions:

    1. Use IBMs Watson Analytics to help you to identify sales patterns.
    2. Use Google Analytics to tell you where your visitors come from; it will tell you what they do on your website; and it will tell you what devices they use to read your content.
    3. Use Canopy Labs to find out how much each customer is worth to your business.
    4. Use Salesforce to track leads, conversion rates, and sales.

    Using these and other software resources to capture and analyze data will allow you to make better use of your time, money, and efforts. It’s much easier to be successful if you build your business based on big data.

    How a Small Business Benefited From Big Data

    So how does all this work in the real world?

    In 2013, a car marketplace in Phoenix called Carvana used Big Data to improve its business and customer experience. in an Inc article, What 3 Small Businesses Learned From Big Data, author Kevin Kelleher describes how the company mined customer data to reduce its financial risks:

    Although many car dealerships simply look up a buyer’s credit score, Carvana scans hundreds of variables across several databases – including full credit reports from multiple companies and searches of the LexisNexis legal and news databases – to predict the likelihood of defaults, better tailor interest rates for individual customers, and weed out suspect buyers.

    Small Business Marketing and Big Data

    Small businesses that focus on marketing prosper because they realize that big data is the currency of good marketing. The best marketers rely on the quality of their data to fine-tune their intuitions on how and when to launch their initiatives. In essence, then, data drives the efficacy of key decisions. Good data leads to decisive wins. Conversely, insufficient data or misleading data can derail the best conceived business plans. What you don’t know could be costing you money…and what you do know can start making you money.

    The post How Can Small Businesses Benefit From Big Data? appeared first on deshack.

    il 06 April 2017 19.19
    Categoria: 

    Mark Shuttleworth ha annunciato un cambio di programma per Ubuntu: dato l'enorme interesse su Ubuntu nel settore server, cloud ed Internet of Things, Canonical ha deciso di abbandonare Ubuntu Phone e Unity8, per concentrarsi su i progetti Ubuntu più popolari.

     

     

    L'abbandono di Unity8 significa che, a partire da Ubuntu 18.04 LTS, il Desktop Environment di default sarà GNOME, come prima dell'avvento di Unity nel 2011. Mark Shuttleworth, però, ha voluto sottolineare come Ubuntu Desktop è una parte fondamentale di Ubuntu, e che non verrà abbandonato.

    Fonte: insights.ubuntu.com

    il 06 April 2017 07.29

    05 April 2017

    Categoria: 

    L'ultima release stabile dell'ambiente desktop opensource GNOME porta una serie di nuove funzionalità e miglioramenti tale da costituire un deciso passo avanti rispetto alla versione precedente. Si tratta del 33o rilascio del popolare ambiente desktop e di fatto siamo di fronte a una versione costata ben 6 mesi di sviluppo e un lavoro che ha portato a 28459 modifiche apportate. GNOME 3.24 è un rilascio maturo e stabile, ma anche completo di tante nuove funzionalità.

     

    Non è questo l'ambito per elencare tutte le nuove caratteristiche di GNOME, ma alcune funzionalità sono estremamente degne di nota. Tra queste, GNOME Night Light è una novità assoluta e si tratta di una applicazione che regola la temperatura dello schermo in base all'orario della giornata. Attenuando la luce blu attraverso transazioni verso tonalità più calde, GNOME Night Light contribuisce a ridurre l'affaticamento degli occhi, a promuovere cicli di sonno naturale e costituisce un vero toccasana per la salute degli utenti. GNOME Night Light regola il colore dello schermo utilizzando i tempi di alba e tramonto per la propria posizione(rilevata automaticamente), ma è anche possibile creare pianificazioni personalizzate.

     

    GNOME Shell 3.24 presenta tutta una serie di utili piccoli miglioramenti, un look ancor più raffinato e una reattività generale incrementata. Informazioni meteo e notifiche più comprensibili nell'area a discesa con data e calendario, media control box risistemato e la lista WiFi è ora ad aggiornamento automatico. Tanti piccoli accorgimenti che rendono l'esperienza d'uso di GNOME ancor più semplice e immediata.

     

    GNOME Nautilus 3.24 è l'elemento più famoso del desktop di GNOME. L'attenzione per il file manager si è concentrata essenzialmente sul correggere i bug, risolvere i crash e sul migliorarne prestazioni e reattività. Nuove scorciatoie e una velocità aumentata rendono il file manager Nautilus uno strumento ancor più semplice e produttivo. Inoltre, icone e MIME ridisegnate conferiscono al desktop un aspetto più luminoso e moderno.

     

    Oltre a ciò, GNOME Foto, in versione stabile e funzionale, GNOME Ricette, una applicazione desktop per i patiti di cucina, GNOME Giochi, una biblioteca per i videogames che può fungere anche da front-end per il sistema di emulazione libretro core, e una versione rinnovata di POLARI, il client GNOME IRC, permettono a GNOME 3.24 di essere un ambiente desktop completo e con tante applicazioni utili di serie.

     

    Ogni nuova release di GNOME è accompagnata anche da ulteriori miglioramenti nell'esperienza d'uso se utilizzato con Wayland, il server grafico di nuova generazione utilizzato da distribuzioni alternative a Ubuntu, e anche la versione 3.24 non fa eccezione. Bug sistemati, rendering grafico e drag&drop migliorati, velocità incrementata e supporto completamente funzionale delle tavolette Wacom. Ricordiamo che, per gli utenti Ubuntu, GNOME 3.24 sarà disponibile da Ubuntu 17.04.

     

    Fonte: omgubuntu.co.uk

    il 05 April 2017 08.19

    01 April 2017

    Categoria: 

    Ubuntu 17.04

     

    Il 13 Aprile verrà rilasciato Ubuntu 17.04, nome in codice Zesty Zapus. Come per ogni nuovo rilascio di Ubuntu, è necessario aggiornare le pagine di servizio del nostro wiki.

    Nella pagina GruppoDocumentazione/Zesty puoi prendere in consegna una pagina per apportare le modifiche necessarie, seguendo una procedura ben rodata:

    1. inserisci nella tabella il tuo nome utente, accanto alla pagina che intendi aggiornare;
    2. copia il contenuto della pagina che hai scelto di aggiornare in una nuova pagina di prova, lasciando integra la struttura. Quello che conta è aggiornare nomi e collegamenti, tenendo in considerazione l'arrivo della 17.04 e togliere eventuali riferimenti alla versione 12.04 che è arrivata a fine supporto;
    3. inserisci nella tabella il collegamento alla tua pagina di prova ed eventuali note per segnalare cosa manca o cosa dovrà essere ancora controllato.

    Il giorno del rilascio sarà sufficiente fare copia/incolla dei contenuti dalle pagine di prova nelle pagine ufficiali della documentazione wiki.
    Attenzione, parte dei link per la 17.04 potrebbe ancora non essere disponibile. In questi casi sarà sufficiente scriverli nella stessa forma come per le versioni precedenti, per poi verificarli il giorno del rilascio ufficiale.

    Dato che c'è una scadenza da rispettare è bene prenotare una pagina solo se in quel momento si ha veramente il tempo per lavorarci. Si evita così di bloccare a lungo una pagina mentre qualcun altro può occuparsene ;)
    Per qualsiasi dubbio, fai riferimento alla pagina FAQ e a questa discussione. Ti aspettiamo!

     


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

    il 01 April 2017 14.07

    30 March 2017

    Categoria: 

    A ogni ciclo di rilascio di una nuova versione di Ubuntu, artisti di talento di tutto il mondo creano immagini da utilizzare come sfondo per la scrivania e rilasciano le loro opere sotto licenze libere che ne incoraggiano la condivisione e l'adattamento. Per Ubuntu 17.04, sono state inserite ben 96 immagini nella raccolta di Flickr per la Ubuntu 17.04 Free Culture Showcase. Tutte le richieste che sono state ammesse possono essere scaricate e utilizzate su qualsiasi sistema Ubuntu, ma anche su altre distribuzioni Linux.

     

    Grazie alla partecipazione di tutta la comunità Ubuntu e ai voti dei suoi membri, 12 immagini sono state scelte come vincitrici dello Ubuntu 17.04 Free Culture Showcase e verranno incluse nella distribuzione finale di Ubuntu 17.04.

    In particolare, le immagini vincitrici che saranno incluse ufficialmente in Ubuntu 17.04 sono risultate essere:

     

    Un grande complimento ai vincitori e un grazie a tutti coloro che hanno partecipato a questa produzione e selezione di wallpaper. È possibile trovare gli sfondi vincitori (insieme a decine di altri sfondi mozzafiato) presso la raccolta Flickr della Ubuntu 17.04 Free Culture Showcase oppure nella lista dei wallpaper per il desktop dopo aver aggiornato o installato Ubuntu 17.04 il 13 aprile prossimo.

    Fonte: nhaines.com

    il 30 March 2017 08.33