quinta-feira, janeiro 28, 2010

Descobrir se o PostgreSQL está funcionando... ou qualquer outro software

netstat -an | find /i "5432"

netstat - mostra as portas que estão disponíveis no sistema
find - procura um texto no resultado do find

Pra funcionar no Linux é só trocar o find por grep sem o "/i" que tbém funciona.

segunda-feira, janeiro 25, 2010

Paradigmas de desenvolvimento

Mensagem da lista Python-Brasil sobre os paradigmas de desenvolvimento:

============
Pergunta do Jackson
Oi pessoal, recentemente li um artigo (http://werther.desenvolvatec.com/filosofia/prog-futuro/) que me fez relembrar de uma dúvida antiga sobre o futuro da programação. Hoje o paradigma corrente é a orientação a objetos, (o qual aprendi os conceitos usando o Python!) minha curiosidade é se já existe algo mais a frente disso, um novo paradigma de programação.
No semestre passado participei de um mini-curso de Java onde coloquei esta questão, mas nem o instrutor e nem o artigo acima responderam a minha curiosidade...
============




Resposta do Luciano:
============
Se você quer aprender um outro paradigma, estude programação
funcional, não só porque é o futuro mas também porque é passado. É
simplesmente atemporal, como o cálculo. É o futuro porque muito da
ciência moderna se baseia nele. Da mesma forma, muito da ciência da
computação se baseia nas funções recursivas e no cálculo lambda.

Mas ao conversar sobre pardigmas, eu preciso citar o Shriram
Krishnamurthi, autor do melhor livro de teoria de linguagens de
programação que eu já estudei (e o livro é gratuito, basta baixar):

"""Programming language ‘‘paradigms’’ are a moribund and tedious
legacy of a bygone age. Modern language designers pay them no respect,
so why do our courses slavishly adhere to them? This paper argues that
we should abandon this method of teaching languages, offers an
alternative, reconciles an important split in programming language
education, and describes a textbook that explores these matters."
http://www.cs.brown.edu/~sk/Publications/Papers/Published/sk-teach-pl-post-linnaean/

Resumindo e reinterpretando o artigo: "paradigmas" são simplificações
didáticas, e como tais, necessariamente vagos e incompletos. Não é
possível dizer que a linguagem X "é mais orientada a objetos" que a
linguagem Y. É possível dizer que a linguagem X implementa
determinadas características e a linguagem Y implementa outras.

Por exemplo, Smalltalk e Python implementam tipagem dinâmica, Java
não. Python e C++ implementam herança múltipla, Java não. Python e
Scheme implementam funções como objetos de primeira classe, Java não.
JavaScript e Python implementam closures, Java não.

O que isso significa? Que aprender Java, e apenas Java, não basta para
conhecer os conceitos fundamentais de linguagens de programação.
Aprender apenas Python também não é suficiente (mas a relação custo x
benefício, em termos de contato com diferentes "paradigmas", é bem
melhor para quem estuda Python, que alguns definem como
"multi-paradigma").

O Krishnamurthi diz que não se pode aprender teoria de linguagens de
programação apenas estudando paradigmas e tendo uma visão panorâmica
de linguagens, no estilo do livro do Sebesta (provavelmente mais usado
em teoria de PL no Brasil e no mundo).

Certas abstrações a gente só consegue incorporar tendo um contato
muito mais íntimo. Por exemplo, eu já havia lido um monte sobre
closures, e tinha uma idéia razoavel do que eram, mas só foi realmente
entender bem o conceito quando implementamos closures num pequeno
interpretador em Scheme, durante o curso de Princíptios de PL que eu
fiz estudando o livro do Krishnamurthi. Continuations era um conceito
ainda mais vago para mim, até porque não tem como entender isso sem
ter muito claro closures, e finalmente depois de fazer exerícios e
superaquecer o cérebro eu agora sei o que são.

Falando nisso, closures é algo intimamente relacionado ao "paradigma"
funcional.
============

Hospeda e compila códigos em diversas linguagens

O pessoal da lista python-br indicou o ideone para postar código e além de compartilhar ele ainda compila.

http://ideone.com/

Software trial (licença temporária) para testes

A Microsoft disponibiliza software (trial) de diversos produtos:

Sistema operacional
Banco de dados
E software para controle e gerenciamento
Além é claro de cloud.

http://www.microsoft.com/everybodysbusiness/en/us/products.aspx?CR_CC=100192591

quinta-feira, janeiro 14, 2010

Second Shot para exames Microsoft

Pra quem está tentando as certificações, chegou uma ótima oportunidade, que começou no dia 13/01/2010.

http://www.prometric.com/Microsoft/SS_MCP_form.htm?s=ssm

Boa sorte!!!

terça-feira, janeiro 12, 2010

Quer saber como era um site de anos atrás...

Então consulte:
http://www.archive.org/web/web.php

Pesquisei por UOL e já em 1996 era utilizado Java no portal.

segunda-feira, janeiro 11, 2010

10 mentiras utilizadas, que se aplica a diversos ramos de atividade...

10 MENTIRAS UTILIZADAS PARA GRANDES CLIENTES

ESCOLA FOCUS FOTOGRAFIA NOTICIAS ENIO LEITE FOCUSFOTO CURSOS FOTOGRAFIA DIGITAL
10 MENTIRAS UTILIZADAS PARA GRANDES CLIENTES ENGANAREM PEQUENOS FOTOGRAFOS

1) “Faça esse trabalho barato (ou de graça) e no próximo pagaremos melhor”
Nenhum profissional que se preze daria seu trabalho de mãos beijadas na esperança de cobrar mais caro mais tarde. Você consegue imaginar o que um advogado diria se você dissesse “me defenda de graça dessa vez que na próxima vez que eu precisar de um advogado eu te chamo e pago melhor”. Ele com certeza iria ir da sua cara.


2) “Nós nunca pagamos 1 centavo antes de ver o produto final”
Essa é uma pegadinha. A partir do momento que você foi contratado para fazer o trabalho você DEVE pedir uma entrada. O motivo é simples, você está trabalhando desde o momento que se dispõe a fazer a reunião de briefing. Talvez um cliente mais inexperiente queira pagar após ver alguns esboços. Cabe a você aceitar ou não.


3) “Esse trabalho será ótimo para seu portfólio! Depois desse você vai conseguir muitos outros”
Essa é uma das mais típicas. E costuma fazer vítimas principalmente entre jovens que ainda estão estudando. Para não cair nessa, basta pensar “quanto o seu cliente vai faturar com o seu trabalho?”. Além disso, não esqueça que, mesmo que ele indique seu trabalho para outras empresas, com certeza ele dirá quanto custou (ou se foi de graça) e imagine o que os próximos irão querer?


4) Olhando para seus estudos e rascunhos: “Veja, não temos muita certeza se queremos seu trabalho. Deixe esses estudos comigo e vou falar com meu sócio/investidor/mulher, etc e depois te dou uma resposta”
Não dou 5 minutos para ele ligar para outros designers com seus estudos e conceitos criados na mão barganhando melhores preços. Quando você ligar de novo ele dirá que seu trabalho está muito acima do mercado, blá blá blá, e que Fulano Fotógrafo vai fazer o trabalho. Mas como eles conseguiram outro designer mais barato? Lógico, você já passou  toda a idéia de com a foto será feita!  Economizou horas para o novo fotógrafo que vai pegar o trabalho. Então, enquanto você não entrar em acordo com seu cliente NUNCA DEIXE NADA CRIATIVO no escritório dele!


5) “Veja, o job não foi cancelado, somente adiado. Deixe a conta aberta e continuaremos dentro de um mês ou dois”
Provavelmente não. Seria um erro você não faturar o que foi feito até o momento esperando que o trabalho continue depois. Ligue em dois meses e você verá que alguém estará trabalhando no job. E adivinhe! Eles nem ao menos sabem quem você é… e o dinheiro do início do trabalho, lógico, já era!


6) “CONTRATO?? Nós não precisamos assinar contratos! Não estamos entre amigos?”
Sim, estamos. Até que alguma coisa dê errada ou ocorra um mal-entendido, e você se transforme no meu maior inimigo e eu sou o seu “fotografo estúpido”, aí o contrato é essencial! Simples assim! Ao menos que você não ligue em não ser pago. Qualquer profissional usa um contrato para definir como será o trabalho e você deve fazê-lo também!


7) “Envie-me a conta depois que o material for pra gráfica”
Por que esperar por esse deadline irrelevante? Você é honesto, não? Por que você deveria ficar preso a esse deadline? Uma vez entregue o trabalho, fature! Essa desculpa possivelmente é uma tática para atrasar o pagamento. Assim  suas fotos vão pra gráfica, lã efetuam alterações na sua imagem, o cliente alega que precisou de outro fotografo, pois seu materila não estava adequado para impressão e pronto! 

8 ) “O último designer fez esse job por R$ XX “
Isso é irrelevante. Se o último fotografo era tão bom por que ele te chamou? E quanto o outro cobrava não significa nada pra você. Pessoas que cobram muito pouco pelo seu tempo acabam fadadas ao insucesso (por auto-destruição financeira). Faça um preço justo, ofereça no máximo 5% de desconto e não abra mão disso.


9) “Nosso orçamento para esse job é de XX reais”
Interessante, não? Um cara sai para comprar um carro e sabe exatamente quanto ele vai gastar antes mesmo de fazer uma pesquisa. Uma quantia de trabalho custa uma quantia de dinheiro. Se seu cliente tem menos dinheiro e ainda assim você quer pegar o trabalho, dedique menos horas a ele. Deixe isso bem claro ao seu cliente, que você dedicará menos tempo que o estimado para finalizar o trabalho porque ele não pode pagar por mais horas. A escolha é sua.


10) “Estamos com problemas financeiros. Passe o trabalho para nós e, quando estivermos em melhor situação, te pagamos.”
Claro, mas pode contar que, quando o dinheiro chegar, você estará bem lá no final da lista de pagamentos. Se alguém chega ao ponto de admitir que está com problemas financeiros então provavelmente o problema é bem maior do que parece. Além disso, você por acaso é um banco para fazer empréstimos? Se você quer arriscar, pelo menos peça dinheiro adicional pelo tempo de espera. Um banco faz isso, não faz? Por que provavelmente esse é o motivo deles quererem atrasar seu pagamento, ter 6 meses de dinheiro “emprestado” sem ter que pagar juros, o que não aconteceria se ele tivesse que emprestar do banco. Não jogue dinheiro fora!

Bom, o motivo de tudo isso não é deixar você paranóico ou coisa do tipo, mas sim injetar um pouco de realidade no mundo de fantasia da maioria dos fotografos. Você certamente vai tratar com pessoas muito diferentes de você. As motivações e atitudes certamente são diferentes. Vemos, muitas vezes, exemplos de pessoas envolvidas em situações com a mais nobre das intenções e acabam literalmente se dando mal. Porque a maioria dos fotografos enxerga os trabalhos como uma oportunidade de fazer aquilo que mais gostam com dedicação, simplesmente porque amam o que fazem! A outra parte não tem a negociação tão idealizada ou romantizada, muito pelo contrário.
Como lidar com todas essas coisas e ainda assim fazer um trabalho criativo? Boa pergunta! É por isso que ir atrás da informação é importante. Você aprende a trabalhar com todas as técnicas da fotografia, mas não aprende a arte da negociação. Muitos fotógrafos ignoram este aprendizado, o que é um grande erro. Sugerimos que o mínimo  de marketingseja incorporado em sua vida profissional, assim certamente você não sentirá seu trabalho como uma grande perda de tempo e dinheiro!
FOCUS ESCOLA DE FOTOGRAFIA
DESDE 1975

 

sexta-feira, janeiro 08, 2010

Recuperar banco no PostgreSQL

Mensagem postada na lista pgbr-geral

PostgreSQL 8.2.7

1º Passo copiar a pasta "data" (Recovery) exemplo(d:\rec\data)
2º Eliminar usuário postgres (net user postgres /delete)
3º Instalar PostgreSQL
4º Parar o Serviço (net stop pgsql-8.2)
5º executar pelo dos (pg_ctl start -D "d:\rec\data")
6º após somente executar o comando de backup pelo pg_dump -U postgres bco > bkp_bco.sql

Rodrigo Della Justina.

quinta-feira, janeiro 07, 2010

Painel de controle melhorado no windows 7 (32 e 64 bits)

Alguns preferem chamar o recurso de God mode, ou modo Deus!
Com este recurso é possível mostrar outros recursos além do painel de controle tradicional.

Veja a matéria:
Recentemente foi descoberto (não sei por quem) um recurso oculto no Windows que está entusiasmando muito os fãs do sistema operacional. Quando ativado, um painel com diversos atalhos é criado, através do qual o usuário pode ter acesso a muitos controles do sistema operacional dentro de uma única pasta ou janela. Trata-se do God Mode (Modo Deus). Este recurso funciona no Windows 7 e no Vista (testado na versão 32 bits).
Para criar a pasta God Mode, faça o seguinte. Cria uma pasta na área de trabalho e em seguida renomeie a pasta para o nome abaixo:
GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
Assim que for renomeada, o ícone da nova pasta irá mudar, ficando semelhante ao ícone do painel de controle, conforme figura acima (no Windows 7). Quando abrir esta pasta o usuário terá acesso rápido e fácil a muitas funções interessantes do sistema, separadas por categoria (Central de Rede, Controle de Contas de Usuário, Sincronização, Dispositivos, Ferramentas Administrativas e muito mais. Posteriormente você poderá mover esta pasta para outro local, caso não queira deixar a mesma no seu desktop.

Motivação

quarta-feira, janeiro 06, 2010

Ferramentas para XEN

Aproveitando pra mostrar a ferramenta, o vSphere da VMWare, um vídeo no final!

Mais uma da série: Mensagem postada na lista MASOCH.


Boa tarde,

A algum tempo trabalho com virtualizacão, passando desde bochs até Xen.
Atualmente utilizamos duas solucões de virtualizacão, ambas atendem às nossas necessidades. Uma delas é utilizada para virtualizacão de toda a Infra-estrutura interna e a outra para a Infra-estrutura externa.
Estou acompanhando esse tópico e vi o pessoal comentando sobre algumas solucões de virtualizacão(Xen Server, VMware vSphere, VMware Server, VMware ESXi, VirtualBox) existentes no mercado e bem difundidas, por isso deixo aqui um pouco da minha experiência com duas ferramentas não citadas nesse tópico e que não são bem difundidas no mercado.

Ganeti é um projeto opensource que utiliza os hypervisors Xen e KVM. É desenvolvido por um time da Google e inclusive é utilizado em parte de sua Infra-estrutura interna. Por ser uma solucão opensource, sem servico de suporte acaba não se tornando uma opcão viável para ambientes de producão, principalmente em empresas de médio/grande porte. O sistema cumpre muito bem o papel de gerenciador de cluster onde você tem um pool de recursos espalhado por diversas máquinas físicas(que não precisam ser necessariamente de hardware idêntico, geralmente commodity hardware) a sua disposicão para virtualizar seus servidores e gerencia-los, tudo através de shell porém com a possibilidade de utilizacão da API inclusa no sistema. O site do projeto é http://code.google.com/p/ganeti

AppLogic é um sistema proprietário desenvolvido pela 3Tera que utiliza o hypervisor Xen, cobre a maioria das funcionalidades encontradas em outras solucões de virtualizacão, possui uma interface web fantástica que até o momento desconheco qualquer outra solucão de virtualizacão(proprietária ou não) com algo ao menos parecido. O objetivo do AppLogic é oferecer um ambiente IaaS(Infra-structure as a Service) sobre commodity hardware e que o seu cluster seja gerenciado através de um browser(firefox, internet explorer...) usando sua interface web 2.0. Não é um sistema bem difundido no mercado, poucas pessoas o conhecem, recomendo entrar no site para entender melhor como funciona essa solucão que é realmente muito interessante e viável. Dispõe de HA sem necessidade de um Storage pois o disco da máquina virtual sempre estará sincronizado entre duas máquinas físicas(acredito que usando drbd), caso uma das máquinas físicas falhem o sistema se encarrega de iniciar a máquina virtual na outra máquina física. O site do sistema é http://www.3tera.com

Ambas as solucões citadas estão provando ser muito estáveis, a cada mês que passa fico mais feliz e satisfeito!

A mais de 2 anos venho pesquisando/testando diversas solucões de virtualizacão para entender cada uma delas e o que oferecem... meu sonho era encontrar exatamente o que o nosso amigo Marcio questionou na lista, uma solucão de virtualizacão com capacidade de processamento distribuído, mas isso não existe... posso estar errado, mas na minha opinião não existe! Acredito que por diversos fatores, o principal deles seria com relacão ao acesso remoto à memória, pois se vamos distribuir processamento, vamos distribuir memoria também... sei que isso pode ser feito através de RDMA(Remote Direct Memory Access) mas acredito que essa solucão é somente utilizada em HPC(High-Performance Computing) e apenas da acesso direto à memória. Imaginar um sistema operacional(Windows, Linux...) rodar sob uma Infra-estrutura virtualizada e distribuída seria inviável e teríamos mais problemas do que solucões!

Abracos,

Renato Fernandes
Administrador de Rede

WEBTraffic | Inteligência em Internet

Outra mensagem do Dilson sobre o tema:

Seguem alguns links de vídeos sobre o assunto e outros adicionais interessantes:

Vídeo "oficial":
http://download3.vmware.com/vdcos/demos/FT_Demo_800x600.html

Outro sobre FT:
http://www.hypervizor.com/2009/05/video-vsphere4-unleashed-04-fault-tolerance/

Diversos:
http://www.hypervizor.com/2009/05/video-vsphere4-unleashed-05-hot-add-and-thin-provisioning/
http://www.hypervizor.com/2009/05/video-vsphere4-unleashed-06-storage-vmotion/

http://www.hypervizor.com/2009/04/video-vsphere4-unleashed-01-installing-esx4/
http://www.hypervizor.com/2009/04/video-vsphere4-unleashed-02-installing-vcenter4/
http://www.hypervizor.com/2009/04/video-vsphere4-unleashed-03-%E2%80%93-licensing-configuring-vcenter/

Acredito que muitos vão gostar e arrisco dizer que até vão ficar impressionados ( não pelo que está sendo demonstrado, mas pelo que se pode fazer :-)

Att,

Dilson Augusto Catói.
NOC - Neogrid.