Instalação Docker no Linux

O post a seguir faz um rápido resumo de como instalar o Docker, a instalação foi feita em uma distribuição Linux Mint versão 18 – Sarah.

O presente post segue a documentação oficial que está do site do Docker – Installation on Ubuntu, sendo a versão de instalação a do Ubuntu Xenial 16.04 (LTS).

Configuração

Segue os passo:

  • Entre em um terminal (ctrl + alt + t)
  • Entre como um usuário com privilégios sudo.
  • Depois digite o seguinte comando ou copie e cole para atualizar as informações dos pacotes
    sudo apt-get update
  • Digite o comenado para instalar ou certificar de que o pacote CA certificates está instalado. O CA certificates é um pacote que inclui arquivos PEM de certificados, ele serve para permitir que aplicações baseadas em SSL verifiquem a autenticidade das conexões SSL.
    sudo apt-get install apt-transport-https ca-certificate
  • Adicione um nova chave GPG (GNU Privacy Guard)
    sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys
     58118E89F3A912897C070ADBF76221572C52609D
  • Verifique se o arquivo /etc/apt/sources.list.d/docker.list existe dando um cat.
    cat /etc/apt/sources.list.d/docker.list
  • Se existir abra-o, senão crie ele, você pode abrir com o editor que desejar, neste exemplo foi utilizado o editor Sublime
    sudo subl /etc/apt/sources.list.d/docker.list
  • Adicione um entrada para seu sistema operacional Mint.
    deb https://apt.dockerproject.org/repo ubuntu-xenial main
  • Salve e feche o arquivo /etc/apt/sources.list.d/docker.list.
  • Execute novamente o comando para atualizar os pacotes.
    sudo apt-get update
  • Agora, pode executar o comando para puxar o novo repositório.
    sudo apt-get upgrade
Pré-requisitos para versão do Ubuntu Xenial 16.04 (LTS)

Para o Ubuntu Xenial, é recomendado instalar o pacote do kernel * linux-image-extra-. O pacotes-linux-image extra- * permite a utilização do driver de AUFS (unification filesystem).

sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtua

Agora já é possível instalar o Docker.

Instalação

Ainda logado como super usuário ou root. Siga os seguintes passos:

  • Atualize novamente os pacotes, executando:
    sudo apt-get update
  • Instale o Docker
    sudo apt-get install docker-engine
  • Inicie o docker daemon
    sudo service docker start
  • Verifique se o docker está instalado corretamente executando
    sudo docker run hello-world

Este comando faz o download de uma imagem de teste, executa está imagem em um container. Quando o container é executado, ele imprime uma mensagem informativa. Em seguida, ele finaliza.

Criando um grupo de Docker

O docker daemon liga-se a um socket Unix em vez de uma porta TCP. Por padrão um socket Unix é de propriedade do usuário root e outros usuários podem acessá-lo com sudo. Por esta razão, docker daemon sempre é executado como usuário root.

Para evitar ter que usar o sudo quando você usa os comandos docker, crie um grupo Unix chamado docker e adicione usuários a ele. Quando o docker daemon é iniciado, ele faz com que a propriedade de socket Unix leitura / escrita seja feita pelo grupo docker.

Para criar o grupo docker e adicionar seu usuário, faça os seguintes passos:

  • Faça login no Ubuntu como um usuário com privilégios sudo.
  • Crie o grupo docker.
    sudo groupadd docker
  • Adicione seu usuário ao grupo docker.
    sudo usermod -aG docker $(whoami)
  • Deslogue e Logue novamente.
    Isso garante o seu usuário está sendo executado com as permissões corretas.
  • Teste se está funcionando, executando o comando docker, sem sudo.
    $ docker run hello-world
    

 

eXtreme Programming Explicado

Para algumas pessoas, XP parece apenas senso comum, algo que fazemos ou deveríamos fazer. Então porque o “Extreme” (extremo) no nome? XP tem como princípio e pratica de levar o que se considera, senso comum ao extremo.

  • Se revisões de código são tão bons, então vamos revisar o código sempre (Programação em Par).
  • Se testar é bom, todo mundo vai testar sempre (Teste Unitário), mesmo os clientes (Testes Funcionais).
  • Se Design é bom, então vamos torná-lo parte das atividades diária do time (Refatoração).
  • Se simplicidade é bom, então vamos deixar sempre o sistema com o design mais simples de acordo sua funcionalidade atua. (A coisa mais simples que possa funcionar).
  • Se arquitetura é importante, todo mundo trabalhará definindo e redefinindo ela sempre (Metáfora).
  • Se o teste de integração é importante, então vamos integrar e testar
    várias vezes ao dia (Integração Contínua)
    .
  • Se pequenas interações são boas, vamos fazer as verdadeiras interações, as pequenas com segundos ou minutos ou horas, não semanas ou meses ou mesmo anos (Jogo do Planejamento).

(Trecho traduzido do livro Extreme Programming Explained de Kent Beck)

Sync with a remote Git repository

After the tenth time forgetting and having to look for how to use sync remote git repository, I decided to write this short article as a form of not forgetting again.

Well, I made a fork of project, but I’m out of time to work on it. So when I had a short breathing time I wanted to see the project, but my fork didn’t have the news features of original project, so I would need to update to get the new changes with the original repository. How do I do this?

You running this command. This command create a alias, named upstream, with the original repository in your local one.
git remote add upstream https://github.com/creator_user/original_repository.git

You can verify the new alias repository you’ve specified
git remote -v

Then you need to bring in the changes to your local repository
git fetch upstream

Now you will have the branch of the original repository in your local one. Just merge it with your local branch
git merge upstream/master

Finally you push the changes to your repository.
git push origin master

Yeap! I think that’s it =)

The birth of a revolution

In 1994 Netscape was born in Mountain View, California. It dominated the browser market until the creation of Internet Explorer, which stopped its leadership because it was free. Eventually the Netscape browser’s source code was disclosed and the Mozilla Foundation was created to coordinate it’s future development.

On November 10th of 2004, Firefox was born. On that day, it’s first version was released and brought with it a revolution with a different and innovative approach relative to it’s time (the internet was only beginning). Firefox was born with Mozilla’s mission to build an internet for everyone and was created and projected so that users like you and me could access and utilize something that was conceived with us in mind, respecting our liberty and privacy.

And that’s why we celebrate in November 10th, 2014 Firefox’s 10 year anniversary and the choice of wanting a browser that respects your privacy, liberty e that is not bound to answer to companies or any other institution of which you are not a user. A browser that was thought and made for the user.

With that spirit in mind, 4 cities were chosen and 4 minivans drove around those cities with enthusiasm and excitement carrying volunteers that tried to convey what Firefox represented, something that goes beyond than a browser. They showed people that using Firefox means having greater freedom.

Our minivan in Rio went through several touristic points such as Lagoa, Ipanema, Copacabana and finally URCA. We took some pictures with people from many different states and countries.

1601431_10205449582861737_4318520917893423393_n

10303379_10152780104620837_5657855239889115895_n

10385360_10205449583101743_6477659990380029261_n

10426727_10205449582821736_8265687920569986912_n

We also had many news been released on Firefox’s anniversary like Firefox Developer Edition, the only browser made for developers and the SpeechRTC API made by André Natal, a great brazillian friend, the SpeechRTC is an API for speech recognition to be used within Firefox OS and others Mozilla’s products. It is a scalable, flexible and easy to learn platform that focus on delivering a great experience for users.

Mozilla once again surprises and shows that it created Firefox with us in mind, developers and users and it will fight for a free and fair Web, made by all and for all.

Introdução Arduino com Node.js (utilizando a Johnny Five)

Esse artigo é baseado no original em espanhol Programa robots con JavaScript y Node.js. Tenho começado a brincar com Arduino e a me interessado cada vez mais por embarcados. Como quero aprender Node.js, resolvi juntar tudo e fazer uma grande diversão e imersão de aprendizado. Mas para começar é preciso prestar atenção em alguns detalhes. Então vamos lá 🙂

Para esta brincadeira você vai precisar ter:

  •  Arduíno ou genérico (placas-clone que são feitas com base no código livre do Arduino, mas não podem usar o mesmo nome. Ex.: Freeduino, Seeeduino, Boarduino, Sanguino, Roboduino, etc…).
  • Protoboard
  • LED de 5 mm
  • Resistor de 100 ohms
  • Fios jumper

Agora vamos ao Node.js, utilizaremos a Johnny Five que é um framework de código aberto que nos permite controlar o hardware utilizando JavaScript, desenvolvido pela Bocoup.

Você deve baixar e instalar o Arduino IDE, caso não tenha ainda instalado, Node.js e NPM  (que geralmente já é instalado junto, quando você instala o Node.js). É importante esclarecer que não vamos usar o Arduino IDE para todo o processo de programação, mas apenas por um passo no processo de configuração do microcontrolador.

Abra o terminal e digite o seguinte comando:

npm install johnny-five

Depois abra a IDE do Arduino e selecione Arquivo > Exemplos > Firmata > StandardFirmata, como na imagem abaixo.

config-fimataFeito isso vamos ao Hello World de Node.js com Arduino.

Crie um arquivo chamado led.js, digite o seguinte código e salve-o:

var five = require("johnny-five"),
   board = new five.Board();
   board.on("ready", function() {
   //vamos criar um LED no pino 13 e fazê-lo piscar por um segundo, 
   //o parâmetro passado são milissegundos 
   (new five.Led(13)).strobe(“1000”);
});

Faça as conexões no Arduino como na imagem a seguir:

arduino-pisca-ledAgora rode, no terminal, o seguinte comando para executar o código:

node led.js

hello-world-node-arduinoSe tudo funcionou esse será seu resultado:

Esse é o inicial de uma infinidade de brincadeiras que dá para fazer com Arduino e Node.js e se você curtir, quem sabe essas brincadeiras não se tornam algo sério 🙂

Node.js – Instalação e Hello World!

Como foi comentado no post anterior, Node.js – Introdução, Node.js é uma plataforma de desenvolvimento Javascript, seu desenvolvimento consiste em aplicações server-side, ou seja, do lado do servidor. Além de JavaScript, Node.js utiliza o V8 JavaScript Engine para executar o código, o V8 JavaScript Engine é um interpretador JavaScript open source criado pelo Google e utilizado em seu navegador, o Google Chrome, isso faz com que possamos criar uma variedades de aplicações utilizando Javascript. (Mais Informações sobre o V8 aqui [En]).

Instalando o Node.js

A instalação do Node.js é muito simples, no Linux (instalações feitas nas distros Ubuntu e Mint):

$ sudo apt-get install nodejs

Já no windows a mais formas de fazer, uma das formas é instalando o Node.js com o executável normalmente, next, next e finish.

Instalação no Windows

Instalação no Windows

Instalação no Windows

Instalação no Windows

Instalação no Windows

Instalação no Windows

As outras formas de instalação no windows você pode encontrar procurando na web e testar.
Pronta a instalação, faça o seguinte para ver se está funcionando tudo direitinho. Crie um arquivo chamando-o como quiser, no meu caso coloquei teste_node,js. Em seguida escreva o seguinte código ou copie e cole o que segue:

//Faz o require da biblioteca HTTP do Node.js, carregando-a.
var http = require('http'),
// Função para criar um serviço web para tratar a requisição de resposta da mensagem.
onRequest = function (request, response) {
// Define os parâmetros de cabeçalho de resposta.
response.writeHead(200, {'Content-Type': 'text/html'});
// Escreve uma mensagem de resposta do servidor.
response.write('<html><body><h1>Hello World</h1></body></html>');
// Envia uma resposta para o cliente
response.end();
};
// Define a porta e IP que será executado a aplicação.
http.createServer(onRequest).listen(5000);
// Mostra mensagem no terminal do servidor.
console.log('Servidor Node.js feito no arquivo teste_node.js em execucao');

Em um terminal digite:

$ node teste_node.js

Depois acesse o endereço http://localhost:5000/

Caso tudo tenha dado certo, deve aparecer Hello World no navegador, caso não esteja aparecendo, procure verificar se a instalação está correta, se for no Linux se não é preciso chamar o comando com a utilização do sudo (administrador) e no caso do Windows se o firewall não bloqueou a V8.

Node.js – Introdução

Não sou acostumada a escrever, apesar de gostar para não esquecer, são em sua maioria apenas palavras. Mas como quero aprender Node.js e tenho como meta escrever 12 posts até o final do ano, começarei uma série sobre o que for aprender em Node.js, desde sua instalação até exemplos, também tentarei falar um pouco da programação orientada a eventos e no caso do Node.js o uso de módulos. Bom vamos começar.

O que é Node.js?

Já escutei algumas vezes de que o Node.js é uma linguagem de programação, Node.js não é uma linguagem de programação, Node.js é escrito com JavaScript que é uma linguagem de programação, mas afinal o que é o Node.js? É um interpretador de código JavaScript que funciona do lado do servidor, em outras palavras, Node.js é um programa que funciona no lado do servidor (existem outras aplicações para o Node.js além dessa, mas veremos isso mais tarde), mas não como o Apache, Nginx ou Tomcat, nesses servidores ocorre uma característica em comum, uma paralisação, que é conhecida como modelo bloqueante (Blocking-Thread). Vejamos um exemplo:

    Outros servidores

  • Cliente faz uma requisição
  • Servidor atende e processa a requisição
  • Servidor devolve a resposta para o cliente
  • Pronto para processar uma nova requisição
    Node.js

  • Cliente faz uma requisição
  • Servidor passa a solicitação para processamento. Pronto para processar uma nova requisição
  • Servidor lida com mais requisições a medida que ele vão sendo requisitados
  • Servidor fornece a resposta para o cliente quando a requisição concluiu o processamento.

Isso porque o Node.js funciona por eventos assíncronos, o que iremos ver mais tarde em outros posts. Bom, sabendo o que é Node.js, vamos ao porque de sua construção e para que ele é comumente usado.

História do Node.js

Como vimos, um sistema bloqueante (Blocking-Thread) enfileira cada requisição e depois as processa, uma a uma, não permitindo múltiplos processamentos delas. Foi em 2009 que Ryan Dahl junto a  14 outras pessoas resolveram criar algo que fosse não-bloqueante (non-blocking thread ) e assim nasceu o Node.js.
Uma das inspirações de Ryan Dahl para criar Node.js foi ao notar a barra de progresso de upload de arquivos no Flickr, ele percebeu que o navegador não sabia o quanto do arquivo foi carregado e tinha que consultar o servidor web.  Depois disso Node.js começou a mostrar que além de ser um não-bloqueante e por isso ter uma
boa performance com consumo de memória, ele utiliza ao máximo e de forma eficiente o poder de processamento dos servidores. Usuários de sistemas Node.js estão livres de aguardarem por muito tempo o resultado de seus processos, e principalmente não sofrerão de dead-locks no sistema, porque nada bloqueia em sua plataforma e
desenvolver sistemas nesse paradigma é simples e prático.
Isso significa que os desenvolvedores podem usar Node.js para construir aplicações que escalam milhões de usuários. Comunicação em tempo real, que é gerenciado pela função Event loop (ao qual também falaremos mais tarde), sem ocupar muito da memória, facilitando para que os desenvolvedores possam passar mais tempo trabalhando na funcionalidade do aplicativo do que eles gastariam se preocupando com que o aplicativo fique “entupido” com muitas consultas.

Próximos posts será instalar e fazer um Hello World com Node.js, além de descobrir mais sobre o projeto open source do Google V8 e o que ele tem a ver com o Node.js e também o paradigma do programação orientada a eventos.

Setup do Appmaker no WindowsSetup do Appmaker no Windows

Aqui vai um rápido tutorial do que é preciso para poder configurar e rodar o projeto Appmaker da Mozilla no Windows.

Ambiente: Windows 8.1 x64

Projeto a ser forcado e utilizado no Github
github.com/mozilla-appmaker/appmaker

Vale lembrar que no README.md do projeto já tem instruções, o que irei passar são links de auxílios e um esclarecimento maior quanto ao que é necessário.

Ferramentas necessárias:
msygit
Node.js
npm – Fancy Win Install (já vem com o node, mas caso não venha)
Grunt
Ruby
MongoDB

A primeira coisa a fazer é o download e instalação da ferramenta msygit. Caso você esteja fazendo isso pela 1ª vez, esse artigo Usando Git (e GitHub) no Windows deve te ajudar, no entanto PRESTE ATENÇÃO a um detalhe importante que o autor do artigo escolhe e para esse projeto é diferente e que será necessária para esta configuração. Durante a instalação do msygit aparecerão várias telas e uma delas é a “Adjusting your PATH environment“, quando esta tela aparecer são estas escolhas que você deve fazer, segue imagens.

mysgit

mysgit2Instalado o msygit, você deve fazer o download e instalação do node.js e ao finalizar abra o mysgit e rode os seguintes comandos:

/* Instalação do Grunt */
npm install -g grunt-cli

Vai fazer várias instalações, senão houver nem um problema, vamos agora criar uma pasta (a pasta pode ser no Desktop) e entrar nela.

mkdir mozilla-appmaker
cd mozilla-appmaker

Veja que o comando é do Unix, ou seja, ainda estamos e vamos utilizar o msygit para vários comandos.
Agora forkem o repositório do projeto e clonem seu fork dentro da pasta mozilla-appmaker:

git clone git@github.com:<your GitHub username>/appmaker.git appmaker

Sua estrutura deve ser como essa

mozilla-appmaker/
├── appmaker/

Faça uma configuração remota:

cd appmaker
git remote add upstream git@github.com:mozilla-appmaker/appmaker.git
git fetch upstream

Agora instale o Node (sim, já fizemos antes, mas agora ele instalará todas as dependências que o ele precisa)

npm install

Configure seu env, isso dentro do diretório Appmaker que criamos ao fazer o clone.

cp sample.env .env

Instalando e rodando o MongoDB

essa é uma parte chatinha no Windows, mas é a última fase para fazer seu projeto rodar.
Faça o download do MongoDB em seu site, descompacte ele é coloque-o no c:/ com a seguinte
estrutura de arquivos

mongodb/
├── bin/

Dentro do bin haverá vários arquivos e você executará o momgod.exe, mas se você fizer isso agora
não irá funcionar, porque o MongoDB precisa de um diretório para guardar seus arquivos (mais informações
aqui install mongodb on windows), vamos criar este diretório que terá a seguinte estrutura e nomes

c:/
├── data/
    ├── db/

Agora sim, dentro do cmd do windows você ira entrar no c:/mongodb/bin/
(caso você não esteja no c:/, será na letra que seu local tiver) e executar o seguinte comando:

c:\mongodb\bin\mongod.exe

Pronto, mongodb no ar, agora você precisa finalizar rodando o projeto, mas para isso você irá
precisar instalar e rodar o Ruby porque o próximo comando, o comando de “start” do projeto utiliza.

Depois do Ruby instalado, rode este comando no msygit

gem install foreman -v 0.61

Exitem versões mais novas do foreman (mais sobre o Foreman aqui), mas elas deram problemas e a única forma de resolver foi optando por uma versão mais antiga.

Por último, rode este comando

foreman start

Se tudo deu certo, ao acessar esse endereço http://localhost:5000/ o projeto Appmaker já deve estar rodando em seu ambiente local.

Pronto! Agora você já pode hackear seus primeiros componentes 🙂Aqui vai um rápido tutorial do que é preciso para poder configurar e rodar o projeto Appmaker da Mozilla no Windows.

Ambiente: Windows 8.1 x64

Projeto a ser forcado e utilizado no Github
github.com/mozilla-appmaker/appmaker

Vale lembrar que no README.md do projeto já tem instruções, o que irei passar são links de auxílios e um esclarecimento maior quanto ao que é necessário.

Ferramentas necessárias:
msygit
Node.js
npm – Fancy Win Install (já vem com o node, mas caso não venha)
Grunt
Ruby
MongoDB

A primeira coisa a fazer é o download e instalação da ferramenta msygit. Caso você esteja fazendo isso pela 1ª vez, esse artigo Usando Git (e GitHub) no Windows deve te ajudar, no entanto PRESTE ATENÇÃO a um detalhe importante que o autor do artigo escolhe e para esse projeto é diferente e que será necessária para esta configuração. Durante a instalação do msygit aparecerão várias telas e uma delas é a “Adjusting your PATH environment“, quando esta tela aparecer são estas escolhas que você deve fazer, segue imagens.

mysgit

mysgit2Instalado o msygit, você deve fazer o download e instalação do node.js e ao finalizar abra o mysgit e rode os seguintes comandos:

/* Instalação do Grunt */
npm install -g grunt-cli

Vai fazer várias instalações, senão houver nem um problema, vamos agora criar uma pasta (a pasta pode ser no Desktop) e entrar nela.

mkdir mozilla-appmaker
cd mozilla-appmaker

Veja que o comando é do Unix, ou seja, ainda estamos e vamos utilizar o msygit para vários comandos.
Agora forkem o repositório do projeto e clonem seu fork dentro da pasta mozilla-appmaker:

git clone git@github.com:<your GitHub username>/appmaker.git appmaker

Sua estrutura deve ser como essa

mozilla-appmaker/
├── appmaker/

Faça uma configuração remota:

cd appmaker
git remote add upstream git@github.com:mozilla-appmaker/appmaker.git
git fetch upstream

Agora instale o Node (sim, já fizemos antes, mas agora ele instalará todas as dependências que o ele precisa)

npm install

Configure seu env, isso dentro do diretório Appmaker que criamos ao fazer o clone.

cp sample.env .env

Instalando e rodando o MongoDB

essa é uma parte chatinha no Windows, mas é a última fase para fazer seu projeto rodar.
Faça o download do MongoDB em seu site, descompacte ele é coloque-o no c:/ com a seguinte
estrutura de arquivos

mongodb/
├── bin/

Dentro do bin haverá vários arquivos e você executará o momgod.exe, mas se você fizer isso agora
não irá funcionar, porque o MongoDB precisa de um diretório para guardar seus arquivos (mais informações
aqui install mongodb on windows), vamos criar este diretório que terá a seguinte estrutura e nomes

c:/
├── data/
    ├── db/

Agora sim, dentro do cmd do windows você ira entrar no c:/mongodb/bin/
(caso você não esteja no c:/, será na letra que seu local tiver) e executar o seguinte comando:

c:\mongodb\bin\mongod.exe

Pronto, mongodb no ar, agora você precisa finalizar rodando o projeto, mas para isso você irá
precisar instalar e rodar o Ruby porque o próximo comando, o comando de “start” do projeto utiliza.

Depois do Ruby instalado, rode este comando no msygit

gem install foreman -v 0.61

Exitem versões mais novas do foreman (mais sobre o Foreman aqui), mas elas deram problemas e a única forma de resolver foi optando por uma versão mais antiga.

Por último, rode este comando

foreman start

Se tudo deu certo, ao acessar esse endereço http://localhost:5000/ o projeto Appmaker já deve estar rodando em seu ambiente local.

Pronto! Agora você já pode hackear seus primeiros componentes 🙂

Gecko

Gecko é um lagarto pequeno e médio da família Gekkonidae. Existe mais de 300 espécies distribuídas por regiões quente do planeta. gechoGecko também o nome e símbolo do motor de renderização usado em várias aplicações desenvolvidas pela Mozilla Foundation e Mozilla Corporation.

gecko-logoMas o que é um motor de renderização? Também conhecido como motor de layout é um software que transforma conteúdo em linguagem de marcação (como HTML, XML, etc.) e informações de formatação (como CSS, XSL, etc.) em um conteúdo formatado para ser exibido em uma tela (como um monitor, projetor, etc..) Ele é tipicamente usado por navegadores, clientes de e-mail, ou outro software que necessite mostrar (ou editar) conteúdo da WWW.

Gecko é o motor de layout usado pela Mozilla, utilizado no navegador Firefox, Thunderbird, FirefoxOS e outros projetos de software livre, ele é escrito em C++ e é multiplataforma, roda sobre vários sistemas operacionais.

O desenvolvimento do motor de renderização, agora conhecido como Gecko, começou no Netscape em 1997 e foi originalmente escrito para o Netscape Navigator 1.0 e atualizado através dos anos, foi amplamente considerado inferior numa comparação com o Microsoft Internet Explorer. Ele era lento e faltava o recurso de reflow (quando o motor de layout rearranja elementos sobre a tela, quando novos dados são baixados no lado do cliente).

Em 1998 é lançado o projeto Mozilla e o novo motor de renderização que estava sendo desenvolvido em paralelo com o antigo para ser implementado dentro do Netscape Communicator, passa a ser distribuído sobre uma licença Open Source e ganha um novo nome NGLayout (originalmente ele foi apresentado como Raptor, mas a modificação foi devido a próxima geração de layout). Mais tarde a Netscape rebatizou o motor NGLayout para Gecko. Enquanto Mozilla Organization (precursora da futura Mozilla Foundation), inicialmente continuou a usar o nome de NGLayout (Gecko foi uma marca da Netscape), mais tarde, a Mozilla Foundation passou a utilizar a marca Gecko para seu motor de layout.

Com a continuação do motor de layout Gecko, outras aplicações e utilitarios passaram a utilizar-se do novo motor. A America Online, nessa altura, acabou adotando para o uso em seu CompuServe 7.0 e AOL para Mac OS X (este produtos já tinham sido incorporados no Internet Explorer). No entanto, com a exceção de alguns, o Gecko nunca chegou a ser utilizado nos principais clientes Microsoft Windows e AOL.

Em 15 de julho de 2003, AOL demitiu os desenvovedores restantes do Gecko e a Mozilla Foundation (formada no mesmo dia) tornou-se a principal desenvolvedora do Gecko. Hoje, o Gecko é desenvolvido por funcionários da Mozilla Corporation, funcionários de companhias que contribuem para o projeto Mozilla, e também de diversos voluntários.

Hoje, Gecko é o coração da Mozilla e seu navegador FirefoxOS, a arquitetura do Gecko serve e servirá a Mozilla no futuro, permitindo tempo mais rápido ao mercado, mais inovação, desenvolvimento mais fácil,  assim como distribuição, atualização e melhor suporte a plataforma.

Desde o início, o Gecko foi desenhado para suportar os padrões abertos da Internet. Alguns dos padrões suportados hoje pelo Gecko são:

  • HTML4 (suporte parcial ao HTML5)
  • CSS Nível 2.1 (suporte parcial ao CSS3)
  • JavaScript 1.8 (ECMAScript 3, e suporte parcial ao ECMAScript 5), implementado no SpiderMonkey
  • DOM Nível 1 e 2 (suporte parcial ao DOM 3)
  • XML 1.0
  • XHTML 1.0
  • XSLT e XPath, implementado no TransforMiiX
  • MathML
  • XForms
  • RDF
  • Unicode
  • Image formats
    – PNG
    – GIF
    – JPEG, PJPEG

O Gecko também suporta parcialmente SVG 1.1.

Fontes de pesquisa:
MDN – Gecko
Wikipédia – Gecko
Wikipédia – Motor de renderização

Conectando o GeeksPhone Keon ou Peak

Meu blog está abandonado, eu confesso. Não sou muito de escrever, estou escrevendo agora e se futuramente vier a escrever é porque passei por algum perrengue que achei válido compartilhar.

Hoje foi o caso, também peço que não estranhe o layout novo, estou mudando para ser responsivo.

Bom, vamos ao que interessa, tenho interesse em desenvolver para FirefoxOS, aprender e me aprofundar em HTML5,  CSS3 e JavaScript, principalmente Canvas que é o que tenho visto em meus tempos livres. Resolvi rodar um dos meus testes no dispositivo, um GeeksPhone Keon na versão 1.1. Pluguei o dispositivo ao meu notebook e nada, já tive problema em um Hackathon onde ganhara o dispositivo, mas até então não havia visto o que era.

Comecei a procurar por tutoriais que auxiliassem a entender e solucionar o problema, todos eles em inglês, então aqui vai um rápido tutorial em português, vale lembrar que isso também serve caso você queira atualizar a imagem de seu GeeksPhone Keon ou Peak

1º – Se você tem um GeeksPhone Keon ou Peak, ainda não conectado a USB, vá em Configurações > Informações > Mais informações > Desenvolvedor.
Nessa tela você irá procurar por Depuração remota e marcar. Segue imagem.

img-firefoxPronto, agora você já pode conectar seu dispositivo ao notebook, ultrabook, computador, entre outros.
O teste final é ir até o Simulador do FirefoxOS e veja se aparece o ícone de push no projeto que você está testando bem como do lado esquerdo o ícone de um telefone com a mensagem “Device connected”, como na imagem abaixo.

simulador-ffosClique no botão push, no seu dispositivo deve aparecer uma mensagem de que foi instalado e o ícone que você colocou no seu teste/projeto, no meu caso foi o logo do HTML5, devido ao Canvas  🙂

img-ffos
Bom, espero que este post possa contribuir sanando a dúvida de alguém. Por hora é isso.E se alguém tiver dúvidas, fique a vontade em me procurar, ficarei feliz em poder ajudar e de repente descobrir que sua dúvida pode ser minha também e aprender mais.