Google indexa conteúdo em Flash
O Google anunciou há algumas horas que melhorou seu algoritmo de indexação para texto dentro de arquivos em Flash (SWF).
Mais informações em inglês no Official Google Webmaster Blog.
Sem comentários »Sintaxe XML e funções PHP
No link abaixo podemos encontrar um resumo da sintaxe XML para caracteres especiais como: & (E comercial), > (maior), < (menor), ' (apóstrofos) e " (aspas):
http://www.w3schools.com/Xml/xml_syntax.asp
As funções em PHP relacionadas a entidades são:
A função htmlspecialchars converte exatamente os caracteres necessários para o XML.
Sem comentários »SVN Subversion
Para quem quer conhecer melhor como funciona o sistema de controle de versão, este livro online gratuito da O’Reilly é completo:
Sem comentários »Servidor LAMP no Ubuntu Linux
Aqui vamos apenas registrar um link que explica de forma fácil como configurar um servidor Linux com Apache, MySQL e PHP.
https://help.ubuntu.com/community/ApacheMySQLPHP
O texto inclui também instruções para o Ubuntu 8.04 (Hardy Heron).
Mais uma vez, parabéns à comunidade Ubuntu.
Sem comentários »RAR no Ubuntu 8.04
Para abrir arquivos RAR no Ubuntu Hardy Heron utilizando o compactador de arquivos padrão da distribuição basta instalar o pacote rar.
Abra uma janela de terminal (no menu Aplicações/Acessórios) e digite o comando:
$ sudo apt-get install rar
Se solicitado, digite sua senha de instalação.
Assim, na próxima vez que abrir um arquivo com a extensão RAR, o compactador de arquivos funcionará corretamente.
Sem comentários »Mudar o layout do teclado on-the-fly em XFCE (e provavelmente em outros também)
Problema:
Em um teclado com dead-keys, programar em linguagens onde o uso de apóstrofe, aspas simples e aspas duplas. Python, por exemplo, e seus “”".
Solução:
setxkbmap é um programa que altera o seu layout de teclado. Está já pré instalado no XUbuntu 7 e certamente em outras distros.
Adicione dois (ou quantas línguas precisar) ícones onde for mais eficiente para o seu trabalho. O comando é:
setxkbmap [mapa do teclado] [-variant [variante]]
Exemplos:
Para US International (acentos e etc)
setxkbmap us -variant intl
Para US sem dead-keys
setxkbmap us
Nova página inicial
Colocamos uma nova página inicial em nosso site que faz parte de nossa estratégia local de serviços.
O primeiro recurso oferecido é uma busca cooperada com o Google que indexa 45 endereços de sites da região de Mogi das Cruzes. Este número vai aumentar.
Ao mesmo tempo começamos a planilhar uma lista de usuários da região que utilizam mensageiros instantâneos como MSN e Skype no intuito de formar uma comunidade local. Para participar basta preencher o formulário da página - é grátis.
Se você tem alguma dúvida ou comentário sobre estes recursos por favor avise-nos.
Até breve.
Sem comentários »Ubuntu 8.04 num notebook tablet HP tx1070br
O Ubuntu (www.ubuntu.com) é um distribuição Linux muito amigável.
As versões anteriores a 8.04 não rodaram ao tentar instalar direto do live CD num notebook tablet da série tx1000 da HP com processador AMD Turion 64 x2 (arquitetura AMD64). Felizmente a versão 8.04 lançada ontem (24/04/2008) funcionou muito bem.
Para que a placa wireless funcionasse corretamente apenas tive que liberar o uso de drives proprietários. O mesmo aconteceu para a placa de video NVIDIA.
Bluetooth funcionou perfeitamente num celular Sony Ericsson.
Depois instalei Skype utilizando as instruções contidas neste link já que até o momento não existe uma versão do Skype para arquitetura AMD64.
O próximo passo será pesquisar a possibilidade de habilitar o uso da caneta e da tela touch screen.
3 comentários »Fontes TTF grátis
Neste site você encontra diversas fontes grátis para Windows e Mac:
A venda do CD com as fontes ainda não é realizada para o Brasil mas você pode fazer download dos arquivos diretamente do site.
Sem comentários »Domínios .COM.BR liberados para registro por Pessoa Física
Acabei de receber por e-mail o novo anúncio do Registro.br, orgão que controla o registro de domínios na internet brasileira…
Subject: Registro COM.BR para pessoas fisicas
Prezado(a) Usuário(a),
COM.BR com CPF
————–
Por decisão do CGI.br, o domínio COM.BR, destinado a atividades
comerciais genéricas na Internet, também poderá ser registrado sob um
CPF. Ou seja, pessoas naturais com atividades comerciais e afins
poderão registrar domínios COM.BR.
Esta modificação terá efeito a partir do dia 01/05/2008.
Inicialmente, somente o domínio COM.BR estará disponível nesta nova
categoria, genérica, que permite registro tanto com CNPJ quanto com
CPF. Lembramos que, para manter a transparência do registro de
domínios .br, pessoas físicas responsáveis por domínios COM.BR estarão
sujeitas aos mesmos procedimentos das entidades cadastradas
previamente.
Verificação DNS
—————
O Registro.br monitora constantemente o correto funcionamento de seus
domínios. Fique atento aos avisos de problemas DNS e siga nossas
recomendações para evitar problemas aos usuários de seus sítios.
Agradecemos a atenção,
Registro.br
http://registro.br/
Como documentar outras linguagens que não o PHP?
Existem diversas ferramentas na web para gerar a documentação de código baseada em comentários internos ao código.
Um exemplo é o Doxygen, que é capaz de documentar C++, C, Java, Objective-C, Python, IDL (Corba e Microsoft), Fortran, VHDL, PHP, C#, e até certo ponto D.
O importante não é usar uma ferramenta que extraia os comentários do seu código fonte e gere uma documentação bonitinha em HTML. Claro, isso é um atrativo, mas importante mesmo é que o código seja consistente, que os comentários dentro do código sejam razoavelmente descritivos em direcionar o programador e que a formatação do código seja sempre a mesma. Tal feito não é alcançado pela ferramenta que seu time usa para documentar (como Doxygen ou PHPDocumentor), mas sim através da imposição de um Manual de Estilo.
Cada programador tem uma forma de programar, em função de suas características pessoais. Mas na hora de programar comercialmente é importante que todos os membros do time, tanto do presente como do futuro, consigam compreender o código por completo para reutilização do mesmo. E é aí que o Manual de Estilo entra para fazer com que todos escrevam de forma similar.
Um Manual de Estilo deve ser imposto. Claro que em sua implantação sugestões podem (e devem) ser ouvidas, mas todos os envolvidos no projeto precisam segui-lo à risca. Aqui está uma sugestão de peso, o manual de estilo da Bell Labs para a linguagem C, última revisão de Junho de 1990. Seguindo este modelo, é possível criar um manual de estilo que se encaixe à sua empresa. Hoje, talvez pela popularidade de outros como PHPDocumentor e Doxygen, não se deve descartar a possibilidade de utilizar elementos destes dois últimos no seu manual.
Sem comentários »Como documentar seu PHP - phpDocumentor
Se você já trabalhou em um projeto grande, sabe que documentar o código é fundamental. Afinal de contas, como se lembrar de todas as funções e classes específicas do projeto?
Não tema, phpDocumentor está aí para nos salvar. A partir de certos tags de comentário que você coloca no seu PHP, o phpDocumentor monta uma documentação completa - bonitinha e muito prática - do seu projeto, com todas as variáveis que você quer mostrar, dependências, etc. Um pequeno exemplo:
/**
* Pequeno exemplo do que pode ser feito com o phpDocumentor. Cheque se o usuário está logado e some até dois números.
* @uses EstaLogado
* @param int $a Aqui é o primeiro número a ser adicionado.
* @param int $b O segundo número a ser adicionado, se não definido será 0.
* @return int O resultado de $a+$b
*/
function AeB($a, $b=0)
{
EstaLogado();
return $a+$b;
}
Na documentação gerada pelo phpDocumentor você vai encontrar algo como:
AeB (line 431)
Pequeno exemplo do que pode ser feito com o phpDocumentor. Cheque se o usuário está logado e some até dois números.
* return: O resultado de $a+$b.
* uses: EstaLogado
int AeB (int $a[, int $b = 0])
* int $a: Aqui é o primeiro número a ser adicionado.
* int $b: O segundo número a ser adicionado, se não definido será 0.
Mais informações em http://phpdoc.org/
1 comentário »Mudar o usuário do Apache
Se você quer que o seu httpd rode com um usuário ou grupo diferente, você deve iniciar o httpd como root e depois trocar.
User/Group: o nome ou número do usuário ou grupo que você quer que o Apache use. Fique atento à segurança.
<IfModule !mpm_netware_module>
User ###SEU_USERNAME_AQUI###
Group ###SEU_GRUPO_AQUI###
</IfModule>
O que é um registro de domínio
Registrar um domínio na internet é similar a reservar um nome, ou uma marca no mundo real.
Você protege seu nome ou o nome de sua empresa e evita que outras pessoas façam isso antes, com boas ou más intenções.
A diferença é que na internet existem diversos “sufixos” - extensões que podem ser escolhidas para acompanhar o nome de sua empresa e as vezes empresas com o mesmo nome mas em países diferentes tem domínios parecidos, por exemplo:
- intermol.com.br - nós aqui no Brasil
- intermol.net - fabricante de molduras na Espanha
- intermol.co.uk - empresa química no Reino Unido
Dentro do mesmo país também podem ocorrer casos de empresas com mesmo nome atuando em ramos distintos. Neste caso fica com um domínio quem registrar primeiro. Nós registramos no Brasil o domínio intermol.com.br e poderíamos ter registrado nos EUA o domínio intermol.com mas uma outra empresa americana já havia feito isso.
No Brasil existe um orgão que controla todos os domínios que terminam com extensão “.br”.
Você mesmo pode consultar os domínios registrados no Brasil e a disponibilidade de registro. Entre no site Registro.br clicando aqui e digite o nome de um domínio, por exemplo: “intermol.com.br”. Em seguida clique no botão “Pesquisar”. Assim você saberá se um domínio já está registrado ou não.
A extensão “.br” acomoda ainda empresas de ramos diferentes através de categorias de domínio. Por exemplo:
- .com.br (empresa comercial)
- .edu.br (entidade de ensino superior)
- .gov.br (entidades do governo federal)
Para ver a lista completa de extensões no Brasil clique aqui.
Algumas extensões de domínio no Brasil requerem CNPJ para registrar e outras somente CPF.
O Registro.br cobra hoje R$ 30,00 anuais para manter um domínio com extensão “.br”.
Este valor não inclui a hospedagem do site que será abordada num próximo artigo.
É necessário um conhecimento técnico para registrar um domínio e este serviço é prestado pela Intermol através do pagamento de uma pequena taxa.
Sem comentários »Conceitos de programação - parte 1
Programar é um brinquedo. Passamos horas nos divertindo ao usar meios eletrônicos para resolver problemas próprios ou alheios.
Porém, há limites. A expansão de nossas habilidades vem com a capacidade de produzir mais programando cada vez menos. Como no mundo do software livre e aqui na Intermol sempre temos o futuro em mente, há dois aspectos básicos na programação de cada detalhe, apectos que observamos no nosso cotidiano. Ambos vindos dos 20+ anos de experiência de programação de cada membro. Temos a parte e o todo. Neste artigo iremos analizar a parte.
Cada função desempenha uma e somente uma função.. Se criamos uma função pra somar A+B, ela vai apenas somar A+B e não vai fazer mais nada - dois números entram, um número sai. A função não deverá fazer mais nada, nem crescer com mais possibilidades e complicações.
Se queremos uma função pra fazer A+B+C, será escrita outra função, mesmo que ela use a primeira. Caso ela use a primeira função criamos o que se chama dependência. O controle de dependências deve ser examinado com cuidado para garantir a qualidade do código final. É normal que comportamentos um dia tido como normais sejam no futuro tido como bugs - realizar consertos em funções dependentes pode se tornar desastroso. Por isso é necessário que se façam validações (testes) das funções de forma automatizada.
Pra PHP, uma ferramenta fácil pra validar funções individuais é o PHPUnit. Ao escrever a função, deve-se cadastrar sua contra parte em PHPUnit. O PHPUnit é uma ferramenta que executa a sua função com uma série parâmetros que você tenha selecionado, e compare com os resultados que você espera. A validação de funções deve começar com as funções de menor número de dependências. Mesmo sem o PHPUnit fazer uma validação automatizada de uma função é fácil: basta executar as funções com os parâmetros a serem testados e validar seu retorno.
Com o tempo, temos pacotes de funções (e de classes) bastante sólidos que podem ser integrados em um projeto subsequente. Essas funções e classes compõem a parte. No próximo artigo será discutido como organizar e integrar estes pacotes.
1 comentário »Como quebrar uma tabela do tipo MyISAM a ponto de recuperá-la via SQL
Saber isso é útil para podermos testar nossos aplicativos em situações de risco.
Em um típico servidor Debian, você encontrará os bancos de dados em /var/lib/mysql. Cada banco tem seu próprio diretório, composto de 3 arquivos por tabela. Uma tabela MyISAM vai estar então armazenada em:
- [tabela].frm - dados de criação da tabela (campos, etc);
- [tabela].MYI - índice (um ‘cache’ onde parte dos dados é duplicada pra que o acesso seja mais rápido);
- [tabela].MYD - onde os dados são efetivamente guardados.
Não parece ser muito comum arquivos .frm ou MYI serem corrompidos. Pelo menos até o momento não tive a felicidade de encontrar problemas com eles. O que acontece com freqüência em alguns servidores mais populares é corromper o MYD.
O arquivo MYD é um bando de dados. Como googlar pela estrutura do MYD não retornou nada de cara, vamos apelar pra engenharia reversa. Os dados parecem estar gravados da seguinte maneira:
- 6 bytes pra demarcar o começo de uma linha;
- 0-2 bytes pra demarcar o campo (depende do tipo de campo);
- Dados (o que estamos efetivamente guardando).
Ficamos com um arquivo assim:
Começo de linha - Campo - Dados - Campo - Dados - Começo de Linha - Campo - Dados ….
Inserir um dado com os mesmos bytes dos marcadores não vai corromper a tabela. MySQL não é tão burro assim. Corromper o dado em si, mesmo que seja feito diretamente no arquivo, também não vai corromper a tabela - só vai prejudicar o dado.
Para matar a tabela, mate os marcadores. Substitua-os por qualquer outra coisa usando um editor hexa como beav (apt-get install beav). Quanto mais marcadores você matar, mais problemas vai dar para o REPAIR TABLE.
O REPAIR TABLE parece usar o arquivo de índice para ajudar a recuperar dados. Se a sua estrutura usa indexação, em geral menos dados são perdidos.
1 comentário »Os 10 Princípios da Economia traduzidos
Outra de economia: aqui vai uma tradução dos dez princípios fundamentais para os que não possuem PhD:
Infelizmente, novamente em inglês.
1 comentário »Web semântica
O video abaixo (em inglês) ilustra de forma didática, o que é e como funcionaria a web semântica.
Vale a pena conferir também a extensão Operator para o navegador Firefox que identifica Microformats nas páginas.
Sem comentários »sdf.lonestar.org
Há 20 anos no ar. Acesso Unix livre, basta ter telnet ou ssh.
A história deles traz boas lembranças, especialmente de BBS, e pode ser vista aqui.
Registre-se, é grátis, está cheio de boas lembranças. http://sdf.lonestar.org
Sem comentários »Kompozer - um editor HTML fácil e leve
O Kompozer é uma versão livre de bugs do conhecido editor HTML chamado NVU.
Ele está disponível para diversas plataformas inclusive Linux e Windows.
Ambos, além de terem código fonte aberto e livre, tem também a característica WYSIWYG - “What You See Is What You Get” - “O que você vê é o que você tem”.
Na prática isso quer dizer que você vê no próprio editor, a página da forma como ela aparecerá no site para os visitantes.
O programa está em inglês mas com a instalação simples de um plug-in (disponível no próprio site), os menus aparecem em português.

