O documento discute Websockets, incluindo sua definição, usos, suporte nos navegadores, biblioteca Ratchet para implementação no servidor, e exemplos de código. Riscos de segurança também são abordados.
Hackeando facebook com wireshark e cookie injectorAlvaro Gomes
Este documento fornece instruções para hackear o Facebook de alguém usando Wireshark e um injetor de cookies em três etapas: 1) configurar o encaminhamento de pacotes e redirecionamento do tráfego da vítima, 2) usar SSLStrip e arp spoofing para capturar cookies da vítima, 3) injetar os cookies capturados na página do Facebook para assumir a sessão da vítima.
Hackeando facebook com wireshark e cookie injectorAlvaro Gomes
Este documento fornece instruções para hackear o Facebook de alguém usando Wireshark e um injetor de cookies enquanto ambos estão na mesma rede. Ele explica como configurar o encaminhamento de pacotes e redirecionamento do tráfego, usar SSLStrip para capturar cookies e arp spoofing para enganar a vítima, e então injetar o cookie capturado para acessar o perfil da vítima no Facebook.
O documento discute as principais características do novo framework ASP.NET Core 1.0. Ele é open source, multiplataforma e otimizado para a nuvem. O ASP.NET Core 1.0 introduz uma arquitetura mais modular e enxuta baseada no modelo OWIN, substitui DLLs por pacotes NuGet e usa arquivos de configuração JSON. Ele também suporta diversas ferramentas como Visual Studio, Docker e gerenciamento de pacotes front-end.
Node.js é uma plataforma multiplataforma baseada em JavaScript para construção de aplicações de rede assíncronas e orientadas a eventos. Foi criado em 2009 por Ryan Dahl e é mantido pela Joyent. Node.js usa um modelo de programação baseado em eventos e entradas/saídas não bloqueantes, tornando-o ideal para aplicações em tempo real com muitas conexões simultâneas.
Como instalar o WordPress no seu computadorRudá Almeida
O documento fornece instruções passo-a-passo para instalar o WordPress localmente usando XAMPP ou WampServer. Explica como baixar os softwares necessários, criar um banco de dados MySQL, transferir arquivos do WordPress e configurá-lo para rodar em um servidor local de teste.
O documento discute como configurar a interceptação de tráfego SSL/TLS no pfSense. Ele aborda a instalação do squid, configuração da autoridade certificadora, instalação de certificados digitais nos clientes e criação de regras de bloqueio de arquivos e vídeos.
Hackeando facebook com wireshark e cookie injectorAlvaro Gomes
Este documento fornece instruções para hackear o Facebook de alguém usando Wireshark e um injetor de cookies em três etapas: 1) configurar o encaminhamento de pacotes e redirecionamento do tráfego da vítima, 2) usar SSLStrip e arp spoofing para capturar cookies da vítima, 3) injetar os cookies capturados na página do Facebook para assumir a sessão da vítima.
Hackeando facebook com wireshark e cookie injectorAlvaro Gomes
Este documento fornece instruções para hackear o Facebook de alguém usando Wireshark e um injetor de cookies enquanto ambos estão na mesma rede. Ele explica como configurar o encaminhamento de pacotes e redirecionamento do tráfego, usar SSLStrip para capturar cookies e arp spoofing para enganar a vítima, e então injetar o cookie capturado para acessar o perfil da vítima no Facebook.
O documento discute as principais características do novo framework ASP.NET Core 1.0. Ele é open source, multiplataforma e otimizado para a nuvem. O ASP.NET Core 1.0 introduz uma arquitetura mais modular e enxuta baseada no modelo OWIN, substitui DLLs por pacotes NuGet e usa arquivos de configuração JSON. Ele também suporta diversas ferramentas como Visual Studio, Docker e gerenciamento de pacotes front-end.
Node.js é uma plataforma multiplataforma baseada em JavaScript para construção de aplicações de rede assíncronas e orientadas a eventos. Foi criado em 2009 por Ryan Dahl e é mantido pela Joyent. Node.js usa um modelo de programação baseado em eventos e entradas/saídas não bloqueantes, tornando-o ideal para aplicações em tempo real com muitas conexões simultâneas.
Como instalar o WordPress no seu computadorRudá Almeida
O documento fornece instruções passo-a-passo para instalar o WordPress localmente usando XAMPP ou WampServer. Explica como baixar os softwares necessários, criar um banco de dados MySQL, transferir arquivos do WordPress e configurá-lo para rodar em um servidor local de teste.
O documento discute como configurar a interceptação de tráfego SSL/TLS no pfSense. Ele aborda a instalação do squid, configuração da autoridade certificadora, instalação de certificados digitais nos clientes e criação de regras de bloqueio de arquivos e vídeos.
O documento descreve o que é COMET e como ele pode ser usado para fornecer atualizações em tempo real de um servidor para um cliente web mantendo uma conexão persistente. Ele discute como COMET funciona, exemplos de implementação e como frameworks como CometD e DWR facilitam seu uso.
O protocolo WebSocket possui a finalidade muito mais específica de ser implementado em navegadores web para comunicação persistente do código JavaScript com o servidor web.
O protocolo WebSocket possui a finalidade muito mais específica de ser implementado em navegadores web para comunicação persistente do código JavaScript com o servidor web.
O documento discute comunicação em tempo real usando WebRTC e PHP. Apresenta Michael Douglas Barbosa Araujo e suas atividades como desenvolvedor. Explica o que é aplicação em tempo real, WebSockets, Pusher e Socket.IO. Discute o que é WebRTC, sua compatibilidade e arquitetura. Por fim, explica o que é Opentok e mostra código de exemplo usando a SDK OpenTok em PHP.
O documento discute websockets, incluindo o que são, como funcionam no lado do cliente e servidor e opções de bibliotecas para PHP. É apresentada uma introdução aos websockets, como estabelecer conexões no cliente e servidor e três opções populares de bibliotecas PHP para começar com websockets: Realtime, Ratchet e fazer sua própria implementação.
O documento discute as tendências da web moderna, incluindo o crescimento dos smartphones e das aplicações híbridas e progressivas. Ele explica o que são Progressive Web Apps e como elas oferecem uma experiência aprimorada ao usuário através do uso de service workers e manifest files, permitindo que sites se comportem como aplicativos nativos.
O documento descreve um grupo destinado a compartilhar e promover encontros de desenvolvedores mobile no Rio Grande do Sul, que colabora com eventos de desenvolvimento e realiza oficinas para desenvolvimento de aplicativos móveis em diversas plataformas.
O documento discute como aplicativos conectados funcionam, usando uma rede social como exemplo. Ele explica que aplicativos precisam de três componentes: (1) um navegador para mostrar informações, (2) um servidor de aplicação para processar requisições e (3) um servidor de dados para armazenar dados. O documento também fornece instruções sobre como começar a programar usando HTML no Bloco de Notas e o Visual Studio.
O documento apresenta um guia do programador JavaScript escrito por Maurício Samy Silva. Apresenta conceitos básicos da linguagem, sua história, funcionalidades, uso em conformidade com os padrões web e introdução à separação de camadas de desenvolvimento.
Este capítulo tratará :
1. O que é necessário para se criar páginas para a Web.
2. A diferença entre páginas Web, Home Page e apresentação Web
3. Navegadores
4. O que é site, Host, Provedor e Servidor Web
5. Protocolos
6. Serviços oferecidos na Web
1) O documento discute técnicas de comunicação assíncrona entre cliente e servidor, como polling, piggyback e comet.
2) Apresenta o framework DWR, que permite comunicação assíncrona em Java de forma simples e robusta.
3) Explica como configurar o DWR para usar diferentes modos de comet, como streaming e long polling.
O documento apresenta os conceitos fundamentais da plataforma .NET e ferramentas ASP.NET. Discutem a arquitetura do .NET, linguagens como C# e VB.NET, e ferramentas como Visual Studio e Visual Web Developer para desenvolvimento de aplicações web, windows forms e web services. Também explica brevemente linguagens do lado cliente como HTML, JavaScript, e linguagens de servidor como ASP, PHP e JSP.
1) O documento discute como PHP e MySQL tornam o desenvolvimento de sites dinâmicos mais fácil ao automatizar tarefas como armazenamento e recuperação de dados de usuários.
2) PHP é uma linguagem de programação usada para gerar páginas da web interativas no servidor, enquanto MySQL armazena as informações processadas pelo PHP.
3) Juntos, PHP e MySQL facilitam o desenvolvimento da web pois PHP vem com funções embutidas para acessar bancos de dados como o MySQL de forma integrada.
1) O documento introduz os Web Services e a tecnologia Apache Axis para criar e consumir serviços web. 2) Os Web Services permitem a integração de sistemas distintos através da internet usando protocolos padronizados como SOAP e WSDL. 3) O framework Apache Axis facilita a criação de serviços web e clientes em Java.
O documento descreve o protocolo HTTP, incluindo que ele define as regras para a comunicação entre clientes e servidores na web. O protocolo especifica os tipos de requisições e respostas permitidas, com os clientes fazendo requisições e os servidores fornecendo respostas. Os códigos de status comuns e seus significados também são explicados.
Fabrício Lopes Sanchez e André Baltieri apresentarão sobre as novidades do ASP.NET 5, MVC 6 e além, incluindo a mudança para um framework independente de plataforma, desacoplado e leve, além de demonstrações das novas funcionalidades em diferentes sistemas operacionais.
1) A aula introduz conceitos básicos de programação web como a internet, serviços online, servidores e clientes, HTML, XHTML e linguagens de programação web.
2) Apresenta os principais navegadores e servidores web, explicando como ocorre a comunicação entre eles através do protocolo HTTP.
3) Discutem linguagens de programação web populares e exercícios para estudar conceitos adicionais como HTTPS, CGI e intranets.
O documento descreve as principais formas de conexão à internet, incluindo conexões por cabo, sem fio, discadas, 3G e outras. Também discute ameaças cibernéticas comuns como vírus, worms, trojans e ransomwares. Conclui enfatizando que a internet é amplamente usada para serviços e entretenimento, mas requer cuidado devido aos riscos à privacidade e conteúdo impróprio.
Este documento fornece um resumo sobre HTML avançado, CSS e JavaScript. Ele é dividido em três partes, cobrindo HTML avançado, CSS e uma introdução a JavaScript. A estrutura visa fornecer conceitos básicos no início e aumentar gradativamente o nível técnico ao longo dos capítulos.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
O documento descreve o que é COMET e como ele pode ser usado para fornecer atualizações em tempo real de um servidor para um cliente web mantendo uma conexão persistente. Ele discute como COMET funciona, exemplos de implementação e como frameworks como CometD e DWR facilitam seu uso.
O protocolo WebSocket possui a finalidade muito mais específica de ser implementado em navegadores web para comunicação persistente do código JavaScript com o servidor web.
O protocolo WebSocket possui a finalidade muito mais específica de ser implementado em navegadores web para comunicação persistente do código JavaScript com o servidor web.
O documento discute comunicação em tempo real usando WebRTC e PHP. Apresenta Michael Douglas Barbosa Araujo e suas atividades como desenvolvedor. Explica o que é aplicação em tempo real, WebSockets, Pusher e Socket.IO. Discute o que é WebRTC, sua compatibilidade e arquitetura. Por fim, explica o que é Opentok e mostra código de exemplo usando a SDK OpenTok em PHP.
O documento discute websockets, incluindo o que são, como funcionam no lado do cliente e servidor e opções de bibliotecas para PHP. É apresentada uma introdução aos websockets, como estabelecer conexões no cliente e servidor e três opções populares de bibliotecas PHP para começar com websockets: Realtime, Ratchet e fazer sua própria implementação.
O documento discute as tendências da web moderna, incluindo o crescimento dos smartphones e das aplicações híbridas e progressivas. Ele explica o que são Progressive Web Apps e como elas oferecem uma experiência aprimorada ao usuário através do uso de service workers e manifest files, permitindo que sites se comportem como aplicativos nativos.
O documento descreve um grupo destinado a compartilhar e promover encontros de desenvolvedores mobile no Rio Grande do Sul, que colabora com eventos de desenvolvimento e realiza oficinas para desenvolvimento de aplicativos móveis em diversas plataformas.
O documento discute como aplicativos conectados funcionam, usando uma rede social como exemplo. Ele explica que aplicativos precisam de três componentes: (1) um navegador para mostrar informações, (2) um servidor de aplicação para processar requisições e (3) um servidor de dados para armazenar dados. O documento também fornece instruções sobre como começar a programar usando HTML no Bloco de Notas e o Visual Studio.
O documento apresenta um guia do programador JavaScript escrito por Maurício Samy Silva. Apresenta conceitos básicos da linguagem, sua história, funcionalidades, uso em conformidade com os padrões web e introdução à separação de camadas de desenvolvimento.
Este capítulo tratará :
1. O que é necessário para se criar páginas para a Web.
2. A diferença entre páginas Web, Home Page e apresentação Web
3. Navegadores
4. O que é site, Host, Provedor e Servidor Web
5. Protocolos
6. Serviços oferecidos na Web
1) O documento discute técnicas de comunicação assíncrona entre cliente e servidor, como polling, piggyback e comet.
2) Apresenta o framework DWR, que permite comunicação assíncrona em Java de forma simples e robusta.
3) Explica como configurar o DWR para usar diferentes modos de comet, como streaming e long polling.
O documento apresenta os conceitos fundamentais da plataforma .NET e ferramentas ASP.NET. Discutem a arquitetura do .NET, linguagens como C# e VB.NET, e ferramentas como Visual Studio e Visual Web Developer para desenvolvimento de aplicações web, windows forms e web services. Também explica brevemente linguagens do lado cliente como HTML, JavaScript, e linguagens de servidor como ASP, PHP e JSP.
1) O documento discute como PHP e MySQL tornam o desenvolvimento de sites dinâmicos mais fácil ao automatizar tarefas como armazenamento e recuperação de dados de usuários.
2) PHP é uma linguagem de programação usada para gerar páginas da web interativas no servidor, enquanto MySQL armazena as informações processadas pelo PHP.
3) Juntos, PHP e MySQL facilitam o desenvolvimento da web pois PHP vem com funções embutidas para acessar bancos de dados como o MySQL de forma integrada.
1) O documento introduz os Web Services e a tecnologia Apache Axis para criar e consumir serviços web. 2) Os Web Services permitem a integração de sistemas distintos através da internet usando protocolos padronizados como SOAP e WSDL. 3) O framework Apache Axis facilita a criação de serviços web e clientes em Java.
O documento descreve o protocolo HTTP, incluindo que ele define as regras para a comunicação entre clientes e servidores na web. O protocolo especifica os tipos de requisições e respostas permitidas, com os clientes fazendo requisições e os servidores fornecendo respostas. Os códigos de status comuns e seus significados também são explicados.
Fabrício Lopes Sanchez e André Baltieri apresentarão sobre as novidades do ASP.NET 5, MVC 6 e além, incluindo a mudança para um framework independente de plataforma, desacoplado e leve, além de demonstrações das novas funcionalidades em diferentes sistemas operacionais.
1) A aula introduz conceitos básicos de programação web como a internet, serviços online, servidores e clientes, HTML, XHTML e linguagens de programação web.
2) Apresenta os principais navegadores e servidores web, explicando como ocorre a comunicação entre eles através do protocolo HTTP.
3) Discutem linguagens de programação web populares e exercícios para estudar conceitos adicionais como HTTPS, CGI e intranets.
O documento descreve as principais formas de conexão à internet, incluindo conexões por cabo, sem fio, discadas, 3G e outras. Também discute ameaças cibernéticas comuns como vírus, worms, trojans e ransomwares. Conclui enfatizando que a internet é amplamente usada para serviços e entretenimento, mas requer cuidado devido aos riscos à privacidade e conteúdo impróprio.
Este documento fornece um resumo sobre HTML avançado, CSS e JavaScript. Ele é dividido em três partes, cobrindo HTML avançado, CSS e uma introdução a JavaScript. A estrutura visa fornecer conceitos básicos no início e aumentar gradativamente o nível técnico ao longo dos capítulos.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
3. TÓPICOS
● O que é Websocket;
● Para que serve;
● Sobre HTTP;
● Suporte dos navegadores;
● Sobre o Ratchet;
● Riscos;
● Exemplos e demonstrações;
● Conclusão;
● Dúvidas.
4. HELLO!
Sou o Leonardo Rifeli!
✘ Tenho 20 anos
✘ Eterno estudante no mundo tecnológico
✘ Já fiz mais de 100 sites
✘ Sou programador e sim, eu tomo muito café
✘ Escritor no blog leonardorifeli.com :D
6. DEFINIÇÃO DE WEBSOCKET
Websockets são um full-duplex, conexão persistente bi-direcional de
um navegador web para um servidor. Depois que uma conexão
socket é estabelecida a conexão permanece aberta até que o cliente
ou servidor decida encerrar.
Com esta conexão aberta, o cliente ou servidor pode enviar uma
mensagem a qualquer outro cliente conectado. Sendo assim, neste
momento, uma única aplicação de servidor em execução estará
ciente de todas as conexões abertas, o que lhe permite comunicar
com qualquer outra conexão aberta e a qualquer momento.
8. E QUAL O USO?
Perfeito! Entendi o que é; mas, para que serve?
9. ONDE É UTILIZADO WEBSOCKET?
CHATS
Sim, eles são
desenvolvidos com
comunicação socket.
JOGOS ON-LINE
Aqueles games que
possuem interação em
tempo real dos
jogadores que estão em
uma respectiva fase.
ATUALIZAÇÕES REAL TIME
Toda atualização que ocorre
em tempo real, pode ser
desenvolvida facilmente com
web socket.
Exemplo de uso:
Usuários editando um documento no
Google Docs:
Entre várias aplicações.
14. E NO SERVIDOR?
Sim, os servidores podem te impedir de obter e
executar uma aplicação websocket
15. SOBRE O RATCHET
As aplicações de socket para servidor não tem acompanhado os
navegadores. É aí que surgiu o Ratchet, uma ferramenta fantástica
para a implementação de um servidor, por protocolo TCP. Você pode
iniciar um servidor com o Ratchet I/O Component Server, tendo um
código que implementa o respectivo componente e poderá gerenciar
todas as conexões.
Site: socketo.me
Projeto: github.com/ratchetphp/Ratchet
19. 2. IMPLEMENTAÇÃO DO SERVIDOR
✘ RatchetServerIoServer: Cria um socket aberto para
escutar uma porta específica, para conexões de entrada. Os
eventos são delegados através deste para as aplicações
anexadas.
✘ RatchetHttpHttpServer: Implementa os métodos da
interface MessageComponentInterface e gerencia as
conexões.
✘ RatchetWebSocketWsServer: Um adaptador para lidar
com as requisições e respostas do websocket. Este é o
mediador entre o servidor e o cliente, para lidar com as
mensagens em tempo real, por intermédio de um navegador
web.
✘ HermesBusinessServiceSocketService: Este será nosso
gerenciador de conexões, mensagens, erros e encerramentos.
22. 4. SCRIPT DE CONEXÃO
Repare o ws: Há um novo
esquema de URL para conexões
Websocket, existe também wss:
para uma conexão Websocket
usando para conexões HTTP
seguras.
Com isso, você pode manipular
mensagens para o servidor e, ele
por sua vez, repassar para outras
conexões.
24. RISCOS
Sim, poderão haver riscos dependendo da complexidade da
aplicação e de como o servidor, o gerenciador das conexões e o
script, foram implementados.
Alguns riscos:
✘ Falhas de segurança na comunicação de informações privadas;
✘ Canais implementados incorretamente;
✘ Conexões simultâneas e queda do servidor.
✘ Entre muitos que, podem variar de acordo com a
implementação.
25. ALGORITMO PARA ACESSAR O CHAT
E INTERAGIR
✘ PEGUE O SEU
NOTEBOOK/CELULAR/TABLET/GELADEIRA;
✘ AUMENTE O VOLUME;
✘ CONECTE-SE NA REDE WIFI LOCAL;
✘ ABRA SEU NAVEGADOR (NÃO USE O OPERA MINI);
✘ ACESSE O ENDEREÇO: http://192.168.0.204/tag/chat;
✘ COLOQUE SEU NOME - SELECIONE A SALA 1;
✘ VOCÊ PODE ENVIAR MENSAGENS PARA AS PESSOAS E
BUZINAR PARA ELAS.
27. RESUMO
O que vimos até agora:
● O que é Websocket;
● Para que serve;
● Sobre HTTP;
● Suporte dos navegadores;
● Sobre o Ratchet;
● Exemplo divertido;
● Riscos.
28. CONCLUSÃO
Sempre que precisar de uma conexão quase em tempo real de baixa
latência entre o cliente e o servidor, você terá que implementar
Websocket. Isso pode envolver a reformulação do modo como você
desenvolve as aplicações de servidor com um novo foco em
tecnologias como filas de eventos.
29. AGRADECIMENTOS
✘ A TAG POR ACEITAR A PALESTRA E CEDER O ESPAÇO
✘ TODA A GALERA QUE AJUDOU A ORGANIZAR
✘ O LUIZ E FERNANDO PELO AUXÍLIO TÉCNICO
✘ VOCÊS PELO INTERESSE
✘ E AO LEONARDO PELA PALESTRA! :D
30. OBRIGADO!
Dúvidas?
Vocês podem me contactar por:
✘ Twitter: @leonardorifeli
✘ E-mail: leonardorifeli@gmail.com
✘ Blog: leonardorifeli.com