OLPC Vs Classmate

31 10 2006

Mercado emergente, é sobre isso que estamos falando, entre os dez países mais populosos do mundo, sete são emergentes, ou seja, metade da população mundial, obviamente empresas de computação iniciariam uma batalha para conquistar esse mercado. Eis que Negroponte tem a gênial idéia de criar um notebook com capacidades reduzidas e preço bem abaixo da média, destinado a essas pessoas.

O projeto One Laptop Per Child (OLPC) foi desenvolvido no MIT(Media Lab) e é dirigido por Negroponte, que pode até ter tido a intenção de ajudar na reformulação da educação de crianças carentes, porém convenhamos, AMD deve ter achado no mínimo conveniente embutir seus chips em laptops nos países emergentes, afinal o mercado é gigantesco e praticamente inexplorado. Não ficando para trás, a sua concorrente Intel, patrocinou o desenvolvimento de um modelo semelhante, o Classmate (em português pode ser traduzido como “Amigo de Classe”) ,que deveria ser o concorrente do OLPC.

Antes de qualquer tabela comparativa, gostaria de lembrar que as informações sobre o Classmate são escassas. Acredito que pelo tempo de vida do projeto, e portanto as suas características podem ser modificadas em breve.

  OLPC Classmate
Dimensão 193mm × 229mm × 64mm 245mm x 196mm x 44mm
Chipset AMD CS5536 South Bridge Intel 915GMS + ICH6-M
Processador AMD Geode GX-500@1.0W (366 Mhz) Intel Celeron M (900 MHz)
Memória 128MB DDR RAM – 133MHz 256MB DDR2 RAM
Memória Secundária 512MB SLC NAND Flash 1Gb NAND Flash
Rede / Rede sem fio Nenhum / Marvell 88W8388, 802.11b/g 10/100M Ethernet / WLAN 802.11 b/g w/ Antenna
Monitor LCD 7.5″ Modo TTF e Colorido
(1200×900 & 640×480)
7″ Colorido(800×480)
Touchpad Capacitivo e Resistivo, Suporta modo de escrita Circular com Botões direito e esquerdo
Bateria 5-cell NiMH 6-cell Li-ion
Sistema Operacional Linux Win XPE / Linux
Preço +- US$100 +- US$300

Dimensão

Ambos os projetos apresentam dimensões semelhantes e coerentes. Fiz um teste, peguei um livro qualquer sobre a minha mesa e o medi, suas dimensões foram 170mm x 230mm x 150mm, que tirando a espessura, é bem parecido com as dimensões em ambos os notebooks. Acredito que para um criança que vai à aula, os notebooks não ocuparão tanto espaço assim.

Chipset

Chega até a ser complicado fazer uma análise comparando ambos chipsets. Para inicio de conversa o chipset da AMD trabalha a 66Mhz, já que é apenas o SouthBridge, enquanto o da Intel trabalha a 400Mhz. O primeiro suporta apenas IDE+Flash, 4xUSB 2.0, ACPI 2.0 e audio compatível com AC97, enquanto o segundo suporta SATA, DDR2, tem um HUB USB 2.0, ACPI 2.0 e controladora de vídeo.

O que me faz comparar o NorthBridge e o SouthBridge separadamente. Assim a comparação fica mais justa.

  • Northbridge

Controle de vídeo e memória são as funções básicas de um northbridge. A diferença básica neste item, é o suporte a DDR2 (Intel) e DDR(AMD), porém comparando a frequência de trabalho, ambos são equilentes, já que o chipset da intel trabalha a 400Mhz e o northbridge da AMD trabalha na mesma frequência do processador (400Mhz ou 300Mhz).

  • Southbridge

O southbridge controla basicamente os periféricos (som) e a memória flash que são equivalentes em ambos os casos.

Não achei nada sobre o consumo de energia de ambos os chipsets, vou ficar devendo, talvez isso justifique o OLPC não usar um chipset mais novo.

Processador

Em termos de frequencia a do Celeron-M é superior ao Geode, mas também os processadores da intel sempre tiveram mais estágios em seu pipeline, o que justifica o processador ter maior frequencia. Neste caso vemos somente uma repetição do que sempre ocorreu, a AMD com um processador com freqüência bem inferior, que portanto gastando menos energia e dissipando menos calor, e a Intel com um processador de freqüência bem maior, que esquenta e gasta bem mais energia (sem flames :] ). É importante também lembrar que no projeto OLPC quem cuida da geração de vídeo é o processador, assim como todas as funções do northbridge, e não o chipset, o que pode fazer com que o desempenho médio caia, já que além da freqüência ser baixa, o CPU tem que dividir recursos com as outras funções do northbridge

Memória

De qualquer maneira, neste quesito, o ponto é do Classmate. A memória DDR2 usa uma voltagem de 1.8 V enquanto a DDR usa 2.5V, é sabido então que neste caso o classmate consome menos energia e tem um desempenho superior. A escolha do OLPC de usar DDR, com certeza foi limitada pelo seu chipset.

Memória Secundária

Finalmente algo equiparável. Neste caso, ambas memórias flash são idênticas em desempenho, a desvantagem do OLPC fica na capacidade- 512Mb contra 1Gb. Fico imaginando quanto desses 512Mb seriam utilizados pelo Fedora ou UTUTO quando o Laptop chegar as mãos de uma criança.

Update: Recebi informações recentemente de que o sistema de arquivo usado no OLPC, que é específico para memória flash, e chama-se JFF2. Este sistema de arquivos sempre comprime os dados gravados, o Fedora por exemplo está ocupando cerca de 100Mb. Além disso estima-se que o JFF2 quase dobra o espaço em flash, ou seja, as crianças teriam certa de 800 Mb livre, além do sistema, para gravar seus dados.
Rede / Rede sem Fio

Essa na verdade foi a grande decepção quanto ao OLPC, o projeto não preve conexão via cabo, isto força qualquer instituição de ensino que for usar o OLPC instalar toda uma infraestrutura Wifi, o que pode não ser muito barato no Brasil. Além disso o dispositivo wireless tem firmware fechado, o que fere toda uma ideologia Open Source do projeto. O classmate no entanto mantém o padrão do projeto, conexão e/ou wireless, que provavelmente usa o famigerado chip da intel.

Update: Para resolver este problemade interconexão, a OLPC vai utilizar um esquema de malha, ligando assim, um laptop a outro, logo, todos os notebooks vizinhos estariam ligados uns aos outros via wireless, o que não resolve o problema de conexão a internet. Para isso existe um segundo projeto “sevidor de us$100″ que não teria monitor, mas com a possibilidade de se conectar a internet.

Monitor LCD

Depois da decepção das conexões de rede, o OLPC dá um show em seu projeto de LCD, que apresenta dois modos, um equivalente aos e-books (preto e branco, com funcionamento reflexivo) podendo chegar a resolução de 1200×900 e gasta somente 0.2W! Eu realmente gostaria de ver este modo funcionando, deve ser fantástico. Além do modo TFT existe o modo normal, colorido, que chega até a resolução de 640×480 que lembra os velhos tempos de computação. O Classmate que tem o controlador de vídeo no chipset tem mesmo com um tamanho menor, uma resolução maior na vertical (800×480).

Touch Pad

Enquanto o classmate mantém uma abordagem convecional de um notebook,com touch pad normal de dois botões, o projeto OLPC inova mais uma vez, além de suportar movimentos e cliques dos touch pads normais, este touch também reconheceria escrita do aluno. Só gostaria de saber qual seria o tamanho deste touch, pois não adianta suportar escrita mas ter espaço suficiente para escrever meia palavra. Meu contato com os pockets e palms não foi dos melhores.

Update: Fotos (1, 2, 3, 4) me deixaram satisfeito com o tamanho do touchpad!
Bateria

Como não entendo muito sobre baterias… não vou arriscar uma opinião sobre as características de cada tipo. Arrisco apenas dizer que, mesmo tendo menos células, o tempo de bateria do OLPC deve ser maior, e digo isso por que algumas das partes críticas apresentarem menor consumo de energia (LCD principalmente).

Como informação extra, anexei abaixo um infografo que mostra a porcentagem que cada componente de um sistema gasta. A imagem foi retirada do guia de energia da distribuição Gentoo:

Infografo de Consumo de Energia

Sistema Operacional / Softwares

Pelas informações fornecidas no wiki da OLPC, o projeto adotará a distribuição Fedora como padrão; mas aqui na América Latina, projetos como o UTUTO estão ganhando força e talvez possamos ter uma distribuição regional para o OLPC. Enquanto isso, as informações sobre o classmate não dizem nada, somente que ele pode rodar ambos sistemas operacionais. Rumores dizem que o classmate virá com o Windows XPE.

update: Segundo Mauro Fritz (gerente de negócios da Mandriva) Existe uma versão do Mandriva para o Classmate desenvolvida no Brasil (Obrigado Mauro).

Extra

Além de todos os critérios citados acima, o OLPC tem um projeto de ambiente de aprendizagem chamado SUGAR, que preve toda uma rede de computadores contando com o compartilhamento de arquivos, chats, várias interfaces realmente adaptadas para criaças. Dei uma olhada nos screenshots, parece ser realmente uma evolução a interface de usuários, principalmente em se tratando de criaças.

Conclusão

Quando estou analisando algum produto, geralmente procuro o que apresenta um melhor custo/benefício, e por mais que tente fugir sou levado a comprar um produto com desempenho maior que a média porque, afinal, “para tudo que tem, não está tão caro”. Desta vez tive que me esforçar muito mesmo até chegar a um veredicto. Os dois projetos aqui apresentados não têm a intenção de serem rápidos, bonitos ou diferentes. A função dos projetos é servir como apoio a educação de pessoas carentes, ou seja, são feitos para acessar internet, buscar informações, trocar informações, editar documentos.

Pensando dessa forma, não há como negar que o projeto OLPC é muito melhor adaptado, com certeza seu hardware é inferior, seu chipset é fraco, processador lento, memória é pouca, mas tenho absoluta certeza que um sistema operacional bem configurado dará conta de todos os trabalhos citados acima. Além disso, o possibilidade de usar o notebook para ler livros com uma resulução gigantesca, ter um ambiente especializado, desenvolvido para crianças é genial.

É sabido que sou entusiasta da filosofia opensource, principalmente para projetos como esse. Nada melhor que a ajuda da própria comunidade para manter o que é destinado a quem não pode criar, ou não pode pagar por atualizações. É vital para ambos os projetos, que os softwares a serem utilizados sejam de graça e mais ,que haja transparência no processo de criação, já que boa parte é destinada a pessoas carentes e os governos farão o papel de intermediário. Por isso o uso de software livre (e open source) é tão conveniente.

Sobre o classmate, me sobra dizer apenas que vale mais comprar um notebook da DELL de 500 dolares que como o classmate não tem nenhuma especialização para educação e já tem hardware equiparável a qualquer computador de mesa com menos recursos.

Mais informações:

ps. Obrigado GG pela revisão de português!





TechnicalBrief – Cell (Dia2)

26 10 2006

Fim das aulas! Foi rápido, mas foi bom enquanto durou! Depois de dois dias com bombardeios massivos de informação eu estou esgotado(dirigir mata também!), precisando de uma boa noite de sono! Mas antes, ao blog! Escrever enquanto as coisas ainda estão frescas na cabeça! Vou manter o mesmo esquema de ontem que parece que funcionou bem!

Arquitetura
Tenho para acrescentar aqui alguns detalhes técnicos que pude observar enquanto estavamos fazendo as pequenas aplicações para o cell.

1. O processador como um todo tem… 128 registradores de uso geral!!!!!! Comparado à arquitetura x86 (4 registradores) e com a x86_64 (8 registradores) a arquitetura cell obviamente tem muuuiiiito mais registradores!! Enquanto estavamos avaliando o desenpenho de um aplicativo (multiplicação de matrizes) foram usados 41 registradores… nem perto número total de registradores.
2. Cada um desses 128 registradores guardam 4 posições de 32bits cada (128bits no total), o que facilita as operações vetoriais.

3. Cada SPU tem dois pipelines! Um somente para funções aritiméticas outro para branchs, etc etc.

4. Os SPU não têm previsões de branch, então toda e qualquer previsação que seja feita e realizada via compilador = [

5. O cell está suportando executáveis até 256Kb… ou seja, se precisar de mais chore! Classes virtuais e Typedefs mal definidos podem causar vááários problemas!

Programação
Hoje tivemos contato com a vetorização de problemas, que pelo que entendi pode ser aplicado em poucos casos, mas que quando processado nos processadores cell têm um ganho de desenpenho de praticamente quatro vezes, se não mais. Todo esse ganho de desenpenho acontece por causa de uma característica da arquitetura que citei acima. Já que cada registrador apresentar 4 posições de um vetor, então, por exemplo, quando se quer somar dois vetores, as somas serão feitas entre blocos de quatro posições(ou seja a soma entre dois registradores). Além da soma existem várias operções entre vetores, que eu me lembre as aritméticas e as de seleção, porém existem várias funções nas bibliotecas nativas. Mas retomando,em outras palavras, na arquitetura x86 o atômo seria uma posição do vetor certo ? Na arquitura cell o atômo é um vetor de quatro posições.

O que nos leva a um problema! Se o atômo do cell é um vetor de 4 posições, como são feitas operações com inteiros simples, ou floats simples ?? Você deve estar imaginando, mas não quer aceitar… Sim… os inteiros(qualquer escalar de forma geral) são convertidos para vetores, os vetores são somados, e o vetor é convertido para int novamente! Veja, enquanto uma operação a+1 exige somente uma instrução para x86, para a arquitetura cell, são necessárias SEIS, isso mesmo SEIS, instruções. Agora imagine você um “FOR”, ele ficaria 6 vezes mais lento cada vez que sua repetição for executada! Agora amplie isso para todo uma aplicação, se em sua maioria ela fizer processamento de valores escalares, ela será bem mais lenta que a mesma aplicação rodando em x86. Viu? Cell não é bom para tudo, definitivamente.

Não sei se ficou claro no Post anterior, mas o PPE é equivalente a um PowerPC, mas o C, é o exatamente o mesmo que nós estamos acostumado, só algumas funções são diferentes por causa das bibliotecas. O mesmo se aplica ao SPE.

Conclusão
Continuo com a mesma impressão que tive ontem, Cell parece ser muito bom para algumas tarefas, as que podem ser subdivididas e processadas vetorialmente. Fora isso, esqueça Cell, os x86, x86_64 fazem muito bem o trabalho com programação escalar! Sobre a programação, também continuo a afirmar que o SDK está precoce! Mas tenho que admitir! Valeu a pena!

Primera Turma TechnicalBrief da Améria Latina
Pessoal Presente no TechnicalBrief

Break, Time to mails!
Intervalinho, hora de ler e-mails!

UFSCar
Ping-Pong no canto inferior direito da foto!





TechnicalBrief – Cell (Dia1)

25 10 2006

Fim do primeiro dia do Technical Brief!

Finalmente depois de uma viagem de São Carlos até Campinas (2horas) chegamos na UNICAMP e adivinha só ? Não estavamos na lista dos participantes! Depois de alguns telefonemas e um belo chá de cadeira fomos incluidos na lista! X D

Já lá dentro e com a palestra rolando (uma baita introdução sobre a arquitetura do Processador Cell) conseguimos uma HD externa com a imagem de vmware de meros… 8.1Gb! Depois de perder algumas horas copiando na partição onde eu tinha o MacOSX, tive problemas com o maldito VMware Player… corrigidos os problemas de memória, pude finalmente rodar minha imagem! Aeeee.

ScreenShot da Emulação

Com a imagem rodando pude emular um terminal com dois processadores Cell!! Muuuiiito lento… o processador fica constantemente com 100% de uso… mas tenho que adimitir! Valeu a pena! Toda a teoria que aprendi na matéria de Sistemas Operacionais foi aplicada nessas 6 horas de aula!

Arquitetura Cell

O esquema de funcionamento do cell pode ser traduzido (basicamente) por uma imagem! Que demostra os oito SPU que formam o SPE, estes são os núcleos mais poderosos do processador que teoricamente deveriam processar tarefas específicas, por exemplo, um core cuidaria do som, outro do vídeo, etc etc etc. Além do SPE existe o PPE que é composto po um processador de menor poder de processamento que funciona como regulador dos SPU.
O mais interessante nessa parte é que o SPU nada mais é que um PowerPc.

Arquitetura Cell

Alias, faltou dizer que TODO acesso a memória é feito por DMA! cada SPU tem um buffer (desculpas mas eu não me lembro quanto), tudo isso geralmente é sincronizado por Mailboxes (finalmente uma utilidade pra aula de S.O).

Programação

A programação foi feita em C, o que facilitou bastante nossa vida! Como os programas desenvolvidos em aula eram simples sem nenhum segredo, qualquer um que tiver acesso a documentação pode desenvolver fácilmente softwares para cell. Só precisa dedicar um bom tempo para descobrir o que cada função obscura faz, hehehehe. Mas acredito alguns detalhes merecem destaque:

O desenvolvimento básico é constituido de duas partes: Programação da PPE e da SPE, ou seja, é necessário programar um gerenciador de threads(PPE) e o que cada thread irá realizar(SPE), “simplesmente isso” então são basicamente dois arquivos, um que cria mailboxes e threads, e outro que consome as mailboxes (ou as alimenta) e definem o que cada thread irá realizar.

Existem também detalhes sobre o acesso a memória no desenvolvimento, ao meu ver, sem ter visto qualquer coisa sobre, pode se tornar um grande pesadelo! Como o acesso é feito diretamente a memória (DMA) vários cálculos tem de ser feitos quando se quer acessar ou escrever alguma dos SPUs! (Geralmente usar a função que retorna o ponteiro da primeira posição do buffer do SPU e somar a posição no buffer). Portanto muito cuidado ao acessar a memória.

Conclusão

Não posso dizer que não fiquei empolgado, o tecnologia parece ser bem interessante para casos de multiprocessamento, onde uma tarefa pode ser dividida e processada em vários processadores… mas… a viabilidade para desenvolver hoje para Cell, como nos foi passado é praticamente nula! As bibliotecas ainda têm funções problemáticas, como por exemplo, ao criar um thread ainda não é possível escolher qual SPU ela será executada… Simplesmente é joga-se um valor genérico (-1) para a função que indica que o thread pode ser processado em qualquer SPU.

Portanto vamos ver amanhã com o processamento vertorial (não faço a mínima idéia de como isso funciona!) se a viabilidade aumenta um pouco.





Programação Cell

24 10 2006

Estou arrumando as malas!!! Na verdade só arrumando a mochila do Note = P

Mala
Estou indo pra Campinas amanhã cedinho, assistir e participar do Technical Brief sobre o processador Cell da IBM, também conhecido como BroadBand ou processador do Playstation3. Eu e mais três colegas aqui da federal estaremos lá e o pessoal da IBM disse que veremos:

  • Uma visão geral da arquitetura cell (multi-core!)
  • Ambiente de desenvolvimento (esclarecimentos sobre o SDK)
  • E muiiiita mão na massa!

Serão dois dias de aulas e práticas. Vou ver se consigo transmitir o máximo que eu aprender por lá, aqui no blog!

[]’s Pacu

ps. Preciso arranjar um jeito de colocar as fotos do Flickr aqui no blog!!





Mais sobre dois monitores

23 10 2006

Eu esqueci ontem de colocar um link aqui no blog, mas a configuração do meu xorg pode ser encontrada no meu site pessoal. Eu tento manter atualizado mas essa ai deve ser uma das últimas versões que eu uso diariamente, ou seja… com a TV.

Abaixo a versão completa do xorg.conf que eu uso com o Monitor:

Section “ServerLayout”
Identifier “X.org Configured”
Screen 0 “Screen0″ 0 0
InputDevice “USB Mouse” “CorePointer”
InputDevice “Touchpad” “AlwaysCore”
InputDevice “Keyboard0″ “CoreKeyboard”
EndSection

Section “Files”
RgbPath “/usr/share/X11/rgb”
ModulePath “/usr/lib64/xorg/modules”
FontPath “/usr/share/fonts/misc”
FontPath “/usr/share/fonts/75dpi”
FontPath “/usr/share/fonts/100dpi”
FontPath “/usr/share/fonts/TTF”
FontPath “/usr/share/fonts/Type1″
EndSection

Section “Module”
Load “glx”
Load “extmod”
Load “xtrap”
Load “record”
Load “dbe”
Load “synaptics”
#Load “dri”
Load “freetype”
Load “type1″
EndSection

Section “InputDevice”
Identifier “Keyboard0″
Driver “kbd”
Option “XkbRules” “xorg”
Option “XkbModel” “pc104″
Option “XkbLayout” “us”
Option “XkbVariant” “intl”
EndSection

Section “InputDevice”
Identifier “Touchpad”
Driver “synaptics”
Option “Protocol” “auto-dev”
Option “Device” “/dev/mouse1″
Option “LeftEdge” “130″
Option “RightEdge” “840″
Option “TopEdge” “130″
Option “BottomEdge” “640″
Option “FingerLow” “7″
Option “FingerHigh” “8″
Option “MaxTapTime” “180″
Option “MaxTapMove” “110″
Option “EmulateMidButtonTime” “75″
Option “VertScrollDelta” “20″
Option “HorizScrollDelta” “20″
Option “MinSpeed” “0.60″
Option “MaxSpeed” “1.10″
Option “AccelFactor” “0.030″
Option “EdgeMotionMinSpeed” “200″
Option “EdgeMotionMaxSpeed” “200″
Option “UpDownScrolling” “1″
Option “CircularScrolling” “1″
Option “CircScrollDelta” “0.1″
Option “CircScrollTrigger” “2″
Option “SHMConfig” “on”
Option “Emulate3Buttons” “on”
EndSection

Section “InputDevice”
Identifier “USB Mouse”
Driver “mouse”
Option “SendCoreEvents” “true”
Option “Device” “/dev/input/mice”
Option “Protocol” “ImPS/2″
Option “Emulate3Buttons” “true”
Option “ZAxisMapping” “4 5″

EndSection

Section “Monitor”
Identifier “Monitor0″
UseModes “1280×800″
HorizSync 31.5 – 48.5
VertRefresh 40 – 70
Option “FlatPanelProperties” “Scaling = centered”
Option “DPMS” “true”
EndSection

Section “Modes”
Identifier “1280×800″
ModeLine “1280×800″ 80.6 1280 1344 1480 1680 800 801 804 827 -hsync -vsync
EndSection

Section “Monitor”
Identifier “External”
ModeLine “800×600″ 83.5 1280 1344 1480 1680 800 801 804 828
Option “UseEditFrews” “0″
EndSection

Section “Device”
Identifier “Card0″
Driver “nvidia”
VendorName “nVidia Corporation”
BoardName “NV17 [GeForce4 420 Go 32M]“
BusID “PCI:1:0:0″
# Option “NvAgp” “3″
# Option “TwinView” “1″
# Option “TwinViewOrientation” “RightOf”
EndSection

Section “Screen”
Identifier “Screen0″
Device “Card0″
Monitor “Monitor0″
Monitor “External”
DefaultDepth 24
Option “NvAgp” “3″
Option “FlatPanelProperties” “Scaling = centered”
Option “TwinView” “True”
Option “TwinViewOrientation” “LeftOf”
Option “UseEdidFreqs” “True”
Option “MetaModes” “1024×768, 1280×800″
SubSection “Display”
Viewport 0 0
Depth 1
EndSubSection
SubSection “Display”
Viewport 0 0
Depth 4
EndSubSection
SubSection “Display”
Viewport 0 0
Depth 8
EndSubSection
SubSection “Display”
Viewport 0 0
Depth 15
EndSubSection
SubSection “Display”
Viewport 0 0
Depth 16
EndSubSection
SubSection “Display”
Viewport 0 0
Depth 24
Modes “1280×800″
EndSubSection
EndSection
Que é basicamente a mesma configuração da TV, foram mudadas apenas a Orientação e a Resolução. Agora deixa eu correr que eu tenho um entrevista de trabalho daqui a pouco!





Dois monitores

22 10 2006

A quase um mês atras, estava sentado usando meu notebook normalmente quando derrepente, não mais que derrepente, olhei pro lado e finalmente percebi que tinha um monitor de 14 polegadas parado bem aqui do meu lado. Bem parecido com um POP (Problema de Outra Pessoa[1]).Então resolvi liga-lo e aumentar um pouquinho a resolução da minha área de trabalho, passei de 1280×800 (resolução do meu LCD 15′) para 2304×800 que nada mais é que 1280+1024×800(a soma na horizontal da resolução dos dois monitores).

Depois de alguns minutos testando resoluções e esquemas de organização, configurei o xorg com o segundo monitor a esquerda e usando a resolução 1024×768, com destaque das seguintes linhas que adicionei no Xorg.conf.

Na seção Screen:

Option “TwinView” “True”
Option “TwinViewOrientation” “LeftOf”
Option “MetaModes” “1024×768, 1280×800″

A opção TwinWiew é bem óbvia, ela somente liga o segundo monitor, a opçãoTwinViewOrientation é a mais interessante, pois é possível não somente clonar(clone) , deixar a direita(RightOf) e a esquerda(LeftOf), mas também deixar o segundo monitor acima(Above) e abaixo (Below) da tela principal. A última opção que realmente importa é a MetaModes que permite você definir as resoluções de cada Display. Com os testes que realizei o monitor que é conectado ao notebook fica sempre como dispositivo principal, já a TV fica como dispositivo secundário, isso influência na ordem do MetaModes.

Por exemplo, com o monitor, eu uso “MetaModes 1024×768, 1280×800″, para a TV(com clone), uso “800×600, 800×600″, o interessante é que existem meios de expandir o monitor mesmo com resoluções pequenas, por exemplo… Usei o MetaMode “1280×800, 800×600@1280×800″, que além de manter o aspecto correto no meu LCD, criou um resolução virtual na TV, assim quando eu chegava com o mouse perto das bordas ele deslocava para o lado da borda.

Então, finalmente com tudo configurado tentei achar uma utilidade pra isso… Sem sucesso.

Nas horas vagas é interessante, porque da pra ler RSS, navegar, conversar, escrever esse post enquanto o amarok fica ali do lado mostrandos as letras das músicas, as próximas músicas. E reconheço também que quando estava fazendo trabalho de engenharia de software, deixar o PDF em um monitor e digitar o texto em outro é bastante ágil!

ScreenShot 2 monitores
Aliás ter 5 desktops que podem ser acessados rapidamente no fluxbox com toda essa resolução é MUIITO espaço… eu nem consegui ocupar tudo =]
Vale lembrar que minha placa de vídeo é uma NVIDIA, com as ATIs eu não sei como anda o suporte a dois monitores.

[1] “Um POP é alguma coisa que não podemos ver, ou não vemos, ou nosso cérebro não nos deixa ver porque pensamos que é um problema de outra pessoa. É isso que POP quer dizer: PROBLEMA DE OUTRA PESSOA. O cérebro simplemente o apaga, como um ponto cego. Se você olhar diretamente para ele, não verá nada, a menos que saiba exatamente o que é. A única change é conseguir ver algo olhando de soslaio” Douglas N. Adams. “A vida, o Universo e Tudo mais”. Capítulo4.





Rotulação

20 10 2006

No meu trabalho na Embrapa desenvolvo software que faz análise de imagens, entre as várias funções do sistema uma das mais importantes é a função de rotulação que nada mais é que identificar objetos na imagem e dar “nome”(número) aos mesmos, por exemplo, se uma imagem tem um triângulo e um círculo cada um dos objetos ganharia um rótulo, o processo é feito pelas bordas das figuras encontradas. Em algum post no futuro eu detalharei o procedimento. Nada complexo ^^

Hoje mesmo estava trabalhando nessa rotina, eis um exemplo:

Bordas

que seria a imagem original tratada para exibir somente as bordas, quando a rotina de rotulação é chamada o resultado seria o seguinte:

rotulado
Eu fico realmente empolgado quando vejo a rotulação funcionando, o mais interessante é que esse algoritmo que eu desenvolvi dá os pontos da borda na sequência o que é extremamente importante quando se quer construir um polígono com os pontos encontrados, mas isso também fica pra outro post.

Detalhe, se alguém quiser consultar o código do rotula ele está no Projeto do Anatro Livre no CVS.





Mais uma tentativa

19 10 2006

Aqui vamos nós para mais uma tentativa de um blog… sempre tentei manter um blog mas a falta de tempo/assunto me inpedem de escrever diariamente ou mesmo regularmente em um blog qualquer. Hoje estudando na Federal de São Carlos e trabalhando na Embrapa CNPDIA eu talvez tenha mais assuntos, muitas vezes técnicos demais… as vezes não técnicos demais, mas provavelmente nunca na medida certa, veremos o que acontece daqui pra frente!

X D

Primeiro POST……. Ok!