terça-feira, dezembro 28, 2010

terça-feira, dezembro 07, 2010

[perolas] No papel aceita tudo, já na prática a conversa é outra....

da lista MCPdX por Rodrigo (BSDeamon):

======================
Dani,

Agenda a conversa com um tecnico, nao comercial... Pro comercial e pro
papel tudo é possivel e como diz um amigo meu: "O comercial promete
'merda' e o tecnico tem que transformar em doce de leite".

Abracos,

Rodrigo.
 ======================

segunda-feira, dezembro 06, 2010

Profissionais e executivos papel e comportamento (via linkedin)

Mensagem postada Business & Jobs BRASIL group no Linkedin


=======================
Ulisses Pincelli started a discussion on a news article:
  Em sua opinião os profissionais - executivos em especial - devem expor suas opiniões de forma aberta no mundo corporativo, assumindo os riscos e também as oportunidades decorrentes desta atitude?

Para qualquer objetivo/resultado que quisermos alcançar na empresa ou na vida pessoal, temos que ter consciência do nosso papel e do nosso comportamento. Qual é a nossa missão? Quais são os nossos valores? Do que somos feitos? Buscamos o o crescimento e evolução do CHA - conhecimentos, habilidades e atitudes no nosso ambiente de trabalho?
Para que possamos influenciar qualquer pessoa, temos que convencer pelo exemplo e por nossos valores. O que falamos deve ser ratificado por nossas ações.

Toda comunicação eficaz engloba 3 aspectos: ETHOS (credibilidade )- "O que você é grita tão alto que não escuto o que você fala." - são as atitudes coerentes. PATHOS ( empatia) - se eu transmito confiança e afeto, vou ter a empatia do outro. LOGOS ( conhecimento)- o conteúdo em si. Os 3 elementos devem andar juntos. Separados não são tão fortes. E o que mais necessita de apoio, é o conteúdo.

Acredito que toda comunicação e comportamentos devem ser honestos, íntegros, éticos. Utopia? Dê o primeiro passo ( pequeno) e vá aumentando paulatinamente. As empresas( que são as pessoas) não podem viver eternamente na era industrial. A era do conhecimento está aí faz tempo e logo teremos a era da sabedoria. Coragem, guerreiro!
=======================

Redirecionamento de logs no PostgreSQL

Mensagem da lista pgbr-geral:

=======================
A saída "verbose" do pg_dump não é tratada pelo linux como saída padrão, e sim na saída de "erros/warnings".

Exemplo:
pg_dump -v BANCO -f /tmp/banco.txt >> /tmp/log.txt 2> /tmp/log.txt
ou
pg_dump -v BANCO -f /tmp/banco.txt >> /tmp/log.txt 2>&1

André Volpato
======================= 
Perceba que se tentar iniciar o serviço via /etc/init.d ou rcpostresql (este no opensuse) não irá conseguir iniciar com o pg_dump pq o serviço estará usando a mesma porta e irá acusar erro com o pg_dump.
Para parar o serviço no opensuse:
# rcpostgresql stop
ou (em outro Linux)
# /etc/init.d/postgresql stop
Para descobrir onde está o pg_dump use:
# which pg_dump
ou
# find / | grep pg_dump
ambos dão a mesma saída!

quinta-feira, dezembro 02, 2010

Dicas para o ESXi 4.1


Acesso via SSH no ESXi 4.1
Na console do Hypervisor usar F2 para logar, opção Troubleshooting Options e ativar a segunda opção Enable Remote Tech Suport (SSH).

fonte: manual do ESXi no site do fabricante http://www.vmware.com

Comandos na console
Na console do Hypervisor usar Alt+F1;

vim-cmd vmsvc/getallvms
Lists all vm's running on hypervisor and provides vmid

vim-cmd vmsvc/power.off vmid
Powers off vmid referenced from getallvms command

vim-cmd vmsvc/power.on vmid
Powers off vmid referenced from getallvms command

vim-cmd vmsvc/power.reboot vmid
Reboots vmid referenced from getallvms command

vim-cmd vmsvc/destroy vmid
Deletes the vmdk and vmx files from disk

vim-cmd hostsvc/maintenance_mode_enter
Puts hypervisor into maintenance mode

vim-cmd hostsvc/maintenance_mode_exit
Takes hypervisor out of maintenance mode

vim-cmd solo/registervm /vmfs/vol/datastore/dir/vm.vmx
Registers vm in hypervisor inventory

vim-cmd vmsvc/unregister vmid
Unregisters vm with hypervisor

vim-cmd vmsvc/tools.install vmid
Starts vmware tools installation for VM

vim-cmd hostsvc/net/info
Provides information about hypervisor networking

chkconfig -l
Shows daemons running on hypervisor. Can also be used for configuration.

esxtop
Same as linux top for vmware

vmkerrcode -l
List of vmkernel errors

esxcfg-info
Lists a LOT of information about the esx host

esxcfg-nics -l
Lists information about NIC's. Can also be used for configuration.

esxcfg-vswitch -l
Lists information about virtual switching. Can also be used for configuration.

dcui
Provides console screen to ssh session

vsish
Vmware interactive shell

decodeSel /var/log/ipmi_sel.raw
Read System Event Log of server

fonte: http://robertbchase.blogspot.com/2008/12/vmware-esxi-ssh-cli-commands.html

quarta-feira, dezembro 01, 2010

PiGz - Parallel implementation of gzip


Implementação do gzip para multiprocessamento...
Na prática diminuiu o tempo de backup pela metade.
Para instalar é necessário gcc, make e zlib-devel.
No Opensuse:
# zypper install gcc make zlib-devel
no diretório que expandiu o pigz:
# make
Copie para o /usr/bin os dois binários gerados: pigz e unpigz
Renomeie os atuais gzip e ungzip para algum nome diferente;
Crie um link simbolico do gzip para o pigz;
# ln -s /usr/bin/pigz /usr/bin/gzip
# ln -s /usr/bin/unpigz /usr/bin/ungzip

Ganho de performance é comprovado!

http://www.zlib.net/pigz/

[pgbr-geral] mudar LC_CTYPE = 'en_US' para 'pt_BR'

Mensagem postada na lista PostgreSQL (geral)

Olá pessoal !

Alguem sabe ai como mudar a variavel LC_CTYPE ='en_US' para 'pt_BR' no servidor, o banco ja estar em produção.

LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE=C
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=


Emerson Martins
Analista de Banco de Dados
===================== RESPOSTA =====================
Primeiro verifica se você tem o UTF-8 configurado:
locale -a

Se tiver basta alterar o arquivo /etc/default/locale
LANG= "pt_BR.UTF-8"
LANG= "pt_BR:pt:en"
LC_ALL= "pt_BR.UTF-8" ( altera todos os parametros LC inclusive o LC_CTYPE)

source /etc/default/locale

Se não tiver o UTF-8 configurado:

Para adicionar o locale UTF-8 no linux:
cp /etc/environment /etc/environment.orig
vim /etc/environment
Adicionar as linhas no arquivo /etc/environment:
LANG="pt_BR.UTF-8"
LANGUAGE="pt_BR"
No diretório /var/lib/locales/supported.d/:
cp local local.orig
Adicionar a linha no arquivo:
echo pt_BR.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local
Finalmente, gerar o locale e exportar as variáveis de ambiente:
locale-gen;

export LC_ALL=pt_BR.UTF-8;
export LANG=pt_BR.UTF-8;
export LANGUAGE=pt_BR.UTF-8;

--
Vanessa Marinho Ribeiro 

segunda-feira, novembro 29, 2010

sábado, novembro 20, 2010

Deixando o Ubuntu Linux mais rápido sem aplicar o patch de 200 linhas

Saiu nesta semana q passou um patch (partes modificadas de um programa) que prometeu melhorar a performance no Kernel (núcleo) Linux.
O pessoal da RedHat rebateu informando que é possível fazer esta modificação sem precisar mexer no Kernel.
O site http://blog.coderepository.net/2010/11/19/otimizando-o-kernel-de-seu-desktop-linux/ fez o teste do mesmo e segundo informações postada é sensível a melhora.

Reproduzo o conteúdo do site (sem autorização do autor):

Otimizando o Kernel de seu Desktop Linux

Há três dias (16/11/2010) foi divulgado pela Phoronix um patch de cerca de 200 linhas de código que é milagroso muito bom e aumenta a velocidade do seu Desktop Linux. O próprio Linus comentou que o código era muito bom! Basicamente o que ele faz é usar o novo agendador de processos chamado Brain Fuck Scheduler (nome sugestivo hein!!! deve ser meio complexo né?)
Logo em seguida Lennart Poettering, um desenvolvedor da Red Hat,  sugeriu uma pequena mudança no arquivo /etc/rc.local e no ~/.bashrc do usuário que realiza a mesma tarefa que o patch, sem a necessidade de recompilar o kernel. Na verdade foram feitos alguns testes de performance e chegaram a dizer que a solução proposta for Lennart era melhor do que o Patch:
"OK, I've done some tests and the result is that Lennart's approach seems
to work best. It also _feels_ better interactively compared to the
vanilla kernel and in-kernel cgrougs on my machine. Also it's really
nice to have an interface to actually see what is going on. With the
kernel patch you're totally in the dark about what is going on right
now." (http://lkml.org/lkml/2010/11/16/392)
Testei o patch divulgado mas encontrei alguns erros para habilitá-lo no Ubuntu 10.10, portanto segue a versão corrigida por mim e com algumas melhorias.
Abra o terminal e em seguida faça os seguintes procedimentos:
1) Editar arquivo rc.local
1
marcelo@marcelo$ sudo gedit /etc/rc.local
Insira as seguintes linhas ANTES do “exit 0”:
1
2
3
4
5
mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "1" > /dev/cgroup/cpu/user/notify_on_release
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent
Salve e feche.
O rc.local já deverá possuir permissão de execução, mas por garantia vamos dar a permissão novamente:
1
marcelo@marcelo$ sudo chmod +x /etc/rc.local
2) Criar arquivo cgroup_clean
1
marcelo@marcelo$ sudo gedit /usr/local/sbin/cgroup_clean
Insira as seguintes linhas no arquivo:
1
2
3
4
#!/bin/sh
if [ "$1" != "/user" -a "$1" != "/user/" ]; then
 rmdir /dev/cgroup/cpu$1
fi
Salve e feche.
Vamos dar permissão de execução para o arquvo:
1
marcelo@marcelo$ sudo chmod +x /usr/local/sbin/cgroup_clean
3) Editar o arquivo /etc/bash.bashrc
1
marcelo@marcelo$ sudo gedit /etc/bash.bashrc
Inserir as seguintes linhas no começo do arquivo:
1
2
3
4
if [ "$PS1" ] ; then
mkdir -m 0700 /dev/cgroup/cpu/user/$
echo $ > /dev/cgroup/cpu/user/$/tasks
fi
4) Reinicie o computador
Feito! Aproveite seu linux mais rápido!

segunda-feira, novembro 15, 2010

Testes em Python

Dica postada na lista Python-Brasil pelo Luciano Ramalho:

Todo mundo sabe que escrever testes automatizados faz bem.

Começar é fácil, o difícil é persistir porque às vezes não sabemos
como escrever determinados tipos de testes, ou escrevemos de um jeito
que acaba dando muito trabalho depois.

Aqui vão várias dicas excelentes:

Pylons Unit Testing Guidelines
http://docs.pylonshq.com/community/testing.html

Outras dicas nessa linha são sempre bem vindas!

--
Luciano Ramalho

domingo, novembro 14, 2010

Gravar vídeos no Windows - codificador Microsoft e free - Windows Media Encoder

Existem muitas opções para gravação de vídeos, eu mesmo já procurei muitas e de graça e sempre esbarrava em versões trials (versão q deixam de funcionar algum recurso após algum tempo).

Na lista de discussão MCPdx foi postado o Windows Media Encoder.

o link direto para download no baixaki: http://www.baixaki.com.br/download/windows-media-encoder.htm

sexta-feira, novembro 12, 2010

Quem souber e quiser explicar... IBM e Oracle juntas no OpenJDK

IBM and Oracle are going to work more closely together on Java, starting with IBM joining the OpenJDK project. IBM engineers will soon be working directly alongside Oracle engineers, as well as many other contributors, on the Java SE Platform reference implementation—starting with JDK 7.

sexta-feira, novembro 05, 2010

[divulgação] Semana de tecnologia FATEC/UNIC

Começa dia 08/11 até 12/11 a semana de tecnologia da FATEC na UNIC Beira Rio.

Pra saber mais: http://www.unic.br/site/index.php?pg=comunicando

Eu irei ministrar o curso de Python dia 08/11.

quinta-feira, outubro 28, 2010

DHCP Dead (SLES) - DHCP "morto" (SLES)

 I have bad experience with DHCP on SLES(10sp1). It´s dead unexpectedly!!! Don´t see any error on /var/log/messages or other process.
The single message on /var/log/messages:
Oct 25 09:16:02 xyz dhcpd: Can't create new lease file: Permission denied

I change the permissions in /var/lib/dhcp/db:

# chmod 0777 /var/lib/dhcp/db

And run normally...


Uma experiência que passei dias atrás com um servidor SLES (10sp1) que insistia em determinados horários em matar o processo de DHCP, não mostrando qualquer erro ou processo interferindo.
A mensagem no /var/log/messages:
Oct 25 09:16:02 xyz dhcpd: Can't create new lease file: Permission denied

Após alguma procura na internet não encontrei qualquer informação exata sobre o problema. Mas o link informava sobre as permissões do serviço.
Situação estranha por que o serviço sempre funcionou.
Resolvi dar permissão total na entrada de diretório db:

# chmod 0777 /var/lib/dhcp/db

xyz:/var/lib/dhcp # ls -la
total 1
drwxr-xr-x  7 root root 168 2010-10-20 18:11 .
drwxr-xr-x 34 root root 880 2010-10-26 13:30 ..
drwxrwxrwx  3 root root 136 2010-10-28 14:07 db
drwxr-xr-x  2 root root  96 2010-10-28 14:07 dev
drwxr-xr-x  2 root root 200 2010-10-26 13:20 etc
drwxr-xr-x  2 root root 112 2010-10-28 14:07 lib
drwxr-xr-x  3 root root  72 2007-05-18 11:01 var

Restaurando o serviço!!!

quarta-feira, outubro 20, 2010

Uma história de superação...

Uma amiga enviou este video e não pude deixar de compartilhar!!!!

Balão caseiro capta imagens do espaço e volta intacto

Por Redação Yahoo! Brasil

Numa experiência totalmente "caseira", um grupo de americanos resolveu lançar uma câmera HD para o espaço, presa a um balão metereológico. A ideia era mandá-lo para a estratosfera e registrar toda aquela escuridão acima da Terra. O experimento, batizado de "Brooklyn Space Program" foi feito em ambiente "família" - os filhos dos "cientistas" participam ativamente. Junto com o balão e a câmera eles mandaram um iPhone, que enviaria as coordenadas de sua localização por GPS - para que a câmera pudesse ser resgatada, claro.
O pessoal do Brooklyn Space Program sabia que, em pouco tempo, o balão perderia sustentação pela pressão atmosférica, se esvaziaria e cairia. Daí a ideia de atachá-lo a um mini paraquedas. A "viagem até o espaço" durou pouco menos de duas horas e o balão enfrentou ventos de 160km/h e temperatura de 60 graus negativos.
Surpreendentemente, o balão caiu a apenas 45 quilômetros ao norte do local de onde foi lançado - havia o temor de que caísse bem mais longe. O vento foi determinante para isso.
As legendas do vídeo estão em inglês, mas mesmo quem não está familiarizado com idioma de Shakespeare pode se deliciar com essa experiência sensacional.

Homemade Spacecraft from Luke Geissbuhler on Vimeo.
A bateria da câmera quase chegou até o fim - ela acabou apenas dois minutos antes do pouso. Mas graças às coordenadas de GPS enviadas pelo iPhone, o balão pôde ser encontrado no topo de uma árvore, praticamente intacto.
Para mais informações, acesse o site do Brooklyn Space Program.


Homemade Spacecraft from Luke Geissbuhler on Vimeo.

fonte: http://br.noticias.yahoo.com/s/19102010/48/manchetes-balao-caseiro-capta-imagens-espaco.html

terça-feira, outubro 19, 2010

Migrando o dominio do Windows 2003 para Windows 2008

Mensagem postada na lista MCPdX. Por Rodrigo Gava.

Para fazer este upgrade (a grosso modo).

1 - Instale um novo DC 2008 R2 na mesma floresta e domínio do 2003.
2 - Mova as FSMO do 2003 para o 2008 R2 (inclusive DNS se for o caso).
3 - Tenha certeza de que foi tudo replicado para o 2008 R2.
4 - Desligue o 2003 e teste autenticação e autorização de acesso a rede.
5 - Ligue o 2003 e despromova o DC do 2003.
6 - No 2008 R2 altere o funcional level do 2003 para 2008 ou 2008 R2.

Pronto está "migrado".

quinta-feira, outubro 14, 2010

App para Android - ECG - Monitoramento cardiaco!



fonte: http://tecnoblog.net/43352/eletrocardiograma-no-android-tem-uma-app-pra-isso-video/

Rapidez na distribuição da aplicação e CouchDB! Por Luciano Ramalho (python-brasil)

Mensagem da lista Python-Brasil por Luciano Ramalho.

Eu ia falar sobre o quickly na minha palestra na PythonBrasil, mas
como tive que cancelar, resolvi compartilhar com vocês uma das
melhores descobertas que fiz ao pesquisar para a palestra.

Desde 2009 existe essa jóia pouco divulgada do projeto Ubunto chamada
Quickly [1]. Basicamente é um script e bibliotecas para ajudar você a
desenvolver, empacotar e publicar aplicações desktop com GUI para
rodar no Linux.

O script quickly funciona como o django-admin.py: você dá comandos e
ele gera diretórios e arquivos para te ajudar a começar a montar a
aplicação. O script quickly também se integra ao sistema de controle
de versão Bazaar e ao repositório de código Lauchpad, tornando a
divulgação do seu trabalho muito simples.

Docs oficiais:
[1] https://wiki.ubuntu.com/Quickly

Video demonstrando:
[2] http://www.youtube.com/watch?v=9EctXzH2dss

Pequenas receitas de código, muito úteis para principiantes em Python:
[3] https://wiki.ubuntu.com/Quickly/Snippets

Resenha:
[4] http://arstechnica.com/open-source/news/2009/08/quickly-new-rails-like-rapid-development-tools-for-ubuntu.ars

O que isso tem a ver com o tema "NoSQL para projetos de qualquer
tamanho", o título da minha palestra? Boa pergunta!

Tem tudo a ver. A API oferecida pelo Quickly integra com o
DesktopCouch, o CouchDB que vem instalado no Ubuntu Desktop desde a
versão 9.10. Nada mais racional como mecanismo de persistência para
pequenas aplicações do que um banco de dados orientado a documentos.

Vejam este exemplo, da página de snippets [3]:

########
from desktopcouch.records.server import CouchDatabase
from desktopcouch.records.record import Record as CouchRecord

db = CouchDatabase("dbname", create=True)
record = CouchRecord(
  {"a": 1, "b": 2}, record_type="http://recordtypeurl",
  record_id=XXX)
db.put_record(record)
########

Note que o conteúdo do registro é um dicionário, e pode ser tão
complexo quanto você queira, com listas e mais dicionários aninhados.
Nada de lidar com relacionamentos, tabelas de ligação e toda aquela
complicação ditada pelo modelo relacional normalizado.

--
Luciano Ramalho
programador repentista || stand-up programmer
Twitter: @luciano

[artigos] Developer Works IBM Linux publicou dois artigos - renomear interfaces de rede e controle de versão de configuração (/etc)

Renomeando uma interface de rede com o UDEV

https://www.ibm.com/developerworks/mydeveloperworks/blogs/752a690f-8e93-4948-b7a3-c060117e8665/entry/renomear_interface_de_rede_com_udev?lang=pt_br

Mantendo histórico de versão de configuração ou qualquer outro histórico com GIT

https://www.ibm.com/developerworks/mydeveloperworks/blogs/752a690f-8e93-4948-b7a3-c060117e8665/entry/use_o_git_para_retornar_tudo_ao_normal?lang=pt_br

quarta-feira, outubro 13, 2010

Como anda a sua carreira e sua empresa? Por Waldez Luiz Ludwig (Programa do Jô)

Uma amiga enviou estes vídeos e algumas situações mostradas se encaixam no dia a dia.





domingo, outubro 10, 2010

Interagindo Python com SQLite




import sqlite3
conn = sqlite3.connect('/temp/bdpython.sqlite')
c = conn.cursor()
c.execute('''create table python (id int, data text, descricao text, valor real)''')
c.execute('''insert into python values (1, '2010-01-10', 'Meu primeiro registro', 10000)''')
conn.commit()
c.execute('''select * from python''')
for row in c:
# na linha abaixo tem indentação, lembre-se o python usa-a para definir blocos
 print row
c.close()
(1, u'2010-01-10', u'Meu primeiro registro', 10000.0)

quarta-feira, outubro 06, 2010

[convite/jabá] Quer saber como é pedalar?!?!

Outra cria que mantenho....

http://piquinopedal.blogspot.com/2010/10/quer-pedalar-e-nao-tem-ideia-de-como.html



O convite para pedalar conosco é estendido a todos!
Se estiver visitando faça contato que será um prazer em fazer novas amizades.

Abraço,

Gerenciar o Windows 2008 Server Core

Fabio Hara disponibilizou um link com PDF´s para gerenciamento do W2008 Server Core.

http://www.fabiohara.com.br/2010/10/06/voce-sabe-como-gerenciar-um-server-core/

Se quiser beber na fonte (inglês): http://www.microsoft.com/downloads/en/details.aspx?FamilyID=8dd99ac0-4a59-41e9-8037-f33760d560f0

Horário de verão (CAIS)

O CAIS gostaria de informar que o Horário de Verão 2010/2011 terá início à
zero hora (00:00) de 17 de Outubro de 2010 e término à zero hora (00:00)
de 20 de Fevereiro de 2011.

Maiores informações: http://www.rnp.br/cais/alertas/2010/cais-horaverao-1011.html

sexta-feira, outubro 01, 2010

Outro bom post da carreira de CISSP

Seguindo a linha do topico 5 do manual apresentado pelo Rafael


"5) Não atire para todos os lados em termos de certificação. Defina um
padrão de carreira que quer seguir."
Aproveite seu diferencial.. Como voce eh/era desenvolvedor, isso pode ser
_muito_ util para voce se tornar um cara de segurança diferenciado.

Exemplo,
digamos que voce hj é forte em desenvolvimento e iniciante em segurança
(suponhamos...)

ao inves de vc apreender como funciona um firewall ou um sistema IPS, para
tentar competir com os carinhas que estao no mercado mexendo nisso ha 10
anos... (e nao programam nada)
voce podia focar em entender a arquitetura de funcionamento do IPS para
desenvolver uma melhoria pra ele...
ou modos de bypass de IPS.. etc..

apesar q isso seria mais forte la fora, salvo raras exceçoes no brasil...

muitas empresas de auditoria e segurança estao criando solucoes para
automatizar algo (escopo netsec)
ou desenvolvendo produtos customizados..

Exemplo, ao inves de voce tentar competir com um CISSP para uma vaga de
gestor de politicas de segurança corporativa
numa grande industria

voce podia mirar em empresas de serviços de TI, se oferecendo para melhorar
o produto deles (com enfase em segurança)

exemplo:
solucoes de autenticaçao forte
integraçao de autenticacao entre diversas plataformas
desenvolver mecanismos para revisao de codigo (codigo seguro)
criar Um analisador de logs distribuido com mix de correlacionador de
eventos para fins de continuidade de negocios

enfim... voce ja tirou o cissp e viu os dominios q ele engloba...
pega um deles, faz um produto pra vender..
*seja empreendedor..*

pra q ser empregado, ganhando 6K como disseram em outro topico, pra seu
chefe ganhar 4 a 5 digitos em cima de vc?
seja este cara...

vc ja atirou pra todo lado em certificacoes.. esta´ com uma boa bagagem
tecnica..
nao disperdiçe isso trabalhando pra algum mercenario..

contrate um cara comercial, uns 2 colegas pra contribuir..

no final VOCE q vai empregar o povo...

pense em uma boa ideia..
incubadora de empresas tem aos montes
a linha de credito pra TI é quase infinita por aki..

o dificil nao eh achar dinheiro pra montar um negocio, é achar a ideia...
cara querendo investir tem aos montes...
com a ideia no papel e o business plan tb...
pro investidor isso da mais dinheiro q açao da VALE... hehe

[ ]'s
Fabricio Lima, CISSP

Roteiro para busca de vaga CISSP

Rafael L. Martin postou na lista CISSP:

1) Faça perfil no VAGAS;
2) Faça perfil no Curriculum.com.br;
3) LinkedIn: Faça perfil, mantenha bem atualizado e faça networking por ali;
4) Faça cursos e/ou se mantenha atualizado por literaturas;
5) Não atire para todos os lados em termos de certificação. Defina um
padrão de carreira que quer seguir. As vezes, você pode começar a
estudar para CISSP e descobrir depois de um tempo que gosta mais de
auditoria ou hacker ético. Não tenha medo de abandonar no meio, e
re-começar o estudo naquilo que vc mais gosta;
6) O tempo mínimo de experiência para se ter o CISSP é 04 anos (com
facultade em TI) ou 05 anos sem faculdade. Se vc tiver apenas o tempo
mínimo, salários menores podem ser um bom começo. É como "jogar no
time do interior". Vc passa 02, 03 anos ganhando como jr. e vai
aprender muito;
7) De cada 100 CV's q vc mandar, 01 vão te chamar para interview. É
assim mesmo. Não se acomode e não desanime;
8) Algumas empresas ainda preferem o bom e velho cadastro próprio. Use
um desses freewares tipo RobotForm para preencher automaticamente a
maioria dos campos;
9) Leia muito! Vencer a preguiça mental é meio caminho andado em
InfoSec. Conheço algumas pessoas que quando estão sem tempo, deletam
todas as threads não lidas de um mail list. Se você está iniciando,
tente ler todas. As vezes, em um debate despretencioso, você tem
alguma nova idéia para se colocar no mercado;
10) Pegue um profissional especializado para analisar seu currículo.

terça-feira, setembro 28, 2010

E os projetos livres estão "saindo" da Oracle - criaram um fork do OpenOffice

O site é http://www.documentfoundation.org/


Ainda não entendi onde a Oracle quer chegar... mas em breve deverá ficar mais claro!

ps.: fork no tecniquês (informatês) é o processo de usar um software (que está disponível o código fonte) base e iniciar um novo projeto. Caso o investidor (neste caso Oracle) tiver "bala" pra manter, o original continua, caso contrário, é certeza de fracasso.

E isso é muito comum, mais do que se pensa, qdo as comunidades de desenvolvedores estão insatisfeitos com o rumo (diga-se de passagem patrocinador) do projeto.

segunda-feira, setembro 27, 2010

O que é software homologado???

Tenho recebido diversas mensagens nas listas de discussão de pessoas perguntando sobre software homologado para servidores - aka sistema operacional.

Um sistema operacional homologado para servidores nada mais é que um software que foi testado em determinadas condições e recebeu um "selo" ou aval do fabricante de hardware (ou servidor) que funciona sem problemas.
Um dos motivos desta homologação foi que anos atrás quando o mercado "paralelo" de PCs (chamado de cinza tbem) se expandia a números assombrosos, e a quantidade de falhas (tela azul no caso do Windows ou kernel panic no Linux) crescia paralelamente e gerava transtornos aos fabricantes de software, os fabricantes  de servidores de grife (Dell, HP, IBM entre outras) resolveram qualificar seus equipamentos e garantir que o sistema operacional funcionaria satisfatóriamente sem os implicantes e fatais erros. Além é claro, os servidores são fabricados para estarem disponíveis 24 horas por dia em 7 dias da semana (24x7) e esta premissa fez com que os fabricantes optem por sistemas operacionais funcionais, eficazes e com garantia.
E atualmente os sistemas operacionais homologados para as plataformas Intel (ou AMD) x86 e 64 bits são: Windows 2008 da Microsoft, SLES (Suse Linux Enterprise Server) da Novell, e RedHat Enterprise Linux da própria RedHat, estes dois últimos são baseados no Linux.
As empresas que homologam o servidor junto aos sistemas operacionais buscam garantir que as tarefas demandadas serão executadas. Caso um servidor tenha um sistema operacional não homologado, o usuário (ou administrador de rede) não terá qualquer tipo de suporte do fornecedores do servidor.
Alguns fornecedores chegam a extremismos de "indicar" (ou determinar) como será instalado o software, desde o particionamento, diretórios e configuração minima, que é o caso da Oracle.
Todos tem suas qualidades e aplicações e sempre é indicado fazer um levantamento minuscioso das necessidades para definir que sistema operacional irá lhe atender.



quarta-feira, setembro 22, 2010

[malhação] RH resolveu responder, ex-funcionário locaweb fala! Reconsideração sobre o post anterior

No post anterior sobre o RHC5 eu falei da omissão da RH em disponibilizar correções, e conforme um novo post no BR-Linux parece que a "guerra" ganhou novos rumos com detalhes que vão desde atualizações, contratos em nome de pessoa física até um ex-funcionário falando do ambiente de webhosting.

Bate rebate no BR-Linux: http://br-linux.org/2010/bate-rebate-red-hat-nega-que-locaweb-seja-sua-cliente-e-locaweb-responde/

Depoimento do ex-funcionário: Eu trabalhei na Locaweb durante o ano passado, e cara aquilo é um inferno, a empresa vive em constante mudanças, migrações o que as vezes não é bem gerenciadas e acabam dando uma série de problemas. Esse problema de invasão da Locaweb não é novo, já ocorreu muitas vezes, mas nunca veio a tona, a Locaweb não tem uma infra-estrutura solida para suportar a quantidade de clientes que hoje existe em sua carteira de clientes, devido a isto eles estão jogando o erro operacional que ocorreu para seus fornecedores, todo mundo sabe que antes de colocar uma máquina em produção é necessário efetuar vários testes de segurança e isto não foi feito. Fica meu comentário sobre a Locaweb…
 

terça-feira, setembro 21, 2010

Abrir uma URL via Python



>>> import webbrowser
>>> webbrowser.open('http://dropsdef.blogspot.com/')


fonte: http://www.doughellmann.com/PyMOTW/webbrowser/index.html

Mandriva - novo horizonte!!!

Tive uma ótima experiência com o Mandrake (antes da época da fusão com a Conectiva), e só optei por outra distribuição pq não era "homologada" (as distros homologadas até hoje são RH e Suse Enterprise Linux) para servidores de grandes players do mercado! 



Reprodução da matéria do BR-Linux:

A situação da Mandriva, confirmada inicialmente por um relato da Assembleia Geral da companhia e o subsequente anúncio da criação do fork ‘Mageia’, com participação dos desenvolvedores demitidos, ambos publicados no sábado aqui no BR-Linux, continua a se desenvolver rapidamente.
A primeira notícia nova a respeito que chegou ao meu conhecimento foi a nota da O’Reilly sobre a mudança no controle da empresa, que passa a estar nas mãos de um grupo russo – ou seja, o investimento anteriormente divulgado por parte dos russos tem proporções maiores do que havia sido mencionado, e o peso da intenção deles de ter uma distribuição desenvolvida na Rússia para competir com o ALT Linux (entre outros) deve ser adequadamente considerado.
A mesma notícia também aponta um número interessante: o fork Mageia, que divulgamos no sábado, já conta com a adesão de mais de 50 ex-funcionários e colaboradores da Mandriva, trazendo sua experiência e conhecimentos sobre a estrutura da distribuição.

E a outra novidade da segunda-feira é a nota oficial da diretoria da Mandriva, afirmando que “a Mandriva está viva e sempre estará viva para todos os envolvidos nela (comunidade, empregados, consumidores, fornecedores, etc.)“, e que a Mandriva se recuperou de uma situação difícil – que bom! – confirmando a ajuda de um novo investidor (não mencionado) e a existência de um novo foco estratégico.
A nota também fala em números: a Mandriva hoje conta com 12 desenvolvedores (7 no Brasil e 5 na França), mais 4 terceirizados, e pretende expandir drasticamente as atividades de pesquisa e desenvolvimento com a inclusão de 15 profissionais na Rússia. Além disso, ela tem “incontáveis” colaboradores comunitários, pretende expandir para até 20 (no ano que vem) o número de desenvolvedores no Brasil, e está em busca de mais terceirizados.
Além disso, a nota dá a impressão de que os desenvolvedores acima mencionados estarão com a agenda bem cheia, pois fala em melhorias na loja on-line da Mandriva, atenção aos Tablets (Intel e ARM, apoio ao Meego, desenvolvimento de uma nova interface em Qt), uma estratégia interna para a nuvem, a distribuição para servidores, o Mandriva Pulse, o Powerpack, os desktops corporativos, a versão com suporte de 3 anos, a distribuição voltada à educação e a intenção de ser a melhor distribuição KDE do mundo, em negrito no comunicado.
A comunidade de usuários também é mencionada de forma bastante específica, inclusive com a adoção da figura do “gestor de comunidades” (como existe no Ubuntu, Fedora e outras) contratado pela companhia, mas mantendo a governança independente e a disponibilidade de estrutura mantida pela empresa. Mas há expectativas também: a empresa vai encorajar a comunidade a desenvolver versões da distribuição com outros ambientes que não o KDE – Gnome, LXDE, XFCE e E17 são mencionados especificamente.
Complementando o texto, uma missão é apresentada para a companhia: ser a distribuição para todos (empresas e indivíduos, iniciantes e avançados) de toda a Europa e do BRIC. Boa sorte!

fonte: http://br-linux.org/2010/mandriva-diretoria-expoe-nota-oficial-controle-passa-para-os-russos-e-mageia-passa-de-50-colaboradores/

A diferença entre meninos e homens... vulnerabilidade no RHCE5!


Está sendo amplamente divulgado um "mass defacement" (desfiguração em massa de sites) com origem na Locaweb em servidores RHCE5. E no BR-Linux foi divulgado que a Canonical já disponibilizou as correções para o Ubuntu, enquanto que a Red Hat ainda permanece sem solução.
Não procurei o motivo de atraso ou qq que seja o fato da Red Hat demorar na liberação de um patch (ou até um workaround, conhecido como gambiarra) para tal, mas de uma coisa eu tenho certeza, a Canonical saiu na frente e já disponibilizou, o que deixa bem claro que o interesse/segurança do software livre e de seus seguidores/clientes é prioridade para eles.

Parabéns Canonical! Sempre trabalhando com foco!

segunda-feira, setembro 20, 2010

segunda-feira, agosto 30, 2010

Fábrica de Software é uma Besteira (por Fabio Akita)

O maior desserviço à área de Desenvolvimento de Software já criado na nossa história recente foi o termo “Fábrica de Software”. Pior aindadepois que a Índia implementou esse conceito em larga escala, tornando-o famoso e com credibilidade.
Digo isso porque a partir do momento que se encara “Desenvolvimento de Software” como uma tarefa de “Fábrica”, onde entra uma especificação de um lado e sai um software do outro, você acabou de destruir qualquer inovação na área. Pior ainda, considera que todo programador é necessariamente um “operário”.
Porque estamos falando de “Fábrica”, os cursos de “Engenharia de Software” se tornaram mais populares que os de “Ciências da Computação”. E mais paradoxal ainda é ver estudantes se formando como “engenheiros” mas trabalhando como “pedreiros”.
Mais ruim ainda é quando gerentes de TI, “CIO”s, “CTO”s, que sequer foram da área de software, sequer escreveram uma linha, acham que entendem como se faz software. Dado que o mercado fala de “Fábrica”, o que eles vão implementar são “linhas de produção” e junto com isso todos os procedimentos que colocam o operário em linha. Planilhas de horas, métricas de linhas de código, ou pontos de função ou pontos de história ou qualquer bobagem dessas, gantt charts e cronogramas “precisos” de entrega, etc.
A metáfora está completamente errada. Desenvolvedores não são operários, e sim os “arquitetos” propriamente ditos. O trabalho de operário em software é do compilador, este sim, que empilha um byte sobre o outro seguindo uma especificação: o código do software.
Repetindo: o código do software é a especificação, a planta baixa, e o compilador é o operário que faz o trabalho braçal.
O que chamamos hoje de “arquitetos” não são arquitetos, na verdade não são nada. Não há como ser um arquiteto sem ser um programador sênior antes. Um bom programador pode se tornar um arquiteto.
Agora, o problema é que o conceito de “Fábrica” se espalhou rapidamente. O governo e as instituições de ensino abraçaram isso. Me deixa extremamente triste visitar áreas do Brasil onde as únicas opções
de trabalho para programadores são essas “Fábricas”. As faculdades também se depreciaram para atender essa demanda e formar “operários” com diplomas de “engenheiros”, e assim toda uma nova geração de programadores pensa com cabeça de operário.
Uma ressalva para ser politicamente correto: não tenho nada contra operários, muito pelo contrário, é uma profissão tão respeitada como qualquer outra. Porém, ninguém vende operários de obra como arquitetos e nem os próprios operários se acham arquitetos.
Eis porque digo que foi um desserviço: toda uma geração inteira de programadores desperdiçada pensando em software enquanto empilhar tijolo. Levará pelo menos mais 2 gerações inteiras para, talvez, conseguirmos reverter isso.
Agora pensemos: e se em vez de “Fábrica” mudássemos o termos para algo mais adequado como “Atelier de Software”? Como isso mudaria a forma como você pensa e trabalha com software?

quinta-feira, agosto 26, 2010

Projeto do ano... RapidSMS

Muitas iniciativas são expostas diariamente na internet, e a que conheci foi o RapidSMS.
O objetivo é salvar vidas eliminando a desnutrição com apenas um SMS. O projeto foi fundado pelo UNICEF inicialmente e depois portado para outras plataformas.

Conheça mais do projeto em:
http://en.wikipedia.org/wiki/RapidSMS
http://www.rapidsms.org/

Bloquear o desktop da máquina (lock desktop)

Para os aficionados (além de mim) em equipamentos portáteis, o bluetooth tem uma funcionalidade interessante em Linux e Windows.
O de travar a área de trabalho ao detectar o afastamento do dispositivo. Interessante que pode ser qualquer dispositivo. 

Perdeu o sinal, trava!

Para Windows é o btprox
O btprox é bastante limitado se comparado ao blueproximity. Mas não deixa de cumprir o papel a que foi proposto.

Para Linux é o blueproximity

A tela de configuração do btprox é simples e para travar o desktop é só colocar o comando:
rundll32.exe user32.dll, LockWorkStation 


Já no blueproximity:
fonte da imagem: http://marcelo.mmello.org/2010/08/sensor-de-presenca-no-linux-ativandodesativando-a-protecao-de-tela-do-seu-computador/

quinta-feira, agosto 19, 2010

Python Logging - Outro exemplo de log com gravação da excessão

Matt Wilson mostra como evoluir um sistema de logs e a versão final esta a seguir:

import logging, logging.handlers

# Make a global logging object.
x = logging.getLogger("logfun")
x.setLevel(logging.DEBUG)

# This handler writes everything to a file.
h1 = logging.FileHandler("/var/log/myapp.log")
f = logging.Formatter("%(levelname)s %(asctime)s %(funcName)s %(lineno)d %(message)s")
h1.setFormatter(f)
h1.setLevel(logging.DEBUG)
x.addHandler(h1)

# This handler emails me anything that is an error or worse.
h2 = logging.handlers.SMTPHandler('localhost', 'logger@tplus1.com', ['matt@tplus1.com'], 'ERROR log')
h2.setLevel(logging.ERROR)
h2.setFormatter(f)
x.addHandler(h2)

def g():

    1/0

def f():

    logfun = logging.getLogger("logfun")

    logfun.debug("Inside f!")

    try:

        g()

    except Exception, ex:

        logfun.exception("Something awful happened!")

    logfun.debug("Finishing f!")

if __name__ == "__main__":
    f()


fonte: http://blog.tplus1.com/index.php/2007/09/28/the-python-logging-module-is-much-better-than-print-statements/

quarta-feira, agosto 18, 2010

Esteganografia com Python

Photos

There may be a message hidden in this picture. Or not. Flickr photo by John C Abell
Georgia Tech researchers have developed a tool called Collage that will allow Internet dissidents to insert hidden messages into Twitter posts and Flickr images in order to circumvent the censorship measures imposed by oppressive governments.
‘This project offers a possible next step in the censorship arms race’
The tool, which is implemented in Python and uses the OutGuess framework, relies on a technique known as steganography to weave hidden messages into an image file. It uses an automated testing tool called Selenium to facilitate the deployment of the messages. The researchers believe that hiding subversive messages inside content that is indistinguishable from legitimate social network activity will reduce the chances of detection.
“This project offers a possible next step in the censorship arms race: rather than relying on a single system or set of proxies to circumvent censorship firewalls, we explore whether the vast deployment of sites that host user-generated content can breach these firewalls,” the project’s website explains. “We have developed Collage, which allows users to exchange messages through hidden channels in sites that host user-generated content.”

It’s worth noting that steganography is one method that was used by the Russian spy ring that was recently detected operating within the United States. As we noted last month, a lot of government surveillance is driven by automated keyword-matching and pattern analysis methods that do broad sweeps, but are blind to simple tricks like steganography. Obscuring the substance of a message in an image and deploying it in a nonthreatening and high-volume medium like a social network would make it harder to find.
The Collage software will be released soon and will be published on the Georgia Tech Network Operations and Internet Security (GTNoise) website.

link: http://www.wired.com/epicenter/2010/08/beat-censorship-by-hiding-secret-messages-in-flickr-photos/

Manuais do Opensuse 11.3 em Pt-BR

http://code.google.com/p/opensuse-startup-pt-br/downloads/list

Direto da comunidade brasileira atuante no opensuse.

sexta-feira, agosto 13, 2010

Comandos úteis no Linux - Como descobrir o processo que está utilizando uma porta

Caso vc não saiba o software que está bloqueando uma determinada porta, alguns comandos que podem ajudar.

netstat -nl | grep (mais uma vez o uso do grep para filtrar a saída de dados)
# netstat -nl | grep 1234

Resultado:
tcp        0      0 0.0.0.0:1234            0.0.0.0:*               LISTEN

E para descobrir o processo que está usando esta porta:
# fuser -n tcp 1234
Resultado: 
1234/tcp:             5133

então temos o porta/protocolo e logo em seguida o processo, bastando apenas um:

# kill 5133

Lembre-se que para "matar" um processo que você não seja o dono é necessário ser super usuário, e neste caso o root:
# su

quinta-feira, agosto 12, 2010

Verificar processos no Linux, sem visualizar o processo q originou a chamada


Para verificar processo no Linux:
# ps
Incrementando um pouco mais:
# ps faux

O grep utilizado abaixo em conjunto com o ps mostra o resultado apenas o que está escrito após o grep, neste caso usei " (aspas) pq a expressão tem um espaço.

Mas ao fazer:
# ps faux | grep "alguma coisa"
Ele retorna:
root     30665  100  0.1   3304   760 pts/0    S+   14:55   0:00     \_ grep alguma coisa
Resumindo, nada de interessante, além do próprio processo que o gerou.
E para não mostrar o processo que o gerou, é só mandar mais um grep "invertido" (ou contrário) [0] que não irá apresentar qq processo que tenha grep.
# ps faux | grep "alguma coisa" | grep -v grep
Ele irá retirar o processo do grep... não mostrando nada!

Se alguém conhece alguma outra magia negra com o mesmo resultado, comente que eu publico.

[0] do man grep:
-v, --invert-match Invert the sense of matching, to select non-matching lines.  (-v is specified by POSIX.)

Abraço,

segunda-feira, agosto 09, 2010

Drive DVD/CD não detectado no Windows

Percebi que minha máquina não mostrava a unidade de DVD, verifiquei as configurações, retirei (não é hot-swap mas é possível retirar) e verifiquei que não havia danos aparentes.

Vamos a procura de alguém já havia passado pelo problema, eis que a Microsoft disponbiliza uma ferramenta para corrigir este problema.

O link: http://support.microsoft.com/gp/cd_dvd_drive_problems

Concordando com a instalação, ele verifica e corrige o problema.

A Microsoft tem palmas da minha parte, facilitando as correções de problemas que o Windows apresenta.

Boas práticas para o desenvolvimento de software utilizando banco de dados

http://java.sapao.net/Home/evitar-super-usu%C3%A1rios-para-acessos-a-bases-de-dados
http://java.sapao.net/Home/evitar-command-injection

Exemplo de exportação para CSV no PostgreSQL

Post da lista PostgreSQL por Shairon Toledo:

Vc pode usar o psql.

test_development=# \f ';'
Field separator is ";".
test_development=# \a
Output format is unaligned.
test_development=# \t
Showing only tuples.
test_development=# \o /tmp/teste.csv
test_development=# select * from documents;
test_development=# \o
test_development=# \q
Este último comando é para Linux
$ cat /tmp/teste.csv
 
 

sexta-feira, agosto 06, 2010

Python Logging - Como implementar um sistema de log na sua aplicação

Tenho a necessidade de colocar um script para funcionar em um servidor público que não tenho acesso senão via browser/aplicação cedida pelo hospedeiro.
A forma que encontrei foi o de logar todas as ocorrências. Como Python tem o módulo logging resolvi procurar e encontrei um exemplo funcional. Em tempo, ele não fazia rotação de log, o que é importante para o arquivo não crescer demasiadamente segue a devida alteração.

Desculpe pela falta de syntaxhighlighting pq troquei o "desenho" do blog e o recurso acabou se perdendo.

#!/usr/bin/python

import logging
import logging.handlers

def configure_logger(log_file):
    """Accepts a fully-qualified filename to the log file.

    Returns a fully-configured logger object.
    """
    logger = logging.getLogger('ProgramName')
    log_formatter = logging.Formatter('%(created)-13s %(asctime)s Pid:%(process)s %(levelname)s %(message)s Thread:%(thread)s Thread Name:%(threadName)s Name:%(name)s File:%(filename)s Module: %(module)s Function Name:%(funcName)s')
    file_handler = logging.handlers.RotatingFileHandler(log_file, maxBytes=1024, backupCount=5)            
    #file_handler = logging.FileHandler(log_file)
    file_handler.setFormatter(log_formatter)
    logger.setLevel(logging.DEBUG)    
    logger.addHandler(file_handler)
    return logger

if __name__ == "__main__":
    LOG = configure_logger('logfile.txt')
    LOG.debug('This is debug level')
    LOG.info('This is info level')
    LOG.warning('This is warning level')
    LOG.error('This is error level')   
    LOG.critical('This is critical level')


fontes:
http://schof.org/2010/basic_python_logging/
http://schof.org/basic_python_logging.py

quarta-feira, agosto 04, 2010

Questão de prova MCDST - Processo com consumo de recursos em excesso degradam performance

O controle de recursos dos processos do sistema operacional é possível fazê-lo através do taskmgr.exe ou Gerenciador de Tarefas (no caso do Windows).
Tenho utilizado uma grande demanda de processamento no computador e percebendo que o antivirus estava consumindo uma boa fatia junto com a virtualização, resolvi por em prática as aulas do MOC.
O processo é relativamente simples, CTRL+ALT+DEL ou então executar taskmgr, ao verificar a tarefa que tem o mais consumo de CPU na aba Processos, clique com o botão direito na tarefa e Definir Prioridade, selecione a opção que lhe convier. Novamente botão direito na tarefa e Definir Afinidade, e selecione o processador que deseja continuar executando. No caso da afinidade, só será mostrado qdo a máquina for multiprocessada, no caso das máquinas com dois (ou +)  núcleos ou dois (ou +) processadores (físicos).
Abaixo um roteiro com as imagens.
Para confirmação da carga de processamento com o Monitor de Recursos (no caso do Windows 7)
A confirmação após algum tempo (a tarefa do antivirus terminou!) com o término da carga excessiva do processo.