Category Archives: Tutorial

Tutorial

Porque sou de esquerda.

library-1600

1- Porque tenho empatia pelas outras pessoas, especialmente pelas menos privilegiadas que eu, e porque acredito que é a competitividade do capitalismo, que incentiva a exploração das classes trabalhadoras e impede que haja maior igualdade social.Que o ser humano está acima do mercado e do lucro.

2. Porque não aceito como algo natural e imutável que alguns poucos tenham tudo, sem esforço, e muitos não tenham nada, ainda que se esforcem. Acredito que é dever do estado procurar reduzir essa desigualdade e prover assistência social à sua população mais necessitada.

3. Porque acredito que os bens naturais como a terra, e outras riquezas da sociedade assim como o conhecimento e a tecnologia, deveriam estar disponíveis e serem compartilhados por todos, e não deveriam ser privilégio de poucos.

4. Porque acredito que as pessoas devem aprender a respeitar e aceitar as diferenças políticas, culturais, físicas, de gênero e religião, e que as minorias precisam da proteção especial do estado contra a opressão e a discriminação.

5. Porque acredito que é dever do estado prover saúde e educação de qualidade igualmente para todas as pessoas, e que todos devem contribuir com impostos proporcionais à sua capacidade para garantir que isso ocorra. Somente uma população educada é verdadeiramente livre para pode exercer plenamente seus direitos democráticos.

6. Porque defendo a liberdade como um direito fundamental do indivíduo, e que a liberdade só é conquistada com igualdade de oportunidades, sendo essa deveria ser a principal motivação de uma sociedade.

Cultura Geek Engenharia de Software Livros Resenhas Tutorial

Tutorial de D3.js – Data-Driven Documents

TODAS-373

O D3.js é uma biblioteca de código em JavaScript que permite criar gráficos bem interessantes na web. O livro abaixo é uma introdução ao assunto que serve como um tutotial. Fiz todos os exemplos e os publiquei a seguir. Os códigos e dados vão estar disponíveis no GitHub oportunamente.

Getting Started with D3Getting Started with D3 by Mike Dewar
My rating: 5 of 5 stars

The book is a great tutorial with practical examples of D3 applications. The examples are based on data from the New York Metropolitan Transit Authority Data Set. The data is still available but you still can find them in github (I will leave my exercises there too). There are minor typos in the code, but it´s easy to spot them and learn D3.

View all my reviews

Exercícios do livro:

Exemplo 1 – Textos e Seleção
Exemplo 2 – Histograma
Exemplo 3a – Grafico de Pontos com escalas e SVG
Exemplo 3b – Gráfico de Linha comEsclada e SVG
Exemplo 4 – Interação com Gráfico
Exemplo 5 – Layout (uso da força no D3)

Ref. Dewar, M., 2012. Getting Started with D3. O’Reilly Media, Inc

Download Fotografia Tutorial

Fotografando com um SRL Digital

Fotografar com uma câmera digital SLR (aquelas que permitem trocar as lentes) pode ser um pouco intimidador. A quantidade de opções e o número de controles assusta o principiante. Muitos não sabem que uma SLR também pode ser usada como uma câmera automática, mas não é isso que se deseja com uma câmera assim. Apresento aqui uma lista de 4 passos pode ajudar a dar a segurança para obter as primeiras fotos, e aos poucos, ir se aprofundando no conhecimento da técnicas e do equipamento. Minha intensão é mostrar que este aprendizado pode ser divertido e o resultado altamente compensador.

Baixe aqui um guia rápido para fotografa digital.

Fotografia Tutorial

Dicas para começar a fotografar

Uma das coisas que eu mais gosto, sobre fotografia, é que ela é uma combinação de alguma nerdice e muita arte. No lado nerd estão as noções de ótica, conhecimentos de física e movimento, além, é claro, do uso de softwares interessantes para pós-processar as imagens. No lado da arte estão o olhar, a atenção aos detalhes, o notas coisas que sempre estiveram ao seu lado, mas você nunca as viu. Depois de começar a fotografar passei a notar enquadramentos, texturas, perspectivas, entre outras coisas, e sem dúvida o mundo ficou mais interessante e bonito.

Se você quiser começar com o lado artístico, eu posso te ajudar muito pouco. Talvez uma dica seja a de ver muitas fotos, boas de preferência, e tentar ver porque elas são boas e como poder reproduzi-las.

Se você quiser começar com o lado nerd um bom começo é tentar tirar fotos no modo manual (M). Uma das coisas mais importantes para isso é entender o conceito de exposição (exposure). Fotografia quer dizer escrever com a luz, assim, o controle de quanta luz você deixar ser exposta ao sensor é o grande segredo.

A exposição é uma combinação de 3 fatores: velocidade do obturador, abertura e o ISO:

  • A Velocidade do obturador medida em frações de segundo (1/50, 1/200…) deve ser baixa, quanto mais velocidade, menos luz.
  • Abertura, conhecida como f-stop, que possui medidas como f-2.2 f-3.5 f-4.5 f-6.0 deve ser baixa (mais abertura): quanto maior a abertura mais luz e menor o f-stop. Em geral o f-stop é limitado pelo tipo de lente.
  • O ISO está relacionado com a sensibilidade do sensor e varia como ISO 100, 200, 400, 800, 16000, 32000: quanto maior o ISO mais sensível, mas piora qualidade, assim se deseja um ISO baixo para ter uma boa qualidade.
  • Algumas regras básicas, se é que existem regras, poderiam ser:

    a) O f-stop está ligado à profundidade de campo, mas em geral use o menor possível. Isso vai fazer com que você está aproveitando o máximo da luz disponível, mas apenas uma pequena parte do elemento vai estar em foco, criando o chamado bokeh (fundo fora de foco), como na foto abaixo. Se esse não é a sua intensão, aumente o f-stop, mas lembre-se que vai precisar mudar a velocidade ou o ISO para compensar. Um modo semi-automático, que é o que eu mais uso e o chamado prioridade de abertura (AV) onde se define o f-stop e o ISO e a máquina ajusta a velocidade necessário para garantir uma boa iluminação. É o modo mais rápido de ajuste, mas quando a foto tem partes muito claras e escuras pode não funcionar bem e o jeito é usar o modo Manual.

    b) A velocidade não é um problema muito grande, se for baixa demais, a foto pode sair tremida. Para não tremer tem que garantir uma velocidade mínima. Uma regra prática é que a velocidade mínima seja de 1/d onde d é a distância focal da lente. Se você está tirando foto com uma lente de 100mm a velocidade mínima deveria ser 1/100, para você conseguir segurar a máquina com a mão e não tremer. As vezes, você quer uma velocidade baixa para tentar capturar o movimento, como na foto abaixo

    c) O ISO ideal é o menor possível, mas para usar 100 vai ter que ter muita luz (dia ensolarado) se usar um valor muito alto a imagem vai sair granulada. Um valor intermediário 400 em geral é o mais usado. Variar o ISO corresponde a ter um filme mais ou menos sensível. Usar um ISO alto é necessário em situações de baixa iluminação, como na foto abaixo, tirada a noite onde usei ISO 1600.

    d) O balanço de branco (WB) define a temperatura da foto (uma lâmpada incandescente é mais quente que uma lampada fluorescente, que é fria) ajustar o WB vai compensar a cor da luz na foto e tirar uma foto mais verdadeira. Em geral as fotos mais quentes são mais agradáveis, como no exemplo abaixo. Pode se alterar o balanço de branco na máquina ou no pós processamento. Deixar o WB como um tempo nublado (mesmo durante o dia claro) é uma boa tática para fotos com bom contraste.

    e) O disparador tem dois estágio no primeiro, quando se começa a apertar, ele faz os calculos e mostra no visor qual a exposição, velocidade e também faz o foco. Veja na foto abaixo que o foco não está no centro da foto, que procura usar um grande espaço livre para dar balanço na composição, já que o modelo não ajuda.

    f) A questão do zoom é uma outra questão interessante e bem nerd, mas vou deixar para outro post. No momento só precisa saber que 50mm é a medida bem próxima de como uma foto digital se aproxima com a visão normal. Se a distância for menor (35, 18) você tem uma foto muito aberta (grande focal) até medidas proximas de 8, 10 em um olho de peixe, e um ZOOM -. Se você for para medidas maiores 100, 200, 300 ou em fotos esportivas e de pássaros 400 você tem uma telefoto e um ZOOM +. Tenho usado uma lente de 35mm em uma câmera com um sensor reduzido (Croped Sensor) que leva a fotos próximas dos 50mm. Veja este post a minha análise da lente de 35mm.

    Bom, agora saia da frente do computador e vá tirar fotos.

    Cultura Geek Tutorial

    Arduino Projeto #1 – Semáforo

    ARDUINO é uma plataforma de prototipação eletrônica de código aberto (Open-source) de fácil uso e bem barata. Um kit básico com a placa UNO custa R$ 180,00. Seu objetivo é criar objetos interativos com uso de sensores e atuadores. Ele possui um placa microprocessada que pode ser programada em um ambiente e linguagem de programação própria (semelhante ao C).

    Diversos kits de desenvolvimento e livros especializados facilitam a vida do iniciante. A plataforma está em constante evolução e possui versões para internet, automação doméstica, GPS, robots entre outras.

    Com um ARDUINO UNO, a placa mais simples e um KIT de INICIANTE fiz o primeiro projeto: Um controle de semáforo bem simples.

    Aqui está um vídeo da operação do sistema, com as luzes do “semáforo” alternando entre vermelho, amarelo e verde conforme o programa seguir:

    // Projeto traffic Lights
    // Mode #1 - adaptado do McRoberts, Michael.
    // Beginning Arduino 2nd Ed. Technology in Action.

    int ledDelay = 10000; // atraso entre mudanças
    int redPin = 12;
    int yellowPin = 11;
    int greenPin = 10;

    void setup(){
    pinMode(redPin, OUTPUT);
    pinMode(yellowPin, OUTPUT);
    pinMode(greenPin, OUTPUT);
    }

    void loop(){
    digitalWrite(redPin,HIGH); // acende o vermelho
    delay(ledDelay); // espera

    digitalWrite(yellowPin, HIGH);
    delay(2000);

    digitalWrite(greenPin, HIGH); //acende o verde
    digitalWrite(redPin, LOW); //apaga o vermelho
    digitalWrite(yellowPin, LOW);
    delay(ledDelay);

    digitalWrite(yellowPin, HIGH); //acende o amarelo
    digitalWrite(greenPin, LOW);
    delay(2000);

    digitalWrite(yellowPin, LOW); // apaga o amarelo

    //Repita
    }

    Cultura Geek Produtividade Tutorial

    Enviando textos do blog para o Kindle

    New uses for my kindle

    Tenho notado em alguns websites um botão “Send to Kindle”. Nele, o leitor pode mandar o texto da reportagem ou do blog, via wifi, para o seu Kindle. Meu Kindle está meio parado, mas esse pode ser um bom uso para ele. Para implementar este botão no meu blog, deve-se seguir os seguintes passos:

    1. Instalar no WordPress o plugin, que pode ser encontrado aqui.

    2. Optei por não usar a configuração padrão, que coloca o botão junto com o post (antes ou depois). Preferi colocar ao lado do post, em um TEXT widget, junto com os botões. Para isso é preciso editar um pequeno trecho de código HTML. No meu caso o código ficou:

    Enviar para Kindle

    3. E é isso.

    No meus testes tudo funcionou bem, o post foi enviado SEM AS FOTOS. O que faz com que para os posts com muitas fotos não vão ser muitos úteis. Com o post, vai também um link para o post original. Quem pode ser bem útil. Convido-o a testar.

    Cultura Geek Engenharia de Software Pesquisa Tutorial

    Escrever um Projeto de Mestrado (revisado)

    Escada do Museu Pompidou

    Esta é minha segunda versão de um post que publiquei em 2008, para ajudar meus alunos a organizar um projeto de pesquisa, antes de iniciarmos uma orientação.

    Um projeto do Mestrado é um texto curto (de 1 a 3 páginas) que resume o trabalho que se pretende desenvolver como pesquisa. Apesar de ser um texto curto o trabalho para escrevê-lo não é pequeno, envolve pesquisa, muita leitura e algumas decisões importantes. Este post serve de índice para se escrever um projeto. Não existe um roteiro, muito menos uma receita de bolo de como criar um projeto de pesquisa.

    O processo de criação do projeto é iterativo, pode começar com o título, com o objetivo ou com as referências ou até com a metodologia. Crie uma primeira versão, veja a relação entre as partes e faça uma nova iteração até convergir para um projeto que agrade e seja viável. Com o projeto em mãos vai ser mais fácil encontrar um orientador.

    Minha proposta de projeto tem 6 partes:

    1. Titulo
    2. Área
    3. Objetivo
    4. Metodologia
    5. Prazos disponíveis
    6. Referencias comentadas

    que serão descritas em detalhe a seguir:

    1. Titulo
    Talvez a último item a ser definido. Deve estar perfeitamente alinhado com o objetivo e a área, em geral destaca a principal contribuição da pesquisa.

    2. Área
    Como estamos pensando em um projeto de engenharia de software, um bom exercício é saber em que disciplina de Engenharia de Software este trabalho está inserido. Pode-se tomar o modelo do SWEBOK e identificar em que área a pesquisa se enquadra. O SWEBOK ajuda a definir o estado da arte desta área.

    Pessoalmente, procuro me concentrar nas áreas de Testes em sistemas de software: métodos, ferramentas, critérios e técnicas de teste e desenvolvimento como o Test-Driven Development, Integração contínua, e similares; e Processos de Desenvolvimento de Software como o RUP, OpenUP, Scrum, Xp, e similares. As vezes ajuda saber as áreas que o orientados atua para encaminhar corretamente sua proposta.

    3. Objetivo
    Deve dar uma contribuição à área de pesquisa, responder uma questão de pesquisa, por exemplo:

    • Novos Métodos ou técnicas de teste de software
    • Novos Métodos para análise ou avaliação e comparação de ferramentas e métodos
    • Design, avaliação ou análise de um problema em particular, na forma de um estudo de caso (verificar se é um estudo de caso real)
    • Generalização ou caracterização de técnicas, procedimentos, métodos.

    4. Metodologia
    Como pretende atingir o objetivo. Etapas e atividades a serem desenvolvidas para atingir o objetivo. Por exemplo, segue 3 grandes tipos de pesquisa: Estudos de Caso, Pesquisas Experimentais (empíricas) e Pesquisa-Ação. (procure detalhes destas metodologias na internet. Dependendo do objetivo da pesquisa uma metodologia atende melhor que outra. Vou exemplificar os estudos com uma pesquisa na área de Teste de Software.

  • Ex.1 Estudo de Caso: Ideal para avaliar uma técnica ou processo específico. Pode-se realizar um estudo (de caso) em empresas que usam este método por exemplo.
  • Ex.2 Pesquisa Empíricas. Para se avaliar se uma proposta de uma melhoria em método de teste pode-se realizar um experimento (estudo empírico) que compare a técnica melhorada com técnica original.
  • Ex.3. Pesquisa-Ação. Para se resolver um problema real (que pode envolver a implantação de uma estratégia de teste) pode-se realizar uma análise aprofundada no problema (pesquisa) propor uma solução e avaliar sua eficácia (ação).
  • 5. Prazos
    Prazos disponíveis e estimados. Reserve no mínimo 3 meses para revisão de textos e leitura do material pelas bancas de qualificação e defesa. E no mínimo 6 meses entre a qualificação e defesa de mestrado. Um trabalho completo de um tema bem definido e maduro não é feito em menos de 1 ano.

    6. Referências Comentadas
    De 4 a 7 bons artigos (não vale white paper) – A existência de boas referências recentes sobre o tema é um indicativo forte de um bom tema. Por outro lado, a inexistência é um indicativo de que a pesquisa não vai ter o embasamento científico necessário para progredir.

    Dê uma lida em outras dicas:

  • A empresa como tema de pesquisa: um bom caminho?
  • Novos Temas de Pesquisa: O caminho das pedras
  • Procura por Temas de Pesquisa: Métodos Ágeis
  • Fotografia Galeria Tutorial

    Galeria de Fotos em HTML5

    Galeria de Fotos

    O Flash morreu, vida longa ao HTML5. A proliferação de IPhones e IPADs tem forçado os desenvolvedores de website em repensar o uso do Flashplayer em seus projetos. Especialmente nas galerias de fotos o uso de um

    Eu queria uma galeria que fosse, antes de mais nada simples de usar e de visualização elegante. Limpa de opções e movimentos, mas com com alguma customização para poder escolher cores e a legenda nas fotos. Um fundo musical seria uma opção interessante em alguns casos.

    Procurei produtos que dispunham de uma versão gratuita para testar, mas aceitaria pagar se não fosse muito caro. A quantidade de produtos que encontrei foi enorme, mas a variedade relativamente pequena.

    LightRoom
    O primeiro produto analisado foram as próprias galerias do Adobe Lightroom. Ele tem templates HTML e Flash mas nenhum é realmente elegante. (clique aqui para ver um exemplo).

    JQuery
    A grande maioria dos produtos que encontrei são baseados na biblioteca de JavaScript jQuery. JQuery é uma biblioteca de rotinas em JavaScript que simplifica uma série de atividades que agiliza o desenvolvimento de sistemas web. Entre as rotinas o JQuery disponibiliza interações Ajax, tratamento de eventos, animação e a criaão de galerias de fotografias (Clique aqui para um exemplo de galeria JQuery).

    Entre os destaques de galerias que usam o JQuery encontrei:

    ::html5box.com
    ::lightbox
    ::html5slideshow
    ::wowslide
    ::s3slider

    Também achei alguns tutoriais para usar o JQuery e criar sua galeria
    Tutorial 1 | Tutorial 2 | Tutorial 3

    Juicebox
    Infelizmente, nenhum deles me agradou. A interface acaba sendo muito parecida e o excesso de animações deixa as galerias pouco práticas. Dentre os que não usam o JQuery, encontrei o Juicebox que é o mais que se aproximou das minhas expectativas. O Juicebox possui uma aplicação desktop que assim como o Lightroom permite selecionar as fotos e as legendas e que cira o website da galeria com o código.

    Contra o Juicebox eu achei um desktop client escrito em Adobe Air. Não faz muito sentido se eu estou querendo acabar com o flash ele me empurra o air, mas isso só ocorre no desktop. O software do desktop é simples e ajuda muito a construir a galeria. O teste local da galeria criada não funciona no Chrome (não se sabe porque), mas o resultado final publica sim (vai entender).

    Conclusão:
    O Juicebox atende todos os meus requisitos. Ele deixa um logo no canto inferior (na versão gratuita) que não me incomoda. Como na versão paga (Juicebox-Pro Single License $49) permite incorporar um fundo musical eu talvez eu compre a versão no futuro. Mas por enquanto estou gerando galerias bem interessantes com a versão gratuita. O resultado em celular e tablet android ficou ótimo. Veja os exemplos:

    >> Galeria de Fotos de Paris
    >> Galeria de Fotos do Uruguay
    >> Galeria de Fotos de Cuba
    >> Galeria de Fotos de Portugal
    >> Portfolio de Fotos em Preto e Branco

    Cultura Geek Download Tutorial

    Criando um Ringtone da Star Trek

    At battle

    Ok, a foto acima é de starwars, mas não tenho nenhuma de star trek então fica essa mesmo. Queria ter um tema de Star Trek Original como meu Ringtone do meu celular. O tema é bem curto (58 seg) mas o problema é que ele é muito lento nos primeiros 30 segundos, enquanto o narrador declama, o empolgante:

    Space: the final frontier…
    These are the voyages of the Starship Enterprise,
    Its five-year mission to explore strange new worlds,
    To seek out new life, and new civilizations,
    To boldly go where no man has gone before!

    Só então começa uma música boa pra ringtone (veja no clipe).

    Achei o prático programa Mp3 cutter and editor que resolveu o problema, removendo o começo da introdução e deixando o toque bem direto e personalizado..

    Fiz o mesmo com o tema da Nova Geração, que tem um tema interessante no início e no final interessantes, gerando dois toques independentes.

    Para quem quiser ai estão em mp3 para download:

    Star Trek Série Original introdução (500k) original por Alexander Courage.
    Star Trek Nova Geração parte1 (1500k) e
    Star Trek Nova Geração parte2 (1500k) original por Jerry Goldsmith.

    Vida Longa e Próspera!

    Cultura Geek Tutorial

    Como transformar um Android em uma wireless CAM

    Testing an Android Device as an Webcam

    Intalando a App ipCAM no tablet ou celular Android permite criar um servidor IP que transmite imagens na rede wifi da câmera do celular. Estas imagens podem ser capturadas em um browser ou por programas cliente de vídel como o VLC.

    Depois de instalar o aplicativo no celular ou tablet, a app mostra um endereço IP que pode ser usado no browser para acessar o servidor que disponibiliza alguns programas Java para controlar a câmera. Este aplicativo permite tirar fotos, ligar ou desligar áudio, o led (flash), fazer foco, etc.