VidaGeek.net

Linux, Open-source, Programação e Produtividade

Archive for July, 2007

Algoritmos Humorísticos - LTT Algorithm

Recentemente falei sobre o algoritmo CET (Correção de Erros Temporários). Agora vou apresentar uma generalização desse algorítmo, empregada recentemente com resultados explosivos.
Este é um algoritmo que possui uma idéia semelhante à Lazy Systems (Sistemas preguiçosos), com a diferença que não possui um momento determinado para ser executado.

Algoritmo DPA (Deixe Para Amanhã - Leave To Tomorrow)

tente {
  enquanto HOJE != AMANHA && NINGUEM_MORREU {
    faça_algo_inútil;
    de_desculpas_sem_nexo;
  }
}
finalmente {
  cumpra_suas_obrigações;
}

Vale lembrar que esse provavelmente é o algoritmo mais utilizado pela maioria dos serviços públicos e privados cujo mal funcionamento pode ser causa de danos sérios.

Posts Relacionados:

  • Algoritmos Humorísticos - TEC Algorithm
  • Algoritmos Humorísticos - Picket Algorithm
  • Algoritmos Humorísticos - Trainee Algorithm
  • Dia C - Algoritmos Genéricos
  • Algoritmos Humorísticos - Algoritmo Picareta
  • Dia C - Recursão
  • Cursos de verão do IME/USP reabrem inscrições
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 0 Comments
  • Filed under: Humor, Opiniao
  • Falando em Java: Interfaces ricas na Web com Ajax

    De volta ao Falando em Java, em outra palestra divertida que marcou o início da guerra de IDE’s entre os palestrantes, Fábio Kung apresentou o Ajax - Asynchronous Javascript And XML - como uma solução para a criação de interfaces para a web.

    “Se você não hibernou nos últimos meses, você sabe o que é Ajax”

    Pelo fato de ser assíncrono, ele permite que requisições sejam executadas sem atrapalhar o usuário, que antes precisava esperar seu comando ter efeito para recuperar o controle da página.

    A vantagem de se usar JavaScript e XML foi mostrada logo a seguir: são linguagens simples. Em XML, pode-se atualizar partes diferentes de um Html ou mesmo Xml, alterando poucas linhas. O JavaScript por sí, é uma linguagem dinâmica e possui protótipos de programação orientada a objetos.

    A grande maioria de programadores torce o nariz ao ouvir de Javascript e se lembra da enorme quantidade de código para fazer coisas simples e do pesadelo que é lutar com a compatibilidade dos browsers. Ok, a solução do Fábio é simples: não escreva código!

    Em vez de “reinventar a roda”, basta usar uma das muitas Libraries disponíveis para Javascript, como JQuery, Prototypes, Dojo ou Script.aculo.us. Essas bibliotecas contêm boa parte das funções de que você vai precisar para sua página.

    Além disso, outras ferramentas que podem ser úteis são o InteliJ Debug e o Firebug, um addon pra Firefox muito útil - particularmente para experimentar *.css.

    Ainda outras alternativas ao Ajax foram citadas. Entre elas: JBoss com Ajax4jsf, Tapestry, Wicket e Ruby on Rails com RJS. Pra quem abomina JavaScript, vale a pena dar uma olhada!

    Posts Relacionados:

  • Falando em Java: Overview
  • Evento de metodologias ágeis: Falando em Agile
  • Construção de interfaces com o Glade
  • 18 dicas para o Google Calendar
  • Rails Vs Java e PHP
  • INC - Colisão de Nomes de Métodos
  • Cursos de verão do IME/USP reabrem inscrições
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

    O bootchart cria uma imagem PNG detalhando exatamente o que acontece na sua sequência de boot, mostrando quais processos estão carregando no momento. Com uma análise desse gráfico é possível identificar os gargalos e possivelmente resolve-los, melhorando assim o tempo de boot.

    Para instalar o bootchart no Ubuntu, basta executar:
    sudo apt-get install bootchart

    Depois basta reiniciar a máquina para que o gráfico seja gerado e então vá até a pasta /var/log/bootchart e você encontrara o PNG gerado. Aqui está o Bootchart gerado pela minha máquina.

    Posts Relacionados:

  • Deixando seu Ubuntu mais rápido
  • Livro grátis de Ubuntu
  • Ubuntu como Ferramenta de Recuperação
  • Ubuntu planeja versão móvel
  • Compartilhando pastas e arquivos com Ubuntu
  • Ubuntu Ganha o Parlamento Francês
  • Meu Ubuntu fala!
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 1 Comment
  • Filed under: Linux, Ubuntu
  • Gerenciadores de dispositivos no Linux

    O Guilherme, um dos nossos leitores mandou, através de um comentário no Guia Linux - Parte I: Introdução, uma dúvida sobre a relação entre o Udev e o Coldplug no Gentoo basicamente sobre qual utilizar (pois a um conflito no portage entre os dois), quais eram as conseqüências de não instalar o Coldplug e qual era a funcionalidade do Udev.

    Basicamente, o Udev gerencia os dispositivos no Linux e o Coldplug permite detecção dos mesmos. Inicialmente o Linux utiliza o Devfs e então passou de forma geral a utilizar o Udev, mas o Gentoo fez uso durante algum tempo do Coldplug. Para entender melhor cada um deles leia abaixo.

    Devfs

    O Devfs é o gerenciador responsável pelo controle dos dispositivos no kernel 2.4 e em muitos outros sistemas Unix. A idéia é representar os dispostivos como arquivos (localizados no /dev) para permitir o acesso ao mesmo. Um exemplo disso é o /dev/hda1 que indica a primeira partição do HD master primário. Mas a manuteção desse sistema de arquivo se torna muito complexa para os desenvolvedores por vários motivos como a nomenclatura de dispositivos USB (qual é o primeiro dispositivo? O que ocorre quando ele é desconectado?)

    Hotplug e Coldplug

    Hotplug é a característica de um hardware de poder ser conectado com o máquina ligada, como o mouse PS/2 por ou um memory key por exemplo, enquanto que o Coldplug é um Hotplug mais restrito, para hardwares que precisam ser iniciados antes do SO inteiro carregar (uma placa de rede por exemplo).
    Algumas distribuições usam ou usavam (o Gentoo com o genkernel por exemplo) um sistema diferente do udev para a detecção desses dispositivos (no caso do Gentoo chamado de coldplug) o Linux Hotplugging. No Gentoo Linux estes sistemas não são mais utilizados por já estarem no Udev .

    Udev

    O Udev tem o propósito de resolver esses problemas criados pelo Devfs, criando e removendo automáticamente os arquivos de dispositivo (devices files) e nomear os dispostivos de forma consistente. Para isto o projeto é dividido em 3 partes: namedev (responsável pelo nomeação), libsysfs (responsável pelo acesso ao dispositivos pelo udev através do kernel de forma transparente) e o próprio udev que recebe pedidos do kernel para alterar a estrutura do /dev.

    Posts Relacionados:

  • Linux em Dispositivos Móveis
  • Groupware
  • Livro grátis de Ubuntu
  • Rede social de Gadgets
  • Ubuntu planeja versão móvel
  • Visual Basic no Linux
  • Mitos do Linux derrubados
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 6 Comments
  • Filed under: Gentoo, Linux