SlideShare a Scribd company logo
Me & 
Google@Home 
Vytas Dauksa 
Slides are available at goo.gl/iRUI9C 
many thanks to mudler!
Agenda 
● Intro to G@Home 
● How to use it 
● What’s done 
● Where is it heading
About me 
● I graduated last year, since then: 
o Contributed to Linux Kernel 3.15 
o Published DateTimeX::Period module 
o Mentored a student at GSoC 
o Started speaking in public 
o Questioned Perl’s best practises in blogs.perl.org 
o Began using Perl for my personal projects
About me 
● Currently, I am trying to start monthly Perl 
technical meetings in Southampton.
but really I am just starting..
What’s Google@Home? 
Young, yet awesome Perl project...
What’s Google@Home? 
Young, yet awesome Perl project… 
…that aims to help automate your home
Home Automation
...But Why should you use 
Google@Home? 
I am not a sales person..
Why G@Home? 
● It is written in Perl ! 
● It is open sourced !
Why G@Home? 
● G@Home allows you to control multiple 
embedded devices using 
o Microphone 
o Web interface 
o Android app
Why G@Home? 
● It’s actively developed
Why G@Home? 
● It’s actively developed 
not at a pace of..
Why G@Home? 
● It’s actively developed 
not at a pace of.. but it’s here to stay...
Why G@Home? 
● It follows the latest Perl trends.. 
o Transitioned from Perl native OO to Moose to Moo 
o Integrated Web + RPC Server, using Mojolicious to 
issue command from Web interface and/or other 
applications 
o Scalable: support for multiple embedded devices, 
audio it’s also forwarded to the nodes speakers 
o Fully pluggable 
o Switchable Database Backend
...But What’s the catch? 
..So why not G@Home?
Why not G@Home? 
● Still very new, hence little known project 
( about 17 months old ) 
● Only very few plugins exist 
● Still not usable for everyday tasks 
( heavily under development ) 
● Too many dependencies 
o So it’s hard to install and get started….
...Though you can help... 
…by simply testing & reporting bugs
How to get started?
#1 Lets look at G@Home architecture
#2 Install - http://mudler.pm/articles/google_at_home_tutorial1
#3 go Explore... 
…be wild!
Available Plugins ( not in core ) 
● Hailo - learn to answer questions 
● Wikipedia - search wikipedia with voice 
● Relay - smart plugin that allows you to 
control GPIOs.
Web Interface 
Modern technologies: 
● Mojolicious 
● Bootstrap 3 
● JQuery 
● Pre-compiling JS & 
CSS for a smoother 
experience
Web Interface ( cont. )
G@Home Android App 
● Exposes Press ‘n Speak functionality, 
to control your house with your voice 
using the smartphone 
Source: 
https://github.com/IntelliHome/Google-at- 
Home-Remote-Controller
#4 Share.. 
…ideas are welcomed..
#4 Share.. 
…or be the guy who solves the puzzle..
It’s easy to make a plugin.. 
● G@Home calls ‘install’ when loading your 
plugin
Plugin: filters commands 
● Here you can hook filter command for the 
parser: 
sub install { 
shift->Parser->Backend->installPlugin( 
{ regex => 'wikipedias+(.*)', #We have one global match here 
plugin => "Wikipedia", 
plugin_method => "search" 
} 
); 
}
Plugins: events 
● or subscribe to events 
sub install { 
$_[0]->app->event->on( 
# Handling RPC request 
# RPC requests are processed in $tag, on/off 
GPIO_MSG => 
sub { shift->IntelliHome->Plugins->{"Relay"}->_command(@_); } 
); 
}
...What’s coming... 
…in 2014 - 2015
My short term plan 
● Spread the word of G@Home 
o To involve more people to test and contribute 
● Refactor the code 
● Document need of each dependency 
o So we could easily reduce dependencies
My medium term plan 
● Release it on CPAN 
● Package it up for Debian 
● Help maintaining it
My long term plan 
● Make installer 
● Get G@Home pre-installed on Raspbian 
● Make code easy to follow for people with 
little or no Perl experience 
● Make it easy to use for kids younger than 
10 years old
My long term plan 
● Port G@Home to Perl6 ( when Perl6 is 
officially released and official Mojolicious 
port is available )
…which might not be that far away..
…or maybe not..
...Anyway, I am not alone... 
…so plans may change
Follow me & project 
@vytasdauksa 
#Google-at-Home 
@IntelliHome
Thank you 
Any Questions? 
VytDau@gmail.com

More Related Content

What's hot

Bootstrapping your plugin
Bootstrapping your pluginBootstrapping your plugin
Bootstrapping your pluginMarko Heijnen
 
How I built web services in CakePHP
How I built web services in CakePHPHow I built web services in CakePHP
How I built web services in CakePHP
David Yell
 
Montreal.rb ruby debugging basics - march 20th 2012
Montreal.rb   ruby debugging basics - march 20th 2012Montreal.rb   ruby debugging basics - march 20th 2012
Montreal.rb ruby debugging basics - march 20th 2012
Rafael Rosa
 
Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020
César Hernández
 
WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)
Igalia
 
Plugin for CakePHP2.0
Plugin for CakePHP2.0Plugin for CakePHP2.0
Plugin for CakePHP2.0
Takashi Nojima
 
Github developing stack
Github developing stackGithub developing stack
Github developing stack
Vicente Bolea
 
QtPass and opensource project management, the road from a 2 day project till ...
QtPass and opensource project management, the road from a 2 day project till ...QtPass and opensource project management, the road from a 2 day project till ...
QtPass and opensource project management, the road from a 2 day project till ...
Anne Jan Brouwer
 
Ratpack 101 - GR8Conf 2015
Ratpack 101 - GR8Conf 2015Ratpack 101 - GR8Conf 2015
Ratpack 101 - GR8Conf 2015
Alvaro Sanchez-Mariscal
 
Introducing Yeoman 1.0 beta
Introducing Yeoman 1.0 betaIntroducing Yeoman 1.0 beta
Introducing Yeoman 1.0 betadigitalzombie
 
RxNetty
RxNettyRxNetty
RxNetty
Diego Pacheco
 
PHP Berkshire October 2015
PHP Berkshire October 2015PHP Berkshire October 2015
PHP Berkshire October 2015
David Yell
 
Going to library with angular
Going to library with angularGoing to library with angular
Going to library with angular
Knoldus Inc.
 
Bruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceBruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open source
Open Labs Albania
 
Elixir koans
Elixir koansElixir koans
Elixir koans
Ruben Amortegui
 
A Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - ReadingA Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - Reading
Gary Park
 
A Piece of Cake - DDD North
A Piece of Cake - DDD NorthA Piece of Cake - DDD North
A Piece of Cake - DDD North
Gary Park
 
A Piece of Cake - NDC Oslo 2016
A Piece of Cake - NDC Oslo 2016A Piece of Cake - NDC Oslo 2016
A Piece of Cake - NDC Oslo 2016
Gary Park
 
Don't Code, Bake. An introduction to CakePHP ~PHP Hampshire Oct 2014
Don't Code, Bake. An introduction to CakePHP ~PHP Hampshire Oct 2014Don't Code, Bake. An introduction to CakePHP ~PHP Hampshire Oct 2014
Don't Code, Bake. An introduction to CakePHP ~PHP Hampshire Oct 2014
David Yell
 
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
César Hernández
 

What's hot (20)

Bootstrapping your plugin
Bootstrapping your pluginBootstrapping your plugin
Bootstrapping your plugin
 
How I built web services in CakePHP
How I built web services in CakePHPHow I built web services in CakePHP
How I built web services in CakePHP
 
Montreal.rb ruby debugging basics - march 20th 2012
Montreal.rb   ruby debugging basics - march 20th 2012Montreal.rb   ruby debugging basics - march 20th 2012
Montreal.rb ruby debugging basics - march 20th 2012
 
Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020
 
WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)
 
Plugin for CakePHP2.0
Plugin for CakePHP2.0Plugin for CakePHP2.0
Plugin for CakePHP2.0
 
Github developing stack
Github developing stackGithub developing stack
Github developing stack
 
QtPass and opensource project management, the road from a 2 day project till ...
QtPass and opensource project management, the road from a 2 day project till ...QtPass and opensource project management, the road from a 2 day project till ...
QtPass and opensource project management, the road from a 2 day project till ...
 
Ratpack 101 - GR8Conf 2015
Ratpack 101 - GR8Conf 2015Ratpack 101 - GR8Conf 2015
Ratpack 101 - GR8Conf 2015
 
Introducing Yeoman 1.0 beta
Introducing Yeoman 1.0 betaIntroducing Yeoman 1.0 beta
Introducing Yeoman 1.0 beta
 
RxNetty
RxNettyRxNetty
RxNetty
 
PHP Berkshire October 2015
PHP Berkshire October 2015PHP Berkshire October 2015
PHP Berkshire October 2015
 
Going to library with angular
Going to library with angularGoing to library with angular
Going to library with angular
 
Bruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceBruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open source
 
Elixir koans
Elixir koansElixir koans
Elixir koans
 
A Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - ReadingA Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - Reading
 
A Piece of Cake - DDD North
A Piece of Cake - DDD NorthA Piece of Cake - DDD North
A Piece of Cake - DDD North
 
A Piece of Cake - NDC Oslo 2016
A Piece of Cake - NDC Oslo 2016A Piece of Cake - NDC Oslo 2016
A Piece of Cake - NDC Oslo 2016
 
Don't Code, Bake. An introduction to CakePHP ~PHP Hampshire Oct 2014
Don't Code, Bake. An introduction to CakePHP ~PHP Hampshire Oct 2014Don't Code, Bake. An introduction to CakePHP ~PHP Hampshire Oct 2014
Don't Code, Bake. An introduction to CakePHP ~PHP Hampshire Oct 2014
 
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
 

Similar to Me&g@home

An introduction to_golang.avi
An introduction to_golang.aviAn introduction to_golang.avi
An introduction to_golang.avi
SeongJae Park
 
Getting big without getting fat, in perl
Getting big without getting fat, in perlGetting big without getting fat, in perl
Getting big without getting fat, in perl
Dean Hamstead
 
Dynatech presentation for TSI Career Day
Dynatech presentation for TSI Career DayDynatech presentation for TSI Career Day
Dynatech presentation for TSI Career Day
Artur Babyuk
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
Paris Apostolopoulos
 
Python Django Basics
Python Django BasicsPython Django Basics
Python Django Basics
RahilMemon5
 
Pentester++
Pentester++Pentester++
Pentester++
CTruncer
 
Steer Your Career on Your Terms with the Right Side Project
Steer Your Career on Your Terms with the Right Side ProjectSteer Your Career on Your Terms with the Right Side Project
Steer Your Career on Your Terms with the Right Side Project
Vui Nguyen
 
Overcoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open SourceOvercoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open Source
All Things Open
 
Plugin Development for Beginners
Plugin Development for BeginnersPlugin Development for Beginners
Plugin Development for Beginners
Joe Cartonia
 
Improve the deployment process step by step
Improve the deployment process step by stepImprove the deployment process step by step
Improve the deployment process step by step
Daniel Fahlke
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
oradoe
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
wesley chun
 
Google Assistant Overview
Google Assistant Overview  Google Assistant Overview
Google Assistant Overview
AI.academy
 
go language- haseeb.pptx
go language- haseeb.pptxgo language- haseeb.pptx
go language- haseeb.pptx
ArsalanMaqsood1
 
Techhub Riga - tm 27.07
Techhub Riga - tm  27.07Techhub Riga - tm  27.07
Techhub Riga - tm 27.07
Toms Bauģis
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
Roberto Pérez Alcolea
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in python
CodeSyntax
 
Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)
Lorna Mitchell
 
The case for Web components - Drupal4Gov webinar
The case for Web components - Drupal4Gov webinarThe case for Web components - Drupal4Gov webinar
The case for Web components - Drupal4Gov webinar
btopro
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker
 

Similar to Me&g@home (20)

An introduction to_golang.avi
An introduction to_golang.aviAn introduction to_golang.avi
An introduction to_golang.avi
 
Getting big without getting fat, in perl
Getting big without getting fat, in perlGetting big without getting fat, in perl
Getting big without getting fat, in perl
 
Dynatech presentation for TSI Career Day
Dynatech presentation for TSI Career DayDynatech presentation for TSI Career Day
Dynatech presentation for TSI Career Day
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
Python Django Basics
Python Django BasicsPython Django Basics
Python Django Basics
 
Pentester++
Pentester++Pentester++
Pentester++
 
Steer Your Career on Your Terms with the Right Side Project
Steer Your Career on Your Terms with the Right Side ProjectSteer Your Career on Your Terms with the Right Side Project
Steer Your Career on Your Terms with the Right Side Project
 
Overcoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open SourceOvercoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open Source
 
Plugin Development for Beginners
Plugin Development for BeginnersPlugin Development for Beginners
Plugin Development for Beginners
 
Improve the deployment process step by step
Improve the deployment process step by stepImprove the deployment process step by step
Improve the deployment process step by step
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
 
Google Assistant Overview
Google Assistant Overview  Google Assistant Overview
Google Assistant Overview
 
go language- haseeb.pptx
go language- haseeb.pptxgo language- haseeb.pptx
go language- haseeb.pptx
 
Techhub Riga - tm 27.07
Techhub Riga - tm  27.07Techhub Riga - tm  27.07
Techhub Riga - tm 27.07
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in python
 
Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)
 
The case for Web components - Drupal4Gov webinar
The case for Web components - Drupal4Gov webinarThe case for Web components - Drupal4Gov webinar
The case for Web components - Drupal4Gov webinar
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 

Recently uploaded

Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 

Recently uploaded (20)

Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 

Me&g@home

  • 1. Me & Google@Home Vytas Dauksa Slides are available at goo.gl/iRUI9C many thanks to mudler!
  • 2. Agenda ● Intro to G@Home ● How to use it ● What’s done ● Where is it heading
  • 3. About me ● I graduated last year, since then: o Contributed to Linux Kernel 3.15 o Published DateTimeX::Period module o Mentored a student at GSoC o Started speaking in public o Questioned Perl’s best practises in blogs.perl.org o Began using Perl for my personal projects
  • 4. About me ● Currently, I am trying to start monthly Perl technical meetings in Southampton.
  • 5. but really I am just starting..
  • 6. What’s Google@Home? Young, yet awesome Perl project...
  • 7. What’s Google@Home? Young, yet awesome Perl project… …that aims to help automate your home
  • 9. ...But Why should you use Google@Home? I am not a sales person..
  • 10. Why G@Home? ● It is written in Perl ! ● It is open sourced !
  • 11. Why G@Home? ● G@Home allows you to control multiple embedded devices using o Microphone o Web interface o Android app
  • 12. Why G@Home? ● It’s actively developed
  • 13. Why G@Home? ● It’s actively developed not at a pace of..
  • 14. Why G@Home? ● It’s actively developed not at a pace of.. but it’s here to stay...
  • 15. Why G@Home? ● It follows the latest Perl trends.. o Transitioned from Perl native OO to Moose to Moo o Integrated Web + RPC Server, using Mojolicious to issue command from Web interface and/or other applications o Scalable: support for multiple embedded devices, audio it’s also forwarded to the nodes speakers o Fully pluggable o Switchable Database Backend
  • 16. ...But What’s the catch? ..So why not G@Home?
  • 17. Why not G@Home? ● Still very new, hence little known project ( about 17 months old ) ● Only very few plugins exist ● Still not usable for everyday tasks ( heavily under development ) ● Too many dependencies o So it’s hard to install and get started….
  • 18. ...Though you can help... …by simply testing & reporting bugs
  • 19. How to get started?
  • 20. #1 Lets look at G@Home architecture
  • 21. #2 Install - http://mudler.pm/articles/google_at_home_tutorial1
  • 22. #3 go Explore... …be wild!
  • 23. Available Plugins ( not in core ) ● Hailo - learn to answer questions ● Wikipedia - search wikipedia with voice ● Relay - smart plugin that allows you to control GPIOs.
  • 24. Web Interface Modern technologies: ● Mojolicious ● Bootstrap 3 ● JQuery ● Pre-compiling JS & CSS for a smoother experience
  • 25. Web Interface ( cont. )
  • 26. G@Home Android App ● Exposes Press ‘n Speak functionality, to control your house with your voice using the smartphone Source: https://github.com/IntelliHome/Google-at- Home-Remote-Controller
  • 27. #4 Share.. …ideas are welcomed..
  • 28. #4 Share.. …or be the guy who solves the puzzle..
  • 29. It’s easy to make a plugin.. ● G@Home calls ‘install’ when loading your plugin
  • 30. Plugin: filters commands ● Here you can hook filter command for the parser: sub install { shift->Parser->Backend->installPlugin( { regex => 'wikipedias+(.*)', #We have one global match here plugin => "Wikipedia", plugin_method => "search" } ); }
  • 31. Plugins: events ● or subscribe to events sub install { $_[0]->app->event->on( # Handling RPC request # RPC requests are processed in $tag, on/off GPIO_MSG => sub { shift->IntelliHome->Plugins->{"Relay"}->_command(@_); } ); }
  • 33. My short term plan ● Spread the word of G@Home o To involve more people to test and contribute ● Refactor the code ● Document need of each dependency o So we could easily reduce dependencies
  • 34. My medium term plan ● Release it on CPAN ● Package it up for Debian ● Help maintaining it
  • 35. My long term plan ● Make installer ● Get G@Home pre-installed on Raspbian ● Make code easy to follow for people with little or no Perl experience ● Make it easy to use for kids younger than 10 years old
  • 36. My long term plan ● Port G@Home to Perl6 ( when Perl6 is officially released and official Mojolicious port is available )
  • 37. …which might not be that far away..
  • 39. ...Anyway, I am not alone... …so plans may change
  • 40. Follow me & project @vytasdauksa #Google-at-Home @IntelliHome
  • 41.
  • 42. Thank you Any Questions? VytDau@gmail.com

Editor's Notes

  1. Original plan was to integrate all the Google services (search, Google Now, Google Speech API, etc) for daily use. Some of these are now available.
  2. TODO add pic