ensandecer de um computólogo
return 1;
return 1;
May 25th
Tenho um Toshiba Satellite A135 e acabei de instalar o Xubuntu 9.04. Quando eu plugo o headphone, o som dos speakers continua saindo e o som dos headphones não funcionam.
Para resolver isso, basta abrir o arquivo:
sudo nano /etc/modprobe.d/alsa-base.conf
e adicionar no final do arquivo a linha:
options snd-hda-intel position_fix=1 model=lenovo
Depois de reiniciar, usar o mixador (aplicativo do trayicon para ajustar o volume). Caso não aparece nenhum controle, usar o botão de “selecionar controles para adicionar. O que efetivamente controla o volume dos headphones é o controle “front”.
Lembrando que a placa de som do Toshiba Satellite A135 é Intel (pelo menos o meu é), logo, no combobox de placa de áudio, deverá estar selecionado “HDA Intel (Alsa mixer). A grande facilidade aqui é que a instalação do Xubuntu 9.04 já vem com os drivers do ALSA (Advanced Linux Sound Architecture). Nas versões anteriores do xubuntu, seria necessário fazer o download, compilar e configurar o ALSA.
Não testei, mas acredito que essa dica também funcione com o ubuntu 9.04, visto que a distribuição xubuntu é baseada no ubuntu.
Espero ter ajudado.
Escrito por Lúcio Ferreira.
Apr 27th
O flisol em manaus foi um sucesso na minha opnião, graças ao comprometimento dos “pigs” da comunidade de software livre em manaus, pessoas como Antônio Junior, Davyd Smelk, Marcelo Mendes entre outros e a estes pigs deixo aqui postado meus parabéns. houve uma quantidade razoável de participantes, todas as palestras estavam cheias e as oficinas foram também bastante frequentadas.
Tirei algumas fotos do evento apartir do meu E71, a câmera não é boa mas como estava de dia até que as fotos ficaram boas. Segue abaixo algumas fotos.
A foto acima é da oficina de D-Bus.
Coordenação do Flisol indo almoçar.
Também não pude deixar de contribuir e fiz uma palestra sobre Python com EFL e ajudei em algumas oficinas. Como prometi na minha palestra que iria postar a minha apresentação no blog, cá estou eu postando.
Segue abaixo os códigos que fiz de exemplo, mas faltou tempo para comentar linha a linha. Para quem quiser estudar segue código.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #!/usr/bin/env python2.5 # -*- coding: utf-8 -*- # Copyleft # # @author: Daniel Martins import ecore from ecore.evas import SoftwareX11 import evas import edje X_DIRECTION, Y_DIRECTION = range(2) w, h = 800, 480 ee = ecore.evas.SoftwareX11(w=w, h=h) canvas = ee.evas states = 0 anime = False anime_max = 0 bg = canvas.Rectangle(color=(255, 255, 255, 255), size=ee.size) bg.show() def change_object(o, e): global w, h, states, anime_max im_w, im_h = o.image_size if states == 0: o.pos_set(w-im_w, 0) elif states == 1: (x, y) = o.pos_get() o.pos_set(x, h-im_h) elif states == 2: (x, y) = o.pos_get() o.pos_set(0, y) elif states == 3: (x, y) = o.pos_get() o.pos_set(0, 0) states = 0 return states += 1 ball_object = canvas.Image(file="Generic_football.png", geometry=(0, 0, 66, 65)) im_w, im_h = ball_object.image_size ball_object.fill_set(0,0, im_w, im_h) ball_object.on_mouse_up_add(change_object) ball_object.show() # Load and setup UI ee.title = "Exemplo de Python EFL" ee.show() ecore.main_loop_begin() |
Exemplo animado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | #!/usr/bin/env python2.5 # -*- coding: utf-8 -*- # Copyleft # # @author: Daniel Martins import ecore from ecore.evas import SoftwareX11 import evas import edje X_DIRECTION, X_DIRECTION_NEGATIVE, Y_DIRECTION, Y_DIRECTION_NEGATIVE = range(4) w, h = 800, 480 ee = ecore.evas.SoftwareX11(w=w, h=h) canvas = ee.evas states = 0 anime = False anime_max = 0 bg = canvas.Rectangle(color=(255, 255, 255, 255), size=ee.size) bg.show() def anime_ball(img_obj, direction): global anime_max (x,y) = img_obj.pos_get() if direction == X_DIRECTION: img_obj.pos_set(x+5,y) img_obj.pass_events_set(True) if x > anime_max: img_obj.pass_events_set(False) return False if direction == X_DIRECTION_NEGATIVE: img_obj.pos_set(x-5,y) img_obj.pass_events_set(True) if x < anime_max: img_obj.pass_events_set(False) return False elif direction == Y_DIRECTION: img_obj.pos_set(x,y+5) img_obj.pass_events_set(True) if y > anime_max: img_obj.pass_events_set(False) return False elif direction == Y_DIRECTION_NEGATIVE: img_obj.pos_set(x,y-5) img_obj.pass_events_set(True) if y < anime_max: img_obj.pass_events_set(False) return False return True def change_object(o, e): global w, h, states, anime_max im_w, im_h = o.image_size if states == 0: anime_max = w-im_w ecore.animator_add(anime_ball, o, X_DIRECTION) elif states == 1: anime_max = h-im_h ecore.animator_add(anime_ball, o, Y_DIRECTION) elif states == 2: anime_max = 0 ecore.animator_add(anime_ball, o, X_DIRECTION_NEGATIVE) elif states == 3: anime_max = 0 ecore.animator_add(anime_ball, o, Y_DIRECTION_NEGATIVE) states = 0 return states += 1 ball_object = canvas.Image(file="Generic_football.png", geometry=(0, 0, 66, 65)) im_w, im_h = ball_object.image_size ball_object.fill_set(0,0, im_w, im_h) ball_object.on_mouse_up_add(change_object) ball_object.show() # Load and setup UI ee.title = "Exemplo de Python EFL Animado" ee.show() ecore.main_loop_begin() |
Link para baixar tudo, inclusive a imagem. Só não esqueça que para executar é preciso ter instalado as EFL e os python bindings.Para a instalação tenho um post sobre. Confira.
Espero que tenham gostado do evento tanto quanto eu gostei. Qualquer dúvida, crítica e/ou sugestão pode colocar nos comentários.
Até a próxima.
Jan 21st
Configurar o nokia n810 no ubuntu é bem simples. Fiz um resumão..
Atualizando FirmWare
Eu tive que atualizar o firmware, para isso basta fazer o flashing. Faça o download do utilitário, depois faça o download do último firmware, recarrege a bateria do tablet, de preferência estando desligado. Após isso, se o tablet não estiver desligado, desligue-o e ligue o cabo usb e então basta executar:
./flasher-3.0 -F RX-44_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin -f -R
Dae, ele jogará na tela algumas mensages e a última será:
Suitable USB device not found, waiting
Dae você liga o tablet novamente e pronto ele irá atualizar o firmware. Para habilitar o R&D Mode,
basta fazer o mesmo processo só que ao invés de fazer o flashing da imagem basta fazer o seguinte:
./flasher-3.0 –enable-rd-mode
E então ligue o tablet para ele atualizar para o modo R&D. Depois reiniciei o tablet.
Conectividade usb
Você precisa instalar no tablet um pacote chamado maemo-pc-connectivity e após instalado o pacote, basta configura
o pc. Primeiro é preciso configurar o módulo responsável pela criação de interface de rede através da usb, o usbnet
sudo modprobe usbnet
Basta editar o arquivo “/etc/udev/rules.d/85-ifupdown.rules” e trocar:
SUBSYSTEM==”net”, DRIVERS==”?*”, TEST==”/var/run/network/initialized”, GOTO=”net_start”
por:
SUBSYSTEM==”net”, TEST==”/var/run/network/initialized”, GOTO=”net_start”
Depois acrescentar no /etc/network/interfaces:
auto usb0
allow-hotplug usb0
mapping hotplug
script grep
map usb0iface usb0 inet static
address 192.168.2.14
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
up iptables -t nat -A POSTROUTING -s 192.168.2.15 -j MASQUERADE
up echo 1 > /proc/sys/net/ipv4/ip_forward
down iptables -t nat -D POSTROUTING -s 192.168.2.15 -j MASQUERADE
down echo 0 > /proc/sys/net/ipv4/ip_forward
Dec 30th
Instalando o lazarus no ubuntu 8.10
O lazarus é um IDE RAD Delphi-like cross platform…mas traduzindo para português não-técnico, é um ambiente de desenvolvimento, provendo ferramentas para desenvolvimento de aplicações de forma rápida, com características de uso semelhantes ao do Delphi, da Code Gear, onde o mesmo código feito no Windows pode ser compilado e executado no Linux e no Mac.
Ainda não entendeu? Dê uma volta no Google J
Você pode achá-lo no site http://www.lazarus.freepascal.org/
Por baixo do lázarus tem o FPC – free pascal compiler. É ele que faz a compilação do código que você monta pelo lazarus. Para que tudo funcione corretamente, é necessário baixar ambos separadamente.
Abaixo os passos para a instalação no Ubuntu 8.10 (Intrepid) e 9.04 (Jaunty):
# de praxe
$ sudo apt-get update
# instalando o free pascal compiler
$ sudo apt-get install fpc
# agora, o IDE
$ sudo apt-get install lazarus
Após tudo instalado, automagicamente é instalado o atalho no menu desenvolvimento, mas são necessários alguns ajustes no lázarus
Execute o lázarus.
Menu Environment -> environment options : guia files
Compiler path: /usr/lib/fpc/2.2.0/ppc386
FPC source directory: /usr/share/fpcsrc/2.2.0/
obs: os sources do FPC são necessários para compilação
Agora é só alegria. Tenham um bom divertimento.
Escrito por Lúcio Ferreira.
Dec 16th
Bom, irei participar de um treinamento de python EFL onde o instrutor será o Gustavo Barbiery, tentarei fazer um resumo do curso até mesmo para que me sirva de referência futura e postarei aqui no blog, tenho conhecidos que trabalham e estudam também EFL e python e que ficaram tristes por não poderem participar do treinamento, infelizmente não é possível que todos participem. Mas como sou um cara legal e sempre gostei de compartilhar conhecimento
, além de fazer o resumo do curso que conterá muito código de exemplo. Irei também reportar a evolução do curso pelo meu Twitter em tempo real. Para isso instalei um widget no sidebar do wordpress, o qual vocês podem acompanhar ao seu lado direito da tela.
Para quem tem twitter, pode me seguir e fazer perguntas sobre a tecnologia em tempo real, para quem não tiver, pode deixar comentário no blog pois ficarei o tempo todo on line. Não atenderei todas as perguntas, irei filtrar as mais interessantes, portanto caprichem nas perguntas (se houver) que na primeira oportunidade que surgir perguntarei ao Gustavo e postarei no resumo do blog a resposta, sei que muitas das minhas dúvidas são as dúvidas de outros que começaram a trabalhar com EFL a pouco tempo, portanto muita coisa será respondida no resumo que farei do curso e não de forma imediata.
Qualquer coisa, seja sugestão ou crítica comenta ai.
Update: Posts só sairão, no final de semana. Tá cruel, muita coisa pra fazer/estudar.
Dec 13th
Continuando a série de post sobre a tecnologia EFL , a qual estou estudando e trabalhando.
Este post visa ser uma visão geral do que é e como funciona esta tecnologia e está respectivamente divido em duas seções: O que é ? e Como Funciona ?.
O que é ?
EFL é um conjunto de bibliotecas escrita em C para facilitar o desenvolvimento de um gerenciador de janelas baseado no X, o famoso Enlightenment, o qual possui muitos recursos eye candy sem precisar de gerenciadores de janela com suporte a aceleração através de OpenGL, ex: compiz. E sempre fez um ótimo trabalho sem esse tipo de recurso.
Segui alguns vídeos coletados no youtube do Enlightenment em ação.
E existem outros mais. É possível implementar funcionalidades muito parecidas com as do iphone, por exemplo:
E olha um teclado virtual feito com EFL baseado no teclado do iPhone, feito pelo Gustavo Barbiery, um dos geeks que trabalha com EFL aqui no Brasil e que por sinal próxima semana estará em Manaus para dar um treinamento de EFL na FPF¸após eu ter tido muitas conversas com o chefinho.
E como o EFL faz muito com pouco processamento, foi portado para outras arquiteturas como ARM, onde roda em dispositivos como o Internet Tablet N810 da Nokia e existem algumas aplicações rodando com EFL, mas a aplicação de referência de uso do EFL no Maemo é o Canola, que é um player para o maemo. Alguns vídeos do canola em ação:
E roda também em celulares, e já está sendo feito uma plataforma completa para dispositivos móveis, o Illumine, e um dos geeks é um dos criadores do EFL, o Rasterman (Carsten Haitzler) e olhem só sua gang que já roda illumine:

Rasterman Gang's
E tudo isso e muito mais foi desenvolvido primariamente com EFL, Ficou afim de entender melhor e começar a desenvolver ? Bom…. posso guiá-lo pelo caminho que percorri no estudo.
Como funciona ?
Já que na primeira parte instalamos as técnologias básicas(ecore, evas, edje), vamos dá uma olhada em seu funcionamento.
Bem, vamos começar pelo começo.
Arquitetura completa do EFL.

Concentre-se na parte azul da arquitetura, o core EFL.
Evas é o canvas onde tudo é renderizado e também gera sinais para aplicação.
Ecore é o responsável por capturar todos os eventos de uma janela originados do X11 e direcionar esses eventos para os devidos callbacks, possui também um mecanismo de MainLoop e uma série de ferramentas que auxiliam o trabalho com EFL e tarefas comuns de programação.
Alguns componentes do Ecore:
Edje é um meio de separar o código da aplicação do código da interface, basicamente é o responsável por te prover o mecanismo de manipulação de objetos da interface, ou seja, manipular o canvas(evas) de forma descritiva e orientada a estados. Apartir do momento que você faz essa separação ou dividi a aplicação em camadas, você imediatamente ganha vantagens, como por exemplo no Enlightenment e no canola a interface é feita com Edje e por isso possui um mecanismo de Temas(Themes) avançado e flexível de temas, ou seja, você pode mudar toda a interface sem mexer no código da aplicação.
Fazendo uma analogia a arquitetura de desenvolvimento web, seria mais ou menos assim, olhe a figura do MVC abaixo
Sabemos que no desenvolvimento web, o Model é responsável pela lógica de negócio da aplicação, o Controller é responsável por capturar as requisições que vem da View e processa-lás junto a Model e então devolver a resposta a View, a View é a camada de apresentação que no contexto web é o html/css/javascript.
Olhando essa arquitetura MVC podemos fazer a seguinte analogia, que o View é o Edje, o Controller é o Ecore. E o Evas é o browser onde tudo é renderizado.
Consegui explicar alguma coisa ? Se não, deixe um comentário.
Falei alguma besteira ? Se sim, deixe um comentário corrigindo e colocarei os devidos créditos.
Próximos posts (Aguardem):
Estudando python EFL – parte 3 (Ecore-Evas)
Estudando python EFL – parte 4 (Edje)
Nov 7th
Sem comentários!
Daniel varrendo o chão no café da manha no grupo de estudos de python.
Daniel fazendo a performance de Davyd Assayag no Aniversário da FPF
Oct 25th
Lendo meus feeds no google reader, vi o post indignado do Revolução Etc com pior operadora de cartão de crédito , o que me fez lembrar que ano passado tive problemas também com a pior operadora de cartão de crédito , foi um sacrifício cancelar o meu cartão de crédito com a pior operadora de cartão de crédito além de pagar 2x uma mesma fatura com código de barras diferente, paguei!, o valor não era tão alto e eu queria mesmo me livrar da pior operadora de cartão de crédito.
Até agora eu não conhecia o Google Bombing! GENIAL!!
:wq!
Oct 18th
Bom, nesses últimos tempos tenho corrido muitos blogs pela internet e achei muitos blogs de pessoas de manaus. Eu tou meio excluído porque não participo muito na comunidade do orkut e ainda não postei nada que possa fazer um trackback, talvez agora seje o primeiro.
Eles estão organizando um encontro entre blogueiros e twitteiros como noticiados aqui e aqui, como conheço algumas pessoas que irão participar, irei lá trocar uma idéia e conheçer outros blogueiros da região.
Algumas imagens engraçadas de blogs.
Esse último, qualquer mera coincidência com o jornal embrulha peixe “Amazonas em tempo” é mera coincidência.
: wq!
Update: O encontro ocorreu com sucesso!, muita descontração e risadas.