E16 + Xfce4 (continuação)

Tags: , , — September 26, 2007 @ 6:04 pm

Em continuação ao post E16 + Xfce4.

Configurei meu PC do trabalho com o Enlightenment DR16 e o Xfce. Para isso apenas utilizo uma sessão salva do Xfce4 com o E16 como gerenciador de janelas e gerenciador de sessões do Xfce4 lembra de iniciar o E16 ao invés do Xfwm4 a cada login. Também configurei o Xfce4 para não salvas sessões automaticamente.

screenshot_orange.png

O tema usado, tanto no E como no Eterm, é o Orange Juice.

Se você gostou deste artigo, inscreva-se em meu RSS feed!

E16 + Xfce4

Tags: , , — September 21, 2007 @ 4:30 pm

Com a ajuda de kwo em #E@irc.freenode.net eu consegui mesclar o Xfce Desktop com o Enlightenment Window Manager (versão 0.16, com o E17 também é possível, mas seria um desperdício não aproveitar as funções desktop deste último).

Acho esta uma ótima combinação pois o Xfce é o Desktop mais leve atualmente para X, e o e16 também, adicionando um visual ótimo ao xfce, com a transição das áreas de trabalho e o pager com miniaturas.

Algo muito interessante no e16 é as miniaturas das janelas no pager e na iconbox, algo que não será adicionado no e17.Para fazer esta combinação apenas siga os seguintes passos:

  • Inicie uma sessão com o Xfce normalmente;
  • Finalize o gerenciador de janelas ($ pgrep xfwm4; $ kill -15 [pid obtido]) ;
  • Inicie o e16 ($ /usr/bin/enlightenment);
  • Clique com o botão direito na tela (menu de configurações do e16), vá nas configurações do papel de parede (Desktop Background Settings);
  • No menu do Xfce, vá em Configurações -> Gerenciador de Configurações, clique em Área de Trabalho e marque a opção ‘Permitir ao Xfce Gerenciar a Área de trabalho’.

Pronto, agora você tem um Xfce com o e16 como gerenciador de janelas. Esta é a combinação perfeita para quem deseja um ambiente desktop completo e os recursos e efeitos do Enlightenment.

Mas há um problema, o gerenciador de sessões do Xfce não consegue identificar as áreas de trabalho do e16 para manter cada janela, apesar de lembrar as posições destas. E se você desabilitar o gerenciador de sessões, terá que fazer o processo acima cada vez que desejar usar um Xfce4 + E16. Pretendo criar um script para iniciar o Xfce4 com E16 automaticamente, quando o fizer vou certamente postá-lo aqui. Se alguém quiser ajudar será bem-vindo.

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Extreme Programming

Tags: , — September 18, 2007 @ 5:02 pm

Na última sexta-feira meu professor de DSI (Desenvolvimento em Sistemas de Informação) apresentou uma nova abordagem em desenvolvimento de software com a aula mais dinâmica que já tive. Trata-se da Extreme Programming (XP) .

Esta é uma nova metodologia de desenvolvimento de software (com cerca de 8 anos), voltada a interatividade com o cliente, ao trabalho em grupo e a dinâmica. Recomendada para desenvolvimento de softwares com requisitos vagos e que necessitem de constantes mudanças.

É baseada nas seguintes regras e práticas:

  • Planejamento
    • Problemas do usuário
      • São escritos pelos clientes especificando o que o sistema deve fazer por eles;
      • Estes Problemas assemelham-se ao uso de cenários, mas não limitados a descrever uma interface e são expressados em cerca de três sentenças escritas pelo cliente;
    • Plano de Lançamento
      • Após os Problemas serem escritos, encontros são realizados para para criar o Plano de Lançamento;
      • Este Plano de Lançamento especifica que cartões serão implementados para cada lançamento e as datas destes lançamentos;
    • Lançamentos Periódicos
      • O Time de desenvolvimento deve liberar pequenas versões interativas aos clientes periodicamente;
      • No próximo encontro os clientes expõe suas opiniões e satisfações sobre o projeto (Teste de Aceitação), o que permite ao time melhorar este de acordo com as necessidades do cliente;
    • Velocidade do Projeto
      • A Velocidade do Projeto é medida conforme quanto trabalho é realizado no projeto;
      • Para medí-la, simplesmente adicione as estimativas de cada Problema resolvido durante a iteração;
    • O projeto é dividido em Iterações
      • Desenvolvimento iterativo adiciona agilidade ao processo de desenvolvimento;
      • Divida o projeto em cerca de uma dúzia de iterações com uma a três semanas de duração;
      • Mantenha essa duração constante durante o projeto, é esta constante que torna a medida de progresso e o planejamento simples e confiável na XP;
    • Plano de Iteração
      • Uma reunião é feita no início de cada Iteração para criar o plano daquela Iteração, os trabalhos de programação a serem realizados;
      • Problemas são escolhidos pelo cliente para esta Iteração, a partir do Plano de Lançamento, na ordem do mais importante para cliente primeiro;
      • O total de problemas é estimado de acordo com a velocidade do Projeto da última Iteração;
      • Testes de Aceitação falhos e que precisem de reparos também são selecionados;
      • Estes Problemas do Cliente e Testes de Aceitação são divididos em tarefas e anotados em Cartões;
      • Enquanto os Problemas são descritos na linguagem do Cliente, os Cartões são escritos na Linguagem doProgramador;
      • Programadores responsabilizam-se por estes Cartões e estimam quanto tempo suas tarefas levarão para serem completadas (geralmente 1 a 3 dias);
    • Mude os Papéis
      • Os papéis de cada membro do time de programação devem ser trocados constantemente para evitar desperdício de conhecimento e “codificação viciada” destes;
      • Se apenas um membro é capaz de trabalhar em certa área, será um problema se esta pessoa sair do projeto ou você pode acabar com acumulo de tarefas para este;
    • Reuniões em pé
      • Uma reunião em pé é realizada diariamente;
      • Comunicação entre o time de projeto é a intenção desta reunião;
      • O conhecimento de cada um é dispersado e compartilhado, assim como uma visão geral do andamento do projeto;
      • Reuniões em pé tentem a ser rápidas e dinâmicas, e impede que o time distraia-se com futilidades;
    • “Conserte a XP quando ela quebrar”
      • Nào dizemos ’se’ porque obviamente serão necessárias modificações e adaptações para cada projeto;
      • Não exite em descartar as opções que não funcionarem e adicionar novas.

Estas são as práticas da fase de planejamento, não pretendo me extender aqui a ponto de descrever todas as fases, mas vou ressaltar alguns outros pontos importantes:

  • Simplicidade
    • Um projeto simples leva menos tempo para ser desenvolvido que um complexo;
    • Sempre faça o mais simples possível que funcione;
  • O Cliente está sempre disponível
    • Um dos principais requerimentos das Programação XP é comunicação constante com o cliente, preferencialmente face a face;
    • Não apenas para ajudar a equipe de projeto, mas sim como parte da própria equipe;
  • Programação em duplas
    • Toda a programação a ser incluída no projeto deve ser realizada por duas pessoas trabalhando juntas no mesmo computador;
    • Programação em duplas aumenta a qualidade do software sem impacto no prazo de entrega.

É notavel na programação XP que suas práticas são voltadas muito mais para a programação do que para a documentação e planejamento do projeto. Isto pode causar um grande impacto sobre os tabus de que a documentação é até mais importantes que a programação em si. Obviamente a documentação não deve ser descartada, mas também pode ser realizada dinamicamente durante os encontros/reuniões, desde anotações simples até gravação das sessões.

O suporte também não fica prejudicado pela falta de documentação apropriada. Uma vez que o conhecimento sobre o projeto é difundido sobre a equipe, fica relativamente fácil realizar modificações e aprimoramentos.

A imagem a baixo é um diagrama interativo da metodologia de programação XP. Hospedado em http://www.extremeprogramming.org/, que também foi minha maior fonte para este artigo. Leitura recomendada…

Fontes: http://www.extremeprogramming.org, http://en.wikipedia.org/wiki/Extreme_programming, http://pt.wikipedia.org/wiki/Extreme_programming

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Google Apps

Tags: — September 17, 2007 @ 11:22 am

Não faz muito tempo me chamou a atenção o fato de um amigo utilizar o Google Talk com um domínio próprio. Perguntando sobre como o fizera ele me falou sobre o Google Hosted, um serviço da google que utiliza domínios alteranativos para prover seus serviços.

Após pesquisar um pouco descobri o Google Apps, substituto do Google Hosted.

Quem visita meu blog com freqüência (alguém aí?) deve ter notado que mudei meus endereços de email para pauloNO@SPAMdiovani.com. Pois é, o Google hosted permite que você utilize um domínio próprio com os serviços da Google, a diversidade de serviços depende do plano escolhido, entre um gratuíto, um empresarial e um educacional, o plano gratuíto já disponibiliza os seguintes serviços: Gmail, Google Talk, Google Calendar, Docs and Spreadsheets e a página inicial. O serviço permite também substituir o logotipo do Google por um personalizado.

Gmail com Domínio e Logo Próprio

Assim você pode utilizar os serviços do google com seu próprio domínio, ou de sua empresa. Esta é uma ótima alternativa a servidores de email, por exemplo, que já vem adotada por algumas empresas como, fiquei sabendo recentemente, o iBest, que já a usa a interface do Gmail para seus clientes.

Mais um ponto para o Google!

Se você gostou deste artigo, inscreva-se em meu RSS feed!

O porco assado e a Engenharia de Software

Tags: , — September 16, 2007 @ 5:30 pm

Meu professor de DSI (Desenvolvimento em Sistemas de Informação) nos apresentou um artigo (na verdade ele contou a historinha) sobre mudanças e novidades na Engenharia de Software, o qual eu apresento abaixo:

O Porco Assado

Certo dia um caçador voltava da floresta com um porco vistoso e gordo o qual seu povo costumava comer cru. Ao perceber que a floresta estava pegando fogo, largou o animal e fugiu. Após o fogo passar, voltou e percebeu que o porco havia queimado. Como estava com muita fome, resolveu comer o porco queimado mesmo, e surpreendeu-se com o sabor agradável, muito melhor que porco cru.

Logo difundiu a idéia para seu povo. Assim, cada vez que queriam comer um porco, largavam-no em uma floresta e colocam fogo na mesma. Após passar o fogo, iam saborear a carne de porco. Com o passar do tempo, surgiram inúmeras empresas de consultoria de como atear fogo em florestas, como fazer o porco ficar próximo a regiões que queimavam mais (porco bem passado) ou menos (porco mal passado), e até certificações em queimar porco em florestas.

Certo dia um estagiário de uma das empresas sugeriu que o porco fosse posto sob uma fogueira, pois queimaria de forma proporcional, e quem fizesse poderia controlar o fogo melhor. Foi demitido, pois ousou desafiar uma metodologia que estava dando certo, pois porco assado no floresta era um sucesso!

Mas o que essa estória tem a ver com engenharia de software?

Ora, assim como o estagiário propôs uma nova metodologia para assar o porco (diga-se de passagem muito melhor), porque não podemos propor uma nova forma de desenvolver software?

O texto acima foi extraído do blog zetoniazzo.wordpress.com, quem quiser ler o conteúdo original, assim como as opiniões do colega e baixar o podcast que continha a palestra com a história acima, pode acessar o link aqui.

A história retrata um problema que vemos em muitas empresas, que temem mudanças bruscas em sua metodologia, justificando com o bem-andamento da metodologia atual, o que acaba estagnando a empresa e impedindo-a de evoluir (o que é essencial no mercado de Sistemas de Informação).

Para uma empresa de tecnologia, por mais que seja custoso fazer grandes mudanças, cada caso deve ser estudado para trazer as melhores vantagens para esta. Mesmo que adotar uma nova tecnologia ou metodologia de trabalho consuma recursos demasiados, isto pode trazer grandes benefícios num futuro próximo, retornando a empresa todos os recursos gastos.

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Media Retargeting

Tags: , — September 13, 2007 @ 12:00 pm

Estou trazendo um vídeo do Dr Shai Avidan, PHD pela Universidade Herbraica de Israel e co-autor da tecnologia chamada “Media Retargeting”.


Trata-se de um novo e revolucionário algoritmo para redimensionamento de imagens sem perda de conteúdo ou distorções. O algoritmo escanea a imagem por “curvas de energia” e determina, através destas, as áreas de menor importância, que podem ser removidas sem problemas, como áreas do céu, grama e outras áreas com cores e tons redundantes.

Um demo, em Flash, está disponível em http://swieskowski.net/carve/, permitindo testar a tecnologia em suas próprias fotos (você precisa hospedar as imagens na web e de um arquivo crossdomain.xml no diretório de imagens, requerido para o Flash trabalhar com conteúdo remoto, detalhes aqui, mas há algumas imagens disponíveis para testes na página).

No último mês o Dr Shai foi contratado pela Adobe, o que certamente resultará na implantação da tecnologia nos produtos da Adobe, tais como Photoshop, Flash e talvez Fireworks, o que deixará a suíte gráfica da Adobe anos a frente de outros softwares.

Por outro lado, imagino que a mesma tecnologia seja implantada logo ao ImageMagick, o que resultará na possibilidade de usar este recurso em N aplicações open source. Quem sabe Gimp e a extenção PHP para o ImageMagick?.

Fontes: MeioBit, Seam Carving Demo.

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Next Page >>>