nov
27
Como escrever posts com efetividade!
Filed Under diversos | Leave a Comment
Um dos maiores e mais interessantes blogs do Brasil, o Efetividade.net, está incentivando que blogueiros desse Brasil escrevam mais sobre a temática de eficiência, produtividade e assuntos relacionados, eu sou leitor assíduo do blog do Augusto Campos e resolvi dar minha contribuição escrevendo sobre “como eu escrevo meus posts”.
É díficil pensar em bons assuntos para publicar, mas acredite, quando eles vêm, dificilmente será quando você sentar no computador e resolver escrever um post, por experiência própria e de outros, as boas ideias sempre surgem quando você menos espera, é interessante que você tenha sempre a mão uma forma de anotar suas ideias para serem repassadas posteriormente, com mais calma e atenção.
É importantíssimo não perder essas ideias ou “insights” que surgem no caminho do trabalho, no banheiro :-P, na escola (naquela aula chata que você não quer prestar atenção), etc. Tenha em mente que a melhor forma de guardar essas ideias sempre será a forma que mais lhe for mais confortável e habitual, um artigo interessante que mostra uma abordagem de como tomar notas é o “Como tomar notas com efetividade” do Augusto Campos e eu recomendo sua leitura.
Passada a fase de “sobre o que escrever” vamos para a publicação. Eu sempre procuro fazer um esquema inicial de como o post irá se apresentar.
Esse esquema deverá resumir, em tópicos, qual a sua intenção do que você deseja escrever, e também deverá servir de ponto de partida para os textos mais detalhados que serão escritos posteriormente. Como eu uso o Wordpress, e essa ferramente possibilitar que o post seja salvo antes de ser publicado, eu procuro achar, de imediato, um título e uma sequência de 5 a 10 tópicos sobre os quais eu desejo discorrer, sem necessariamente me preocupar de quando eu irei escrever o restante do post.
“Uma imagem vale mais do que mil palavras”, não é verdade? Portanto eu procuro sempre usar imagens nos meus posts, exceto quando o post é sobre um trecho de programa ou coisa parecida, acredite, para nós que desenvolvemos sistemas, um código é uma obra de arte linda, cheia de cores (syntax hilighting) e de formas (identação do código), e ele por si só já fala tudo que deve falar. Mas para todos os outros casos é interessante que desde o princípio você já tenha definido quais imagens você irá utilizar, fazer uma pesquisa de imagens públicas ou você mesmo tirá-las.
Como o veículo aqui é a Internet, procure recortar e melhorar o desempenho das imagens, para que seu carregamento não seja demorado, você poderá fazer isso usando um programa de edição de imagens, como eu uso Linux, meu favorito é o GIMP.
Depois de definido o esquema do post e as imagens que nele estarão contidas verifique se tudo estará conforme o desejado. Ajustes são necessários durante todo o processo, pense sempre se o que você está escrevendo é interessante, útil e necessários para outros, eu mesmo já desisti de escrever vários posts no meio do caminho apenas por perceber que o assunto era redundante ou desnecessário.
Agora, que você já deve estar com uma boa ideia do seu post e de como escrevê-lo, está na hora de por a mão na massa. Comece preenchendo os textos no lugar dos tópicos pensados, nessa fase dificilmente você modificará os tópicos abordados, mas caso seja necessário, prefira preencher os tópicos previamente pensados para só então, depois de todo o texto escrito, adicionar outros conteúdos que não foram pensados, isso evita ser redudante ou prolixo no seu texto. O seu texto aqui deve refletir o mais próximo possível do resultado desejado.
As vezes dias são necessários para chegar no texto desejado, veja no primeiro momento apenas a ideia, se os textos estão concisos e claros, sem se preocupar com português ou detalhes de grafia ou acentuação, se você for fraco no português (como é meu caso) eu procuro primeiro passar a ideia, depois revisar português e escrita, peça para outra pessoa ler e dar uma opnião, se isso não for possível tente reler o texto um outro dia para ser mais auto-crítico, geralmente eu faço a releitura do texto usando a previsualização do Wordpress, pois nossa mente, quando vê o mesmo texto, mas em uma “moldura” diferente, tende a perceber mais erros do que com uma moldura que já está acostumada.
Depois do texto todo escrito procure verificar também a gramática, acentuação, grafia e demais detalhes do português, dependendo do seu público você poderá afastá-los completamente por conta de um erro grosseiro de português.
Produto testado e aprovado? Então chegou a hora de publicar e aguardar os comentários, se você faz dinheiro com programas de fidelidade é importante procurar palavras para por no seu texto que atraiam os melhores anuncios, mas isso é assunto para outro post. ![]()
nov
24
Porque eu NÃO quero um iPhone no Natal!
Filed Under indicações | 3 Comments

O iPhone é o objeto de desejo de muitos geek maníacos, e inclusive já chegou a entrar na minha lista de “coisas para comprar”, mas como tudo que eu penso em comprar tem que passar por uma série de critérios para ver se, de fato aquilo irá me trazer alguma utilidade, do contrário minha casa estaria cheia de tralhas, com o iPhone não foi diferente.
Não tenho dúvidas que o iPhone é um produto interessante, mas pelo fato de estar ainda em desenvolvimento as versões que antecedem a final são catastróficas. Claro que as melhorias da versão 1 para a versão 3G (2) foram significativas, mas ainda tem um longo caminho para andar antes de se tornar um celular útil.
Existem algums aspectos negativos que pude observar no iPhone, alguns deles são inadimissíveis e me fizeram desistir de comprar um. O primeiro aspecto negativo que vejo no iPhone é o fato dele apresentar apenas a versão vertical do teclado, já que o iPhone tem a opção de “girar” o aplicativo apenas girando o iPhone de posição, seria desejável que o teclaro “girasse” juntamente com a aplicação. O teclado nessa posição dificulta a digitação de pessoas com dedos maiores e mais largos, como o meu. Alguns usuários tem reportado que o touch screen falha em diversos momentos e são obrigado e pressionar com mais força a tela.
Não existe MMS no iPhone, e não é possível enviar vídeos ou mensagens multimidia. Isso é inadimissível em uma era que até celulares de R$ 99,00 enviam mensagens multimidia.
Não existe um MSN, ICQ, Gtalk, nada. Um celular que tende a se auto denominar um portátil com Internet, não poderia deixar de fora um recurso tão necessário como um “instant messager”.
Claro que ainda tem a bateria selada, impedindo que ela seja substituída, o peso fora do padrão normal de um celular, o tamanho, fora do tamanho normal de um celular, o fato de fechar alguns programas inexplicavelmente, o fato de fechar o aplicativo aberto apenas para atender uma ligação e outros erros de construção.
No meu caso ainda tem um outro fator, o fato do sistema operacional ser fechado e não admitir modificações. Que não seria um problema muito grande se não existissem outras opções, mas felizmente existe, apresento-lhes o novo lançamento da NOKIA no Brasil, o N96.
Nokia N96
Por outro lado veja o celular que está chegando aqui em casa. É o lançamento no Brasil da NOKIA, o N96, um celular maduro, que faz tudo o que ele tem que fazer e mais, usa um sistema operacional aberto, baseado no linux Symbian OS, da própria NOKIA (correção de Osvaldo Santana) com opções de programação que vão desde o C até linguagens ágeis como Python (minha favorita).
O N96 ainda conta com GPS integrado, 16G de armazenamento e câmera de 5MP, configurações superiores ao iPhone e de longe! As lentes Carl Zeiss são dignas de méritos, tira fotos como máquina digital. E o mais importante!!! MANDA MMS!!!
É extremamente simples e intuitivo desenvolver aplicativos em Python para a plataforma S60. http://wiki.forum.nokia.com/index.php/Introdu%C3%A7%C3%A3o_ao_Python_para_S60
O N96 é um brinquedo para desenvolvedores e entusiastas “open source”.
Se você se entusiamou e também quer um desses compre-o aqui:
nov
16
Para quem precisa apenas se conectar em um servidor usando Python e mandar e receber comandos eis uma classe simples que fiz e uso para diversos projetos.
class UserSocket:
"""
Classe de comunicacao
Exemplo:
UserSocket("10.13.97.81", 2100)
"""
def __init__(self, host, port):
"""
Construtor do driver de conexao
"""
self.__host = host
self.__port = port
self.connect_server()
def connect_server(self):
"""
Realiza a conexao com o servidor
"""
try:
self.__soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_TCP)
self.__soc.connect((self.__host, self.__port))
except Exception:
return False
return True
def close_server(self):
"""
Fecha a conexao com o servidor
"""
try:
self.__soc.close()
except Exception:
return False
return True
def receive_data(self):
"""
Recebe os dados do buffer do servidor
"""
data = ''
chunk = ' '
while (len(data) < 1) or (chunk != '\n'):
chunk = self.__soc.recv(1)
if chunk == '':
raise RuntimeError, "socket connection broken"
data = data + chunk
return data
def send_data(self, data):
"""
Envia dados para o servidor
"""
try:
self.__soc.sendall(data)
except Exception:
return False
return True
Usando …
>>> s = UserSocket("10.13.97.81", 2100)
>>> data = s.receive_data()
>>> s.send_data("COMANDO")
… você poderá se comunicar com qualquer servidor socket.
nov
13
Faça o Wordpress funcionar com SSL no Ubuntu 8.04 Server em 5 passos!
Filed Under redes | Leave a Comment
Se você hospeda seu próprio wordpress é interessante habilitar o ssl para criptografar seu sua comunicação com o servidor, do contrário todas as suas senhas e demais dados que você envia no ato da publicação de conteúdo estarão vulneráveis a sniffing e M-i-M attack. Veremos como fazer essa configuração de uma forma bem simples.
Estou presumindo aqui que o seu wordpress já está funcionando e configurado, com Mysql, Apache, etc.
Passo 1 - Instalar pacotes necessários, caso ainda não tenha instalado.
$ sudo aptitude install openssl ssl-cert
Passo 2 - Gerar a chave privada do servidor.
$ cd /etc/ssl
$ sudo openssl genrsa -out private/server.key 2048
$ sudo chmod 400 private/server.key
Passo 3 - Gerar a requisição de certificado auto assinado. (Para blogs profissionais contrate um certificado “oficial”, verisign, godaddy, etc.)
$ sudo openssl req -new -key private/server.key -out server.csr
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: seu pais State or Province Name (full name) [Some-State]: seu estado Locality Name (eg, city) []: sua cidade Organization Name (eg, company) [Internet Widgits Pty Ltd]: sua empresa Organizational Unit Name (eg, section) []: seu departamento Common Name (eg, YOUR name) []: * Email Address []: seu e-mail Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Note que qualquer dos campos pode ser deixado em branco, basta digitar “.”, sem as aspas. Se você não tem vários IPs sobrando sugiro criar um certificado genérico (para todos os sites) usando no campo “Common name” um asterisco (*).
Passo 4 - Gerando o certificado
$ sudo openssl x509 -days 365 -req -in server.csr -signkey private/server.key -out certs/server.crt
Passo 5 - Configurando o site
Habilite o ssl
$ sudo a2enmod ssl
Crie um novo arquivo
$ cd /etc/apache2/sites-available
$ sudo vim wordpress-ssl
Coloque o conteúdo abaixo no arquivo
NameVirtualHost *:443
<VirtualHost *:443> ServerName www.seusite.com.br DocumentRoot /var/www/seusite/ Errorlog /var/log/apache2/site-error_log Customlog /var/log/apache2/site-access_log common AddDefaultCharset utf-8 SSLEngine On SSLOptions +StrictRequire SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key </VirtualHost>
Habilite o site criado
$ sudo a2ensite wordpress-ssl
Reinicie o apache para habilitar as configurações
$ sudo /etc/init.d/apache2 force-reload
Pronto, agora é só testar seu site https://www.seusite.com.br. O interessante é que deste jeito você poderá criar vários sites ssl, com o mesmo IP, todavia não tem como usar certificados diferentes para cada site.
nov
11
Fazer curso é burrice!
Filed Under indicações | 2 Comments
Primeiramente deixe-me explicar, imagino que você deve estar se perguntando, “Sendo assim eu sou burro?” ou “Você está me chamando de burro? Seu idiota!!!”, nada disso. Eu estava pensando, nessa semana, o que leva a pessoa a fazer um curso qualquer, seja de reciclagem ou de capacitação em uma determinada área, e percebi que muitas vezes eu mesmo me deparei em alguma sala de aula com alguém falando sobre um determinado tema e eu pouco prestando atenção ou essa pessoa pouco sabia sobre o tema ou tinha segurança sobre o assunto. Claro que há exceções, mas aí nos deparamos com outro problema, muitas vezes a turma em que você está não é, como vamos dizer, tão atenciosa quanto você e isso acaba fazendo com que o instrutor volte assunto, repita conceitos e isso lhe desistimula a continuar com sua atenção alí. Identificou-se com a cena???
Eu tenho o hábito de estudar através de livros, ou até mesmo através de PDFs!, e pude observar que tem sido muito mais proveitoso, econômico e satisfatório. Se seu objetivo é conhecimento, essa é a solução. Existe, como tudo na vida, seus contras, pois um “curso” feito dessa forma exige conhecimento prévio de bons livros, saber sites e referências para consulta e ter uma “base” boa sobre o tema que se deseja estudar, pois é fácil cairmos em livros mal escritos, conteúdo desatualizado ou pior, autores que entendem de administração escrevendo sobre informática (Alguém pode citar um?). Se seu objetivo é certificados (não confundir com certificações) para colocar no currículo, esse não é um bom caminho.
Felizmente, para o leitor desse blog, irei recomendar várias literaturas que poderão embasar consideravelmente seus estudos na área de informática, redes e programação ágil. Todos os livros recomendados aqui são de grande proveito se lidos COMBINADOS! Nenhuma literatura é final e completa, portanto o hábito de consultar várias fontes é sempre bem vindo.
Leitura de base
Abaixo livros para embasar seu conhecimento. Nenhum profissional será bom o suficiente se não conhecer os princípios que solidificam os conhecimentos em informática.

Redes de Computadores - Andrew S. Tanenbaum

Shell Script Profissional - Aurelio Marinho Jargas

Sistemas Distribuídos: Conceitos e Projeto - George Coulouris

Introdução a Estruturas de Dados - Waldemar Celes

Fundamentos Matemáticos para a Ciência da Computação - Judith L. Gersting
Leitura em linux
Livros que descrevem o funcionamento do sistema operacional aberto mais popular que existe. Uma ótima base para entender o linux e seus componentes estão compilados nos livros abaixo.

Certificação Linux Lpi - Nível 1 Exames 101 e 102 - Steven Pritchard

Certificação Linux LPI: Nível 2 Exames 201 e 202 - Steven Pritchard

Manual Completo do Linux: Guia do Administrador - Evi Nemeth

Universidade Linux - Tadeu Carmona
Leitura em redes
Livros específicos para redes e interconexão de computadores, configuração de roteadores, firewalls e demias equipamentos em um ambiente interconectado.

Projeto de Interconexão de Redes - Matthew H. Birkner

Linux Iptables: Guia de Bolso - Grecor N. Purdy

Como Configurar Roteadores Cisco - Allan Leinwand
Leitura em programação
Livros que lhe ajudarão a pensar logicamente e com agilidade, o objetivo de programar é solucionar problemas da forma mais simples possível.

Programação Avançada em Linux - Gleicon Da Silveira Moraes

Profissional Linux Programando - Neil Matthew

Extreme Programming - Vinicius Manhaes Teles

Use a Cabeça HTML com CSS e XHTML - Eric Freeman

Use a Cabeça ! : Ajax - Brett Mclaughlin

Use a Cabeça SQL - Lynn Beighley
Bem, essa é uma lista inicial dos livros que já li e gostei, cada um tem seus fortes e fracos também, alguns a tradução não está legal, mas o conteúdo é interessante (principalmente os da série “Use a cabeça”), estou vendo outros livros interessantes que estou interessado em ler, assim que tiver uma opnião positiva sobre eles indico aqui também.
Quem tiver outra indicação pode sugerir nos comentários.







