Archive for the
‘Tipologie & Campi di Applicazione’ Category

Intelligenza Umana e Intelligenza Artificiale: il connubio perfetto verso un futuro di opportunità

 

“La ricerca intesa come strumento di conoscenza e non come oggetto di competizione e strumento di potere.” 

                                                                                                                                                                                                –  Rita-Levi-Montalcini

 

Avete già sentito parlare almeno una volta di IA, conosciuta come Intelligenza Artificiale, giusto?

Bene! 

Il contenuto di questo articolo verterà su un’importante partnership tra 4 medio-grandi realtà Italiane e non sarà il solito articolo lungo e noioso pieno di tecnicismi.

Tutto ruoterà intorno alla ricerca e allo sviluppo di nuove tecnologie e ad un mix di risorse informatiche e soprattutto umane; è l’inizio della mera compenetrazione uomo-macchina applicata in ambito di life science e protagoniste della scena saranno SAIHub, Moresi,  Tecnoscientia, e Bluecube.

E’ da anni che si parla di quanto sia importante l’IA e di quanto sarà impattante nel futuro di tutti noi, specialmente in ambito medico.

Essa comprende una serie di attività che solitamente sviluppa l’essere umano: dalla percezione visiva, alla capacità di prendere decisioni, alla capacità di comprendere e tradurre linguaggi differenti, a quella di elaborare informazioni, …

IA è una vera e propria rivoluzione umana, culturale, scientifico-tecnologica: è ciò che simula il ragionamento umano e, a braccetto con l’intelligenza umana, crea un circolo di empatia, comprensione, informazione e guida verso nuove e migliori scelte al fine di migliorare la vita delle persone. 

Ci troviamo di fronte ad una rivoluzione in ambito anche medico-sanitario caratterizzata dalla possibilità di effettuare attività di ricerca in base a quelli che sono i bisogni dell’uomo in termini di salute, diagnosticando tempestivamente fattori che possano mettere a rischio la vita dell’uomo,  preventivando lo sviluppo. 

Intervistiamo la Recruiter

A tal proposito è bene lasciare spazio ai 4 nostri protagonisti, conoscendoli più da vicino.

SAIHub, centro nato a Siena per volontà della locale Università, delle Fondazioni Monte dei Paschi e Toscana Life Sciences, di Comune e Confindustria è il luogo adatto a ricercatori, aziende e giovani studenti che vogliono sviluppare progetti in ambito IA e crescere insieme condividendo valori e conoscenze.

Valter Fraccaro, presidente del Partenariato SAIHub afferma che: “lo scopo è quello di far crescere l’economia toscana facilitando l’uso dell’IA nelle aziende che si occupano di Life Sciences, in particolare nella ricerca e sviluppo di nuovi prodotti e servizi.

A Siena, l’interazione tra Università e aziende del settore risale al 1904, quando Achille Sclavo fondò l’Istituto Sieroterapico, divenendo poi Rettore del locale ateneo nel 1914.

Come SAIHub, favoriamo in ogni modo l’approccio dei giovani ai temi della ricerca scientifica e dell’uso dell’IA attraverso borse di studio universitarie, orientamento per i più giovani, premi per chi collabora con le 28 aziende socie della Rete SAIHub.

Le Life Sciences sono fondamentali per raggiungere gli obiettivi dell’Agenda 2030 dell’ONU e l’Italia può confermarsi come uno dei Paesi più avanzati al mondo in questo ambito”.

 

 

La parola ora va a Moresi.com, società con sede in Ticino, leader della Digital Transformation e Gold Partner Microsoft.

Che cosa si aspetta da questa partnership?

“Ogni partnership che stringiamo viene costruita nell’ottica di integrare le nostre competenze con quelle di altri soggetti, al fine di portare al mercato soluzioni con un valore aggiunto. All’interno di SAIHub, potremo far parte di una ampia rete di imprese, istituzioni, atenei e questo ci permetterà di dare il nostro contributo per la progettazione di tecnologie e servizi di Intelligenza Artificiale nell’ambito delle biotecnologie e delle Scienze della Vita”.

Quali sono i valori che secondo lei legano Moresi.com, Bluecube e SAIHub?

“Innanzitutto, la passione per la tecnologia e la convinzione che attraverso essa si possa migliorare la vita dell’uomo. Moresi.com e Bluecube hanno già avuto modo di allineare le loro visioni stringendo una partnership che vede le due aziende collaborare sul tema del DevOps in Azure.
Credendo fortemente nella logica della collaborazione, entreranno a fare parte della rete SAIHub come Tecnoscientia, società che nasce dalla loro fusione e che pone il miglioramento dei processi di automazione, analisi e misurazione al centro della propria missione”.

Quali sono le aspettative future legate a questa cooperazione? 

“Partecipando a questo spazio che include imprenditori, investitori, ricercatori e studenti interessati al tema dell’Intelligenza Artificiale, ci aspettiamo sicuramente una condivisione di idee e know-how non fine a se stessa, ma che sia preludio di uno sviluppo di nuovi progetti e iniziative, e alla base di una crescita comune e condivisa“.

 

Scopriamo ora chi è Tecnoscientia.

Tecnoscientia si propone sul mercato Italiano come azienda leader nel settore dell’High Tech e IT.

Fondata da Fabrizio Lodi ed operante sul mercato dal 2019 e lavorando su diversi settori, ha sviluppato nel corso della sua vita una serie di progetti con annesse differenti tecnologie, tra le quali ritroviamo: Solr, Tika, Jena, Mongo, Oracle BI, Bizagi, OpenCV, Docker, Swarm.

Partner ufficiale di Bizagi, colosso mondiale in ambito di BPM, la piattaforma per l’automazione intelligente dei processi che collega persone, applicazioni, robot e informazioni.

Il DNA di Tecnoscientia è dato dall’intreccio di 4 principi:

  1. Dritti al punto: le competenze dei fondatori e del team permettono di comprendere per qualsiasi esigenza dei clienti, la soluzione più giusta piuttosto che la migliore. 
  2. Esperti del Cloud: Tecnoscientia prevede che per ogni ambiente si disponga, si ha l’expertise adatta: che sia Docker, Azure, Google. Amazon WS, Vagrant, ecc…
  3. I Processi al Centro: l’azienda pone i processi di automazione, analisi e misurazione al fine ultimo di garantirne il loro miglioramento, con soluzioni economiche adatte ad ogni tasca.
  4. Applicazioni Web: da più di 30 ann il team dii Tecnoscientia sviluppa applicazioni web spaziando in settori differenti: Finance, Logistica, Pharma, GDO, e molto altro, garantendo la soluzione migliore per i propri clienti. 

 

Troviamo inoltre Bluecube, azienda operante nel settore dell’IT & High Tech dall’anima Open Source, fondata nel 2009 da Manuel Fontana, CEO ufficiale della società.

Quale sarà il posto di Bluecube all’interno di SAIHub con Tecnoscientia ?

“Partiamo da Tecnoscientia: è una start up dal potenziale tecnologico come poche ed io nella mia carriera ho avuto modo di confrontarmi con differenti realtà; il suo potenziale, le sue qualità e le sue competenze, coincidono nella maniera più genuina con i valori di SAIHub e di Bluecube.

Penso sia indispensabile oggi giorno diffondere il senso della cooperazione e dello sviluppo di tecnologie innovative atte a trarre vantaggio collettivo al fine di migliorare la vita delle persone.

In questo caso noi parliamo di salute; abbiamo già avuto modo di confrontarci con una pandemia che ancora oggi ci ha lasciato segni invisibili addosso ed è stata allo stesso tempo la “miccia” che ha acceso in noi la voglia ed il bisogno di collaborare per trovare soluzioni UTILI al benessere collettivo.

Ciò cela il significato di aiuto reciproco, un concetto che ha bisogno di essere sviscerato da ogni barriera e da ogni tipologia di presa di potere e di autoaffermazione: si collabora per divulgare i valori, le conoscenze e gli strumenti adeguati e non per predominare, specialmente in un settore come quello della life science!

Ho sempre investito nella ricerca e nello sviluppo e sarà proprio questa la mia responsabilità all’interno di Tecnoscientia nel progetto SAIHub.

In questo momento per fare tutto ciò stiamo avviando tavoli di discussione all’interno di SAIHub e all’interno anche delle Università di Pisa e di Siena con l’obiettivo finale di creare un team composto sia da scienziati che da sviluppatori per fare ricerca in ambito IA nel mondo del Life Sciences”.

SaiHub è una realtà che dà spazio anche ai giovani; cosa pensi di ciò? In che modo a tuo avviso, collaborando molto con i giovani, questi possano dare il loro contributo al centro di ricerca?

“Oggi l’unica strada praticante è quella di dare spazio ai giovani e soprattutto che i più talentuosi restino qui, in Italia, nel loro paese e che non se ne vadano.

Ai più talentuosi trovo sia doveroso affidare progetti di ricerca e retribuirli nella maniera corretta, tanto è vero che anche in Bluecube funziona così: ai giovani si offrono possibilità di intraprendere una carriera in ambito IT e di scoprirne ogni suo dettaglio a 360 gradi per poter poi crescere e fare tesoro delle loro competenze e conoscenze.

In Italia abbiamo delle vere e proprie eccellenze a livello mondiale e, tornando al discorso di SAIHub, il loro contributo rappresenta La marcia in più per rimanere qui!”

Che cosa pensi quando qualcuno ti dice “open innovation”? E come colleghi questa parola alle caratteristiche di Bluecube? 

“Bluecube è nata sulla base dell’Open Source ed ha sempre creduto nella cooperazione, perciò il passo successivo all’Open Source è l’Open Innovation”.

Trovi delle similitudini tra la mission aziendale di Bluecube e quella di SAIHub?

“Assolutamente si! Le mission sono identiche: stessa mentalità, stessa condivisione di informazioni e di network, che sono due dei tanti ingredienti indispensabili a raggiungere gli obiettivi”.

Che cosa ti aspetti da questa partnership? 

“La mia più grande aspettativa, guardando da adesso verso il futuro è quella di riuscire a creare una grande forza composta da alcuni principi, quali ad esempio la collaborazione, la condivisione di valori comuni e di conoscenze tecniche e tecnologiche  che prenda parte sia qui in Italia che nel resto del mondo”.

In conclusione, auguriamo che questa partnership porterà grandi risultati e grandi successi!

Best Php Design Patterns

Introduction

Design patterns are commonly defined as time-tested solutions to recurring design problems. The term refers to both the description of a solution that you can read, and an instance of that solution as used to solve a particular problem.

Why use design patterns?

Design patterns have two major benefits. First, they provide you with a way to solve issues related to software development using a proven solution. The solution facilitates the development of highly cohesive modules with minimal coupling. They isolate the variability that may exist in the system requirements, making the overall system easier to understand and maintain. Second, design patterns make communication between designers more efficient.

Right, can you show me some example?

Sure, i’ll show you some of the most used design patterns in PHP Language, starting by the Factory Pattern.

Factory Pattern

Factory is a creational design pattern which solves the problem of creating product objects without specifying their concrete classes. It defines a method, which should be used for creating objects instead of direct constructor call (new operator). Subclasses can override this method to change the class of objects that will be created.

<?php
class Automobile
{
    private $brand;
    private $model;

    public function __construct($brand, $model)
    {
        $this->brand = $brand;
        $this->model = $model;
    }

    public function getBrandAndModel()
    {
        return $this->brand . ' ' . $this->model;
    }
}

class AutomobileFactory
{
    public static function create($brand, $model)
    {
        return new Automobile($brand, $model);
    }
}

$automobile = AutomobileFactory::create('Ferrari', 'La Ferrari');

// if i print $automobile->getBrandAndModel(), the result will be "Ferrari La Ferrari"

This specific case is too much simple for explain the factory advantages, but if you need to do complex operations in order to instance the object, the factory pattern can include this complexity once, and avoid many possible mistakes.

Singleton

The Singleton pattern is Class has one instance and provides a global access point to it.

<?php
    class Singleton {
        public static function getInstance() {
            static $instance = null;
         
            if (null === $instance) {
                $instance = new static();
            }

            return $instance;
        }

        protected function __construct() {

        }
      
        private function __clone() {

        }
      
        private function __wakeup() {

        }
    }
   
    class SingletonChild extends Singleton {

    }
   
    $obj = Singleton::getInstance();
    $anotherObj = SingletonChild::getInstance();

    print_r($obj === Singleton::getInstance()); // true
    print_r($anotherObj === Singleton::getInstance()); // false
    print_r($anotherObj === SingletonChild::getInstance()); // true

Electronic Data Interchange

EDI, or Electronic Data Interchange, is a technology that helps trading partners and organizations get more done, speed up logistics timelines and eliminate manual errors by automating business-to-business (B2B) communications

The advantages of the EDI approach:

  • Unlimited EDI Translation on any desktop or server
  • EDI transfer ensures real-time processing and eliminates times associated with manually sending, receiving and entering orders
  • Increase business through secure connections between partners / suppliers / customers around the world.
  • Costs saving in operational efficiency

3 Reasons for Use Laravel

​I’m a web developer and I wish to talk about Laravel. Laravel is PHP framework, developed by Taylor Otwell in 2011 immediately finds a great consensus from the developers, why?​

1. Laravel implements the MVC pattern

The MVC is an architectural pattern using for developing UI, that divides an application into three interconnected parts; Model, View, Controller. The Model is the core of this pattern. It is not directly connected to UI and this means that the Model directly manages the data from the Database and the inputs recived from the Controller. The View is simply the visualization of the Model’s Data. Laravel use the Blade template to paginate the Data. The Controller is “The man in the Middle”, It encoding the View’s data for the model and organize the Model’s raw data for the View. This pattern have the Advantage of avoiding the code reuse, this reduces the time of Refactor and Debugging. In laravel, thanks to artisan comand, create a Model with the Controller is very fast:

php artisan make:model Easy --controller

2. Front-end

Laravel offers two way to develop very quickly you Front-end the Blade tempalate or the integration With Vue.js. Vue.js is a JavaScript framework, then it is logically separate from Laravel, for this reason is necessary a bundle of API to render the Back-end Data. But the real vantages of Vue.js is the possibilty to reuse some component with no fatigue and the possibility to create fully reactive View. On the other hand Blade is based on php, for this reason is not necessary the API approch to render the Back-end Data in this way you lose the reactivity of the View.​

3. Authentication

Laravel also offers the possibility to create pure API application using a single command:

php artisan passport:install

Laravel passport is a native package, developed for the api authentication, is very easy to use, it have all the necessary to setup the token and create the AuthMiddleware indipendenty. It have also the option to create some Vue component if you front-end is integrated in Laravel.

php artisan vendor:publish --tag=passport-components

Laravel by default implement the RESTFull standard for the API, for this the Laravel apps are much faster than apps that use SOAP standard and in these contexts every seconds is important.​For these reason Laravel has become the used and supported framework, on stackoverflow there are currently 122 455 questions about laravel against the 62 872 questions about Symfony.​If I could not convice you it will be necessary you googled laravel’s weak points​

References

Vue.js Docs Laravel Docs

 

A Briefing of Python

Introduction

Python is an interpreted, high-level, general-purpose programming language. Python is dynamically typed and garbage-collected. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. Python has a comprehensive standard library providing most commonly required functionalities, and it’s available for many operating systems. It has been first released in 1991.​

History

​In December 1989, Guido Van Rossum had been looking for a “‘hobby’ programming project that would keep him occupied during the week around Christmas” as his office was closed when he decided to write an interpreter for a “new scripting language. He had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers”. He attributes choosing the name “Python” to “being in a slightly irreverent mood (and a big fan of Monty Python’s Flying Circus)”​

Wetting your appetite

​Python is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs.​Let’s see some basic stuff:​

1. Functions Defined

The core of extensible programming is defining functions. Python allows mandatory and optional arguments, keyword arguments, and even arbitrary argument lists.​

# Python 3: Fibonacci series up to n
>>> def fib(n):
>>>     a, b = 0, 1
>>>     while a < n:
>>>         print(a, end=' ')
>>>         a, b = b, a+b
>>>     print()
>>> fib(1000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

2. Compound Data Types

Lists (known as arrays in other languages) are one of the compound data types that Python understands. Lists can be indexed, sliced and manipulated with other built-in functions.​

# Python 3: List comprehensions
>>> fruits = ['Banana', 'Apple', 'Lime']
>>> loud_fruits = [fruit.upper() for fruit in fruits]
>>> print(loud_fruits)
['BANANA', 'APPLE', 'LIME']
​
# List and the enumerate function
>>> list(enumerate(fruits))
[(0, 'Banana'), (1, 'Apple'), (2, 'Lime')]

3. Intuitive Interpretation

Calculations are simple with Python, and expression syntax is straightforward: the operators +, -, * and / work as expected; parentheses () can be used for grouping.​

# Python 3: Simple arithmetic
>>> 1 / 2
0.5
>>> 2 ** 3
8
>>> 17 / 3  # classic division returns a float
5.666666666666667
>>> 17 // 3  # floor division
5

4. Quick & Easy to Learn

Experienced programmers in any other language can pick up Python very quickly, and beginners find the clean syntax and indentation structure easy to learn.​

# Python 3: Simple output (with Unicode)
>>> print("Hello, I'm Python!")
Hello, I'm Python!
​
# Input, assignment
>>> name = input('What is your name?\n')
>>> print('Hi, %s.' % name)
What is your name?
Python
Hi, Python.

5. All the Flow You’d Expect

Python knows the usual control flow statements that other languages speak — if, for, while and range — with some of its own twists, of course.​

# For loop on a list
>>> numbers = [2, 4, 6, 8]
>>> product = 1
>>> for number in numbers:
...    product = product * number
... 
>>> print('The product is:', product)
The product is: 384

So far, so good. Now, if you’re interested in learning Python, take a look at this wide collection of guides, from beginners to advanced programmers and… have fun!