Archive for the ‘Linux’ Category

Antiga marca Maximus
Depois de alguns meses ausente (7 para ser exato), voltei ao meu blog. Estive mais atuante no Twitter ultimamente, mas acho que agora passou 
Nos últimos meses estive completamente imerso nas novidades que a A&D (ex-Soluções, agora Tecnologia) lançou na Exposec 2009. O Maximus 4.0 está sendo um grande marco para a empresa e simboliza uma mudança tecnológica que vai ecoar por um bom tempo no futuro da A&D.
A primeira grande mudança da linha Maximus é sua marca. Antigamente representado pela “estrela”, agora ela é representada pelo “escudo”:
A nova marca nasceu do desejo de revigorar o nome e a identidade da linha Maximus, trazendo visualmente, a nova direção que estamos traçando. Antigamente, algo voltado apenas a segurança eletrônica e detecção, a linha agora seguirá novos direcionamentos. E o que mostramos na Exposec é só o primeiro passo.

Nova Marca Maximus
Outra grande diferenças da versão 4.0 para a série 3.X foi o revamp do Maximus Client. A primeira vista tem-se a impressão de uma mudança cosmética, mas é puro engano. Todo o Maximus Client foi redesenvolvido utilizando novas técnicas e frameworks, não sendo aproveitado nenhum código da versão antiga. Some isso com uma interface matadora criada por um dos maiores especialistas em GUI design do mundo, o meu grande amigo Everaldo Coelho e teremos um software não só mais robusto, como mais fácil de usar e extremamente agradável aos olhos:

Interface Mx4 (Mac)
E as novidades não param por aí. Pretendo continuar mostrando mais nos próximos dias. Qualquer coisa, estou a disposição.
Abraço!
Eduardo.
Muitos dos (três) que lêem meu weblog sabem que estamos migrando nossa base de desenvolvimento GUI do wxWidgets para o Mozilla. XUL rocks. Mas um grande problema da Mozilla Platform é a falta de documentação. Tive de quebrar muito a cabeça para entender como tudo funciona.
Para tentar retribuir um pouco a comunidade, decidi começar a escrever alguns tutoriais sobre como usar o XUL e XPCOM, além de também lançar alguns componentes que nós desenvolvemos como Open Source. É, você leu direitinho… 
Vamos começar explicando o que é XUL. XUL (se pronuncia zuul, rimando, em inglês, com cool) significa XML User Interface Language e é a linguagem que os desenvolvedores do Mozilla Project criaram para definir interfaces de usuário nativas, multiplataforma e que podem rodar localmente ou remotamente na Internet. Interessante né? Principalmente que sua criação predata, e muito, um tal de XAML…
O mais empolgante é que qualquer desenvolvedor que tenha um pouco de experiência em DHTML (ou seja, HTML, Javascript, DOM e etc) consegue trabalhar sem dificuldades com XUL, criando aplicações com visual nativo. Vamos começar com um exemplo básico, célebre, em XUL:
id=”aedOlaMundo”
title=”Olá Mundo!”
orient=”horizontal”
xmlns=”http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul”>
Esse código é uma definição de uma janela, sem nada dentro. Está janela não vai fazer muito, já que não tem nenhum elemento definido dentro dela.
Para executar esse exemplo, crie um arquivo “olamundo.xul” salve o conteudo e execute o Firefox da seguinte maneira: firefox -chrome olamundo.xul
Pronto! Na segunda parte, como inserir botões na sua janela… 
Até lá!
Powered by ScribeFire.
Vocês sabem o que é perder tempo precioso com besteiras? Pois é, dá uma raiva, não é mesmo?. Na nova Intranet estamos usando todas as possibilidades do PostgreSQL 8.x para gerar nossos relatórios e estatísticas. Um de nossos clientes-teste, que tem mais de 80 milhões de registros na tabela de eventos nos ligou hoje cedo dizendo que os relatórios novos estavam mais lentos que os antigos (!!).
Começamos uma investigação completa sobre o que poderia ser… e não é que as tais funções agregadas do PostgreSQL deixam o sistema mais lento? Pelo que notei, quando você faz, por exemplo:
SELECT COUNT( * ) FROM abcd WHERE data>date_part(‘epoch’::text, now())
O PostgreSQL executa a função agregada em cada registro, mesmo se o conteúdo da mesma for estático, como no exemplo acima. O custo desse SELECT ficou astronômico. Mudei toda a validação de data/hora para dentro da Intranet… pelo menos 10x mais rápido.
Que ódio!!

Caramba! O tempo está passando muito rápido… Mal começou o ano e já estamos começando Junho! Sinceramente, não estou vendo o tempo passar. Até que meu Qtek me avisa 1 mes sem postar no blog. Argh. Isso que eu queria postar mais por aqui. Mas beleza. Mais um post de update. Já tem tantos que decidi mudar o título… Desafios. Acho que pode ser um pouco motivacional… heheh… mas vamos lá.
- Intranet nova lançada! Estamos priorizando os clientes com plano de suporte, mas o parto mais longo que já vivenciei acabou! Sinceramente, depois do servidor do Maximus, esse foi o nosso melhor trabalho.
- Fomos para a feira… Mais do mesmo. CFTV e controle de acesso. Nada demais. Vários contatos com distribuidores, parceiros e novos clientes. Valeu

- O XO chegou. É lindo. Incrível o que fizeram com o hardware. Já comecei a trabalhar no Sugar (é em Python!!) e espero contribuir bastante para o projeto.
Mais amanhã!
Abraço e bom frio a todos!
Caros,
Estou muito contente hoje. Fui aceito como um dos desenvolvedores do projeto OLPC (One Laptop Per Child), projeto o qual está desenvolvendo o laptop de 100 US$ (agora 150). Meu objetivo é portar o Webkit (o rendering engine do Safari baseado no KHTML), afim de ter um renderer leve e rápido para o Sugar (a interface do XO).
Além disso espero ajudar a portar o SDL para o hardware e verificar pendências com o Abiword e é claro ajudar na tradução para nossa língua.
Gostaria de agradecer ao Jim Gettys pela confiança.
Assim que meu XO chegar eu posto as fotos!
Abraço!
Eduardo.
Powered by ScribeFire.
Nossa, faz tempo que não escrevo. Bem, o trabalho está incrível e novas possibilidades saindo o tempo todo. Em suma:
- Estamos finalmente terminando a nova Intranet. Está muito legal. Estou completamente orgulhoso do trabalho que a A&D fez nisso. Ficou show.
- Começamos a trabalhar no Projeto Cruzeiro do Sul. Mais detalhes em breve.
- Quem me conhece lembra do Sight. Estamos ressussitando o bixo!

- Vamos pra Feira!
- Estou com um celular Qtek A9100 rodando Windows Mobile. Pois é. Windows. ARGH.
- Virei membro do Ubuntu. No launchpad, mas virei!
Mais detalhes em breve. Eu prometo que vou atualizar isso aqui mais frequentemente.
Abraço,
Eduardo.
Powered by ScribeFire.
Eu amo o que eu faço. Sério. Sério. Muita gente que me conhece sabe que eu reclamo muito, mas eu fico pensando… Acho que se eu fosse um advogado nunca iria ter o prazer de ver um código em Python ter um aumento de 750% de performance, só por reescrever uma função sort em C .
Sério.
Estamos implementando os novos relatórios na nova Intranet do Maximus. Eles vão ser gerados em HTML (como antes, mas com um tema único agora) e em PDF. Pois é. Tem cliente perguntando se eu to usando o OpenOffice.org e exportando o PDF por de trás de tudo… hehehe… 
De volta ao assunto, estou pegando informações de várias tabelas diferentes, formatando tudo num dicionário e usando o sort do Python para organizar tudo em sequência. O sort do Python é ótimo, mas a performance vai degradando de acordo com o aumento das informações… ou seja, O(2^n). Refiz um sort antigo que já uso no Maximus Server em C e com a ajuda do grande SWIG fiz um módulo Python rapidinho. Pronto! 750% de aumento de performance. Graças a um ajuste no gerenciamento da memória… quem sabe um dia chego no O(1)… Mas o O(n) já está muito bom.
Ultimamente estou brincando muito com XUL e XPCOM. É estranho desenvolver uma aplicação nativa em XML/Javascript. Mas fica muito bom. E o XPCOM deixa eu fazer o que quiser, nativamente, com velocidade plena. Posso brincar com as classes maravilhosas do Boost ou do wxWidgets, enquanto monto a lógica da minha aplicação em JavaScript e a internacionalização em DTDs… caramba!!!
Por melhor que seja a linguagem ou o ambiente que você trabalha (.Net, Java, Python, Perl, Lua, o que for…), se você quer performance, vá pro código nativo. É difícil, mas vale a pena. Pena que no nosso país a grande maioria dos “desenvolvedores” só sabem brincar com Delphi e Visual Basic (e seus amigos)….
Até!
Eduardo.
Technorati Tags: aedsol, maximus, nativo, c , python, maximus, swig, xul, xpcom, delphi, visualbasic, criticas, rant, pdf, otimização
powered by performancing firefox
Uau. Funciona. E �L MUITO bom.
Eu estava com problemas s�Lrios com o Beryl, pois ele tomava 100% da CPU o tempo todo. Com o Edgy e AIGLX o sistema funciona MUITO bem.
Segue a�- o tutorial (roubado da internet, claro):
(Antes de ler, saiba que alguns
caracteres como – - dois tra�os seguidos viram um tra�o longo �-?, as
aspas duplas vira isso aqui : �-��-?, sim este wiki modifica alguns
caracteres. Ent�o ao utilizar o famoso copiar/colar atente-se a isso.)
Tempos atr�s eu havia descrevido o que �L o AIGLX e como instala-lo no seu sistema,
no entanto, apesar de descrever que meu sistema usava uma placa NVIDIA,
o passo-a-passo era gen�Lrico e funcion�ria para qualquer placa que
tivesse as depencias satisfeitas no artigo. Agora por�Lm, vou descrever
um passo-a-passo apenas para usu�rios de placa NVIDIA, desde a
instala��o do driver BETA at�L a instala��o dos pacotes.
1) D�L um ALT F2 e ao aparecer uma janela de dialogo solicitando o que executar ent�o digite :
gksu gedit /etc/apt/sources.list
E acrescente estas duas linhas na rela��o de seus reposit�rios :
deb http://amaranth.selfip.com/ edgy lrm
deb-src http://amaranth.selfip.com/ edgy lrm
E tamb�Lm escolha um desses aqui para acrescentar, mas aten��o, escolha apenas um :
deb http://xgl.compiz.info/ edgy main-edgy (preferencial)
deb http://www.beerorkid.com/compiz edgy main-edgy
deb http://media.blutkind.org/xgl/ edgy main-edgy
deb http://compiz-mirror.lupine.me.uk/ edgy main-edgy
deb http://ubuntu.compiz.net/ edgy main-edgy
Salve o arquivo e abra o terminal e execute �-�sudo ls�-?, apenas para treinar o sudo com a senha por 15 minutos.
Dependendo do reposit�rio que escolheu acima, instale a chave correspondente :
wget http://xgl.compiz.info/quinn.key.asc -O – | sudo apt-key add -
wget http://www.beerorkid.com/compiz/quinn.key.asc -O – | sudo apt-key add -
wget http://media.blutkind.org/xgl/quinn.key.asc -O – | sudo apt-key add -
wget http://compiz-mirror.lupine.me.uk/quinn.key.asc -O – | sudo apt-key add -
wget http://ubuntu.compiz.net/quinn.key.asc -O – | sudo apt-key add -
Para o meu caso que escolhi o reposit�rio �-�http://xgl.compiz.info/
edgy main-edgy�-? executei �-�wget http://xgl.compiz.info/quinn.key.asc -O
- | sudo apt-key add -�-?. As vezes �L importante antes de importar a
chave com o �-�wget http://xgl.compiz.info/quinn.key.asc -O – | sudo
apt-key add -�-? treinar o sudo, isto �L, executar um �-�sudo
qualquer-coisa�-? s� para o sudo n�o lhe questionar a senha para os
pr�ximos 15minutos, isto �L importante porque ao executar o wget
juntamente com um redirecionar (no caso acima uma barra vertical)
nenhuma password pode ser fornecida e o comando por vezes falha.
2) Atualize seu reposit�rio :
sudo apt-get update
sudo apt-get dist-upgrade
S� para confirmar que estejam instalados o conjunto do kernel completo :
sudo apt-get install linux-generic linux-restricted-modules-generic nvidia-glx
Obs.: Troque �-�nvidia-glx�-? por �-�nvidia-glx-legacy�-? se sua
placa NVIDIA for uma TNT, TNT2, TNT Ultra, GeForce e GeForce2 chipsets,
mas nada impede que a cada novo release de driver novos modelos
�-?legacy�-? sejam acrescentados.
3) Configurando o servidor Xorg :
D�L um ALT F2 e ao aparecer uma janela de dialogo solicitando o que executar ent�o digite :
gksu gedit /etc/X11/xorg.conf
Na sess�o �-�Screen�-? adicione a linha (pode ser no topo) :
Option �-�AddARGBGLXVisuals�-? �-�True�-?
Na sess�o �-�Device�-? que cont�Lm o driver �-�nv�-?, voce ter� de fazer a seguinte modifica��o :
trocar a ocorrencia ocorr�Lncia :
Driver �-�nv�-?
por :
Driver �-�nvidia�-?
E opcionalmente poder� acrescentar esta nova op��o :
Option �-�TripleBuffer�-? �-�true�-?
Salve o arquivo e saia para o terminal novamente e prossiga com o passo seguinte.4) Para instalar o Beryl, execute no prompt :
sudo apt-get install beryl-core beryl-plugins emerald beryl-settings beryl-manager beryl emerald-themes
sudo apt-get install libgl1-mesa libglitz1 libglitz-glx1
digite no terminal :
glxinfo |grep �-�OpenGL version string�-?
se a resposta for :
OpenGL version string: 2.1.0 NVIDIA 96.25
Ent�o seu driver NVIDIA possui um BUG que pode ocorrer ou n�o
contigo, em algumas oportunidades sua CPU poder� ficar em 100% de uso
constante, para corrigir a situa��o instale este pacote :
sudo apt-get install libxorg-sched-yield-hack0
OK, tudo pronto, agora reinicie seu sistema.
5) Para executar o beryl, voce deve novamente dar um ALT F2 e quando aparecer a janela de dialogo solicitando o aplicativo a executar ent�o voce digita �-�beryl-manager�-�,
ap�s isso um diamante vai aparecer na sua bandeija de sistema (pr�ximo
ao rel�gio), clique com o bot�o direito sobre ele e v� at�L a op��o �-�Selecione o gerenciador de janelas�-? e escolha �-�beryl�-�. Na op��o �-�Configura��es do Beryl�-?,
voce pode ligar/desligar alguns efeitos, particularmente eu gosto de
ver janelas rodando ao serem carregadas ou fechadas ent�o vou at�L o
plugin �-�Animations�-? e em �-�Close/Create Efect�-? escolho a op��o �-�Sidekick�-�.
Um outro efeito interessante est� no plugin �-�Water Efect�-? onde voce
pode ligar a op��o �-�Ungrab Wave Efect�-? que reproduz um efeito ao soltar
as janelas. No mesmo Water Efects voce pode usar o ALT F9 para ver os
pingos de chuva ou ALT F8 para limpa-los como se voce um limpador de
para-brisas. Tamb�Lm existe a op��o �-�Gerenciador de temas Esmerald�-? que lhe permite trocar os temas das janelas.
6) Vamos criar um shell script para carregar o beryl. Novamente d�L um ALT F2 e execute �-�gksu gedit /usr/bin/beryl.sh�-? e cole esse conte�do :
#!/bin/sh
killall -9 beryl-manager
/usr/bin/beryl-manager
Voce deve estar se perguntando �-�para qu�L um script que mata o beryl
e carrega-o de novo?�-?, pois �L, acontece que quando voce fecha uma
sess�o do GNOME (ocorre tamb�Lm com o KDE) e refaz o login, o beryl esta
carregado na mem�ria, mas n�o aparece seu icone na bandeija do sistema.
Para sanar este problema fiz esse remendo onde antes de carregar o
beryl vou remove-lo se ele j� existir na mem�ria. Agora v� ao prompt e
d�L permiss�o de execu��o :
chmod x /usr/bin/beryl.sh
chmod 777 /usr/bin/beryl.sh
Se voce quiser o beryl sempre carregado ap�s o login, siga este
caminho : V� em Sistema->Preferencias->Sess�es e na orelha (ou
aba para alguns) �-�Programas iniciais�-? clique em �-�Adicionar�-? e digite
�-�/usr/bin/beryl.sh�-?.
Pronto! Toda vez que seu login ocorrer o beryl-manager j� estar� de prontid�o.
Considera��es Finais :
Eu mesmo segui este passo-a-passo ap�s a instala��o limpa do RC do
Ubuntu Edgy com minha GeForce 7300, ent�o a possibilidade desse
passo-a-passo n�o funcionar com voce s� �L grande se os reposit�rios que
descrev�- acima mudarem seus pacotes, salvo o contr�rio, funcionou
comigo ent�o funcionar� com voc�L.
powered by performancing firefox
Pois é. (Quase) Dois anos depois da primeira análise volto a analizar essa tecnologia tão controversa.
Atenção: Vou me contradizer abaixo. Atenção!
Voltei a analisar o Mono, principalmente para integração do runtime com o Maximus. E o pior… funciona! 
O Maximus SVN já conta com possibilidade de scripts em LUA e .Net (ou seja, C#, VB.NET, IronPython, Nemerle, Boo, entre outras…), agilizando e muito o desenvolvimento de novas características ao software.
Todas as classes internas estão exportadas. Ficou muito legal e interessante. Só de teste, implementei um handler de eventos em VB.NET… argh, funciona! 
hehehehe… o mundo dá voltas…
Technorati Tags: aedsol, maximus, mono, embed
powered by performancing firefox
Já ia me esquecendo!
Desde a última segunda-feira estou com uma nova estação de trabalho para desenvolvimento. Confiram as especificações:
Processador: Athlon64 X2 4600 Dual Core
Memória: 1.5 Gb DDR 400mhz Kingston
Disco Rígido: 300Gb Maxtor SATA 6L300S0
Placa de Vídeo: GeForce 6200 LE 256mb DDR
Placa Mãe: ASUS A8N-SLI
Sério. 
powered by performancing firefox
Com as novidades que estamos trazendo para a nova Intranet, estamos também migrando tecnologias. Como já falei em posts passados, estamos migrando tudo para Unicode, atualizando novas funcionalidades no sistema e novas bibliotecas. Nessa leva, estamos também migrando nossa base de dados.
O PostgreSQL é umas das bases mais completas com que já trabalhei. E agora, na versão 8.x, está trazendo ainda mais novidades e otimizações. Em nossos testes, a nova intranet já está rodando sobre o PostgreSQL 8.x – e rodando muito bem. Já, inclusive, testamos nosso sistema que vai converter as bases de dados para Unicode – 
E já que estamos falando da Intranet, vários de nossos clientes que já andaram vendo a nova Intranet reclamaram muito da falta de usabilidade do novo visual. Ouvindo essas críticas, estamos refazendo todo o layout visual da mesma – como estamos usando o Cheetah, não teremos problema algum com as alterações
.
E no mais, já iniciamos o desenvolvimento de novas características também no Maximus Client – essas, entretanto, só virão depois da nova Intranet. Posso adiantar que teremos um visual melhorado com novos ícones e novo layout também, seguindo as novidades da Intranet.
E por hoje é só 
powered by performancing firefox
Vencí o orgulho (de geek) e decidí instalar o Automatix no meu Ubuntu. É muito bom… ele facilita muitas operações que nós, os geeks, fazemos fácil fácil… mas como é bom ter alguém que faz isso pra gente…
Uma das novidades que o Automatix instalou foi o SwiftFox. Estou apaixonado pelo bixo. Ele nada mais é que o Firefox compilado com otimizações para Athlon-XP/64 ou Pentium II/III/IV. Sinceramente, o SwiftFox é muito, mas muito, mas muito mais rápido que o Firefox padrão.
Gostei tanto que baixei o Swiftfox 1.8, baseado no branch 1.8 do Firefox, que nada mais é que a “área de trabalho” do pessoal para o Firefox 2.0. E tenho de dizer… como ficou bom! 80% das minhas extensões pararam de funcionar, mas vale a pena… o visual novo é limpo, rápido e funciona perfeitamente.
O Performancing funciona 100%! ehehehe… não preciso de mais nada… 
powered by performancing firefox
Bem, tava na hora de falar um pouco da minha nova cria: a nova Intranet do Maximus Security, conhecida aqui na A&D como Intranet-NG.
Estamos num trabalho intenso… como já disse antes, decidimos reescrever a Intranet. A intranet antiga foi escrita como um típico script CGI antigo: sem preocupação nenhuma com objetos (apesar de ter sido escrita em Python), sem gerenciamento de erros, sem suporte automático a internacionalização… ou seja, uma bagunça. Até pra gente manter é complicado.
Recriamos a nova Intranet nos mesmos preceitos que criamos o atual kernel do Maximus: Code Complete. Eu já falei deste livro antes, e a lista abaixo é uma influência direta do que aprendemos com ele:
- Tudo orientado a objetos. Herança, polimorfismo, RTTI, todo o pacote.
- Modelo MVC. Ou seja, Model, View, Controller. Ou seja, separar o código dos templates HTML. Ou seja, uma coisa é uma coisa, outra coisa é outra coisa. Ou seja… ahhhh, deixa pra lá…
- Unicode. O Maximus Client já está 100% Unicode (No Linux). O servidor está no final da conversão. Quanto a Intranet, o quanto antes já decidirmos isso, melhor – principalmente por causa da internacionalização do sistema.
- Padronização dos Relatórios. Hoje nossos relatórios têm algumas diferenças entre sí. Queremos deixar tudo num visual único, limpo.
- Gráficos. Estatísticas. Vamos encher a Intranet de Gráficos.
E é isso aí. Assim que a Intranet estiver pronta, vou postar fotos aqui.
Até!
powered by performancing firefox
Estava hoje navegando pela internet quando derepente…. BAM. Achei meu weblog… abandonado, desatualizado (eu perdí uns 4 posts por causa de uma besteira que eu mesmo fiz) e pensei comigo: ou eu o atualizo ou derrubo de vez.
Levando em conta tudo o que eu tenho de (besteira) escrita aqui, decidi. Vou atualizar. Portanto aí vai:
- O Maximus Security Server já está na versão 3.1.
- A nova Maximus Intranet está ficando incrível.
- Não uso mais Gentoo. Estou usando o Ubuntu e finalmente sei o que é ter um computador que funciona.
- XGL é 10

- Batí meu carro denovo. Ou melhor, bateram em mim. Um motoqueiro atravessou a preferencial e me ralou a lateral. Deus abençoe o seguro! (na verdade a Aline, pois eu nem queria seguro…)

- Estamos com um novo escritório e um link de 2 MEGAS. Uau. Como é rápido isso aqui.
- Trocamos de telefone 3 vezes nos últimos 4 meses.
- Estamos implantando VoIP no escritório. Na casa do ferreiro, finalmente teremos espeto!
- Já estou morando na minha casa.
- Aprendí a fazer churrasco (não pergunte).
- Vou virar titio.
Basicamente é isso aí. Vamos ver se consigo manter esse blog atualizado dessa vez 
Caramba, esse é um recorde. 4 meses sem atualizar meu Blog. Eta ferro. Mas, vamos lá.
Muito aconteceu nesses 4 meses. Vou começar a falar pela A&D, depois falo da minha vida pessoal.
O tão esperado Maximus 3.0 está pronto para ser lançado. Estamos resolvendo pequenos bugs que apareceram de última hora, mas está tudo pronto. Decidimos não portar o servidor para Windows, pois perderíamos muito em características. Mas, o bom é que com todo o trabalho que tivemos portando o servidor para um layer portável, o Maximus Server para BSD, QNX, Darwin, entre outros, está bem mais simples de ser gerado.
As características do novo sistema são tantas… técnicamente falando, tanto o Maximus Client quanto o Maximus Server estão utilizando a wxWidgets 2.6.2, permitindo usar as novidades e melhoras desta versão. Deu um trabalho fazer o Client funcionar, principalmente para achar um bug que ninguém nunca tinha visto: o wxMozilla, quando compilado com a versão wxMSW 2.6.2, simplesmente trava quando um tag input type=”password” é usado. Ficamos uns… 20 dias procurando isso. Graças a Deus, conseguimos, mas tivemos de reescrever a tela de login do Maximus, que antes era toda em HTML. Eu acho que a nova ficou mais bonita
.
Redimensionamos os ícones e reestruturamos completamente a forma que as informações são apresentadas ao usuário, criando um “fluxo” mais inteligente. Antes, o operador necessitava “trocar” de tela umas 9-10 vezes durante um atendimento. Com nosso novo conceito, isso caiu para 3-4 vezes.
No servidor, integramos um servidor web para que a Intranet não dependa do Apache ou qualquer servidor web externo, sem contar que estou muito orgulhoso do novocodebase. Tudo é modular, e cada módulo roda em sua própria thread, tudo com gerenciamento de falhas e redundância. Junto com o servidor, criamos o MXLauncher, que nada mais é que um gerenciador de processos mais inteligente. Ele gerencia as instâncias do mx30server e do mx30mpc, iniciando, matando e reiniciando os processos de acordo com as necessidades do sistema e do usuário.
A Intranet ainda é baseada no engine da 2.X, mas melhoramos várias coisas. Graças ao MXLauncher, quando um usuário inclui uma nova receptora no sistema, ela é automaticamente inicializada e já começa a comunicar. Toda a parte de configuração do sistema está na Intranet e pode ser feita com um clique do mouse. A nova Intranet está ainda em desenvolvimento, e espero lançá-la na versão 3.5. Ela vai ser toda em AJAX, o que vai deixá-la muito mais dinâmica e ainda mais simples de usar.
Integramos a versão 3.X com o Ubuntu Linux, facilitando e muito a vida dos clientes da A&D. Com isso, o Maximus agora é atualizável pelo sistema APT, agilizando e muito o deployment de novas versões. Criamos até um CD que já instala o Ubuntu (particiona, formata, instala tudo) e o Maximus sem nenhuma intervenção do usuário. Ficou show. Estou muito satisfeito com o Ubuntu e estou pensando até em migrar do Gentoo pra ele. Ele é muito simples de usar, e todo mundo que usa fica doido.
E essas são as novidades do Maximus/A&D. Vou falar um pouquinho de mim, agora:
Eu e a Aline decidimos nos casar. Pois é! Compramos um terreno em Santa Felicidade e estamos construindo nossa casa. O casamento (gulp) é daqui a exatamente uma semana. Por isso não tenho tido tempo para nada. 
Vendí meu Peugeot 206
. É verdade. Mas comprei um Palio 1.4 ELX Flex. Muito bom o carro. Sinto falta do Peugeot pela performance e pelo espaço, mas o Palio com certeza me surpreendeu. A Fiat evoluiu muito desde meu primeiro Palio (aka Palhera). Sem contar o fato de ele ser flexível. Estou tendo uma economia média de 30% com o Palio, em relação ao Peugeot. Só usando Alcóol!
Fomos para a praia na semana passada “estrear” o Palio. Foi gostoso, o carro se dá muito bem com a estrada. O comportamento dele é bem diferente do Peugeot, principalmente nas curvas. Ainda acho difícil algum carro bater o Peugeot em curvas. Mas estou satisfeito.
Perdí 12 kilos. Tenho que ficar bonito no casamento, não é? 
Bem, acho que só vou postar denovo no ano que vem. Um feliz natal para todos, um ótimo ano novo e tudo de bom para todos nós.
PS: Eu vou postar as fotos do casamento, fiquem tranquilos! 
Abraços,
Eduardo.
credit reports all free 3to accept credit how cardcredits thuraya addingseminaries accreditation aabcnaturopathic board american medical accreditationcredit agchoice farmacca model accreditationcard rechargeable credit 413 Map