(Ci vuole un Fiore)

It takes a Flower

Tomorrowdata's Blog

Sibilla

Progetto SIBILLA

Industria 4.0, Big Data Analytics, Machine Learning e Internet of Things

TOMORROWDATA SRL
Progetto finanziato nel quadro del POR FESR 2014-2020
ASSE 1 AZIONE 1.1.5
per un importo di Euro 88.048,64

Realizzato da un team di 4 aziende con l’obiettivo di ricerca, progettazione e sviluppo di un SIstema di Business InteLLigence per Aziende Industria 4.0, con funzionalità di collaboration, automatic interaction, Big Data Analytics e machine learning per estrarre conoscenza realizzando analisi predittive integrando Big Data acquisiti dal Web e da architetture Internet of Things.

La gestione e la valorizzazione dei Big Data rappresenta una delle più importanti sfide tecnologiche che le imprese devono affrontare nel contesto di industria 4.0 per rendere più efficace ed efficiente la gestione dei propri processi.
Gli attuali sistemi di Business Intelligence (BI) e di Corporate Performance Management (CPM) non rispondono pienamente all’esigenza di adeguare l’ambito della BI innovandola verso l’integrazione con soluzioni e tecnologie tipiche di Industria 4.0, come impiegare funzionalità evolute di data mining e machine learning per estrarre conoscenza da grandi moli di dati, siano essi detenuti nei sistemi informativi aziendali, raccolti dal Web o acquisiti tramite architetture IoT.
Il consorzio d’imprese costituito per l’esecuzione del progetto, vede coinvolta FabricaLab S.r.L. come capofila oltre allle società BSD, TomorrowData e Università di Pisa. SIBILLA si pone l’obiettivo di superare le criticità degli attuali sistemi di CPM/BI realizzando il prototipo di un sistema di BI che implementi tecnologie tipiche di industria 4.0 e sia in grado di estrarre, da Big Data provenienti da fonti eterogenee, se pur esogene, informazioni utili a realizzare analisi predittive e ad ottimizzare la gestione dei processi aziendali. Nell’ambito del progetto verranno sviluppati moduli software con funzionalità di web crawling, data pre-processing, text analysis e Big Data mining, in grado di realizzare sentiment analysis e opinion mining su dati raccolti dal web.

Risultati raggiunti

Sono stati sviluppati moduli software con funzionalità di web crawling, data pre-processing, text analysis e Big Data mining, in grado di realizzare sentiment analysis e opinion mining su dati raccolti dal web. TomorrowData in particolare ha implementato una soluzione per sfruttare in chiave predittiva le misurazioni di grandezze fisiche effettuate da architetture IoT.

Maggiori dettagli sul modulo sottosistema di AI/Industrial IoT realizzato da Tomorrowdata sono consultabili qui

 

Lavora con noi

TomorrowData è una startup appena costituita e incubata dall’Università di Torino, che nasce dopo tre anni di lavoro di un team specializzato nello sviluppo di soluzioni Internet of Things (IoT) in ambito industriale. In particolare progetti che permettano alle aziende di controllare e gestire i loro prodotti via internet.
Abbiamo sviluppato la piattaforma Iottly, per semplificare e accelerare la realizzazione di progetti IoT. La piattaforma è stata presentata e premiata a PyCon Sette ad Aprile 2016. Il progetto è open source, su github: https://github.com/iottly
Il progetto per proporre Iottly sul mercato come servizio cloud è stato selezionato da TIM per l’edizione 2016 di TIM #WCap e a fine Settembre abbiamo iniziato il programma di accelerazione.

Ci attendono mesi entusiasmanti per il completamento di alcune funzioni della piattaforma e il suo lancio online, ed è arrivato il momento di avere nuovi compagni di viaggio in questa nostra avventura.

Chi cerchiamo?
Una persona con disponibilità immediata, appassionata, aperta e collaborativa, amante del codice ben scritto e del software open-source.
Il ruolo da ricoprire è di Backend Developer in Python.
L’ambiente di sviluppo è Linux / Docker / Git. Lo stack di produzione è Nginx / Docker / AWS.

Nice to have:
Laurea in area tecnico/scientifica.
Esperienza di sviluppo di RESTful APIs su MongoDB e di asynchronous web development (Tornado).
Una buona padronanza della lingua inglese, parlata e scritta.
Nota: Se non sei laureato o hai esperienza in altri linguaggi / tecnologie non esitare a contattarci: per noi la capacità e disponibilità ad imparare (in fretta …) sono importanti quanto le competenze acquisite.
L’esperienza in progetti (anche amatoriali) con Arduino / Raspberry Pi / etc etc è un punto a favore!

Inviaci il tuo CV e qualunque cosa (scritto/audio/video) possa servire a presentarti e farci immaginare chi sei a: jobs AT tomorrowdata.io

Hiring process:
1. Screening CV
2. Primo contatto e code test su skype
3. Intervista attitudinale e tecnica (in inglese) on-site
4. Sessione di lavoro retribuito di due giorni presso la nostra sede, in cui ti verrà assegnato un task ridotto ma vero, fornendo strumenti e supporto per eseguirlo.
5. Feedback e esito finale.

Sede di lavoro: Torino, in coworking e ambiente internazionale
Possibilità fino ad Aprile 2017 di operare a Bologna (presso il TIM #WCap Accelerator)
Possibilità, previo primo periodo di conoscenza, di eseguire parte del lavoro da remoto

Cosa offriamo?
Contratto di Apprendistato 24 mesi, CCLN Metalmeccanici
RAL (di ingresso): 20K-25K€/anno in funzione del profilo e del know how dimostrato
Almeno il 15% dell’orario destinato alla formazione o sperimentare nuove tecnologie
Possibilità di orari di lavoro flessibili
Prospettiva di accedere ad un piano di stock options / bonus % sulle revenue dell’azienda
Budget per la partecipazione a conferenze/eventi per sviluppatori
Assicurazione sanitaria aziendale

Sei interessato ma lavori come Freelance? Entriamo in contatto.

Open multiple terminals at predefined positions, with different histories, from a Gnome icon

I was working on a project where I needed to open every time the same four terminals at different paths and I wanted to have command histories saved separately for each bash.
I ended up with this solution some times ago on Ubuntu 14.04. Now, before moving to 16.04, I’d like to have the procedure saved for later reference. So here you are! As the title suggest, this post is about:

  • Opening multiple terminals at predefined monitor positions
  • with different bash histories
  • from a Gnome desktop icon

The procedure relies on gnome-terminal. I use it on Ubuntu with Gnome. As far as I know Unity uses gnome-terminal as well, so the same should apply.

Setup

Each bash will have a different working directory.
We are going to use working dirs as ‘unique identifiers’ of each bash. (This could be improved using some env var with a uuid to identify each bash).
Throughout the post:

  • project directory: MyProject
  • workdir of bash X: MyProject/dirX, with X from 1 to 4

Of course each dir name can be customized.

Now, prepare the directories (the example assumes MyProject in the home dir, but it can be anywhere):
[code language=”bash”]cd ~ && mkdir MyProject && mkdir MyProject/dir1 && mkdir MyProject/dir2 && mkdir MyProject/dir3 && mkdir MyProject/dir4 && cd MyProject/[/code]

Opening multiple terminals at predefined monitor positions

For this task We use the gnome-terminal option to save terminal configurations:

  • open 4 terminals (be sure you don’t have any other terminal opened)
  • in each of them [code language=”bash”]cd MyProject/dirX[/code]
  • drag and resize each terminal at your preferred position/size
  • in one of the terminal save the configuration for ALL of them (this include workdir, position and size): [code language=”bash”]gnome-terminal –save-config=../myproject-term-conf[/code]

multiple-bashes-with-different-histories

To open the saved configuration:

  • close all the terminals
  • open a new terminal and create a shell script: [code language=”bash”]nano MyProject/open-terms.sh[/code]
  • paste this command into the script and save/exit:
    [code language=”bash”]
    cd $HOME/MyProject
    gnome-terminal –load-config=myproject-term-conf
    [/code]
  • give execute permission: [code language=”bash”]chmod +x MyProject/open-terms.sh[/code]
  • test it: [code language=”bash”]MyProject/open-terms.sh[/code] – you should see the four terminals opening at correct positions with the desired working dirs.

Different bash histories

For this task we are going to add a snippet at the end of .bashrc:

  • edit .bashrc: [code language=”bash”]cd ~ && nano .bashrc[/code]
  • add this snippet at the end of the file:
    [code language=”bash”]
    TERMLIST="MyProject.dir1 MyProject.dir2 MyProject.dir3 MyProject.dir4"

    CURTERM=$(basename ${PWD%$(basename $PWD)}).$(basename $PWD)

    if [[ $TERMLIST =~ $CURTERM ]]
    then
    [[ -d ~/.history ]] || mkdir –mode=0700 ~/.history
    [[ -d ~/.history ]] && chmod 0700 ~/.history
    HISTFILE=~/.history/history.$CURTERM
    # set HISTFILESIZE to a large value
    HISTFILESIZE=4096
    HISTSIZE=4096
    ls -la
    fi
    [/code]

What the snippet does:

  • $TERMLIST contains the list of “terminals” for which you want to separately save histories
  • $CURTERM identify the currently opened terminal. Each terminal is identified as listed in $TERMLIST – slashes are substituted with dots because $CURTERM is used as the file name for the current history. Note that $PWD corresponds with the WORKDIR configured in myproject-term-conf
  • a .history directory is created in your home if it doesn’t exist
  • the bash env variable HISTFILE is set with the customized value for the current terminal
  • I also like to have a large history and WORKDIR content listed when the terminal opens

Test what we have done up to now:

  • Close any terminal
  • Open a new one and [code language=”bash”]MyProject/open-terms.sh[/code]
  • The four terminals should open in correct positions
  • Now type a different command in each terminal, for example: [code language=”bash”]echo X[/code] with X from 1 to 4
  • Now close all the terminals and open a new one, typing: [code language=”bash”]ls .history/[/code]
  • You should see four history files, one for each terminal (keep in mind the first time you won’t see the history files until you have closed the terminals)
  • Now again [code language=”bash”]MyProject/open-terms.sh[/code]
  • Try searching the previous echo commands in different histories!

Setup the Gnome desktop icon

  • Create Gnome desktop launcher: [code language=”bash”]nano ~/.local/share/applications/open-terms.desktop[/code]
  • Paste the following (changing what needed)
    [code]
    [Desktop Entry]
    Type=Application
    Terminal=false
    Exec=[full path to MyProject dir; don’t use ~ or $HOME]/MyProject/open-terms.sh
    Name=Multi Terminals
    Comment=Multi Terminals Opener
    Icon=[your favorite icon here]
    [/code]
  • From now when searching Gnome for the Application “Multi Terminal”, a launcher should appear with your new icon
  • Right click on it and “add to Favorites” to add it to Gnome side bar.

Fondatori

 

 

stefano-terna

Stefano Terna

 

 

daniele-grieco

Daniele  Grieco

 

 
 

Come Lavoriamo