24 Oct
Acredito que esse seja o primeiro livro relacionado a computação que aparece no SNL.
Escrito por Aaron Wall, SEO book é um livro basicamente sobre como otimizar seu site para que sistemas de busca como Google, Yahoo e MSN Search indexem melhor e coloquem um ranking mais alto para seu conteúdo.
O que achei bastante interessante nesse livro é que uma das coisas que é muito enfatizada é a produção de conteúdo único e de qualidade. O tempo inteiro é frisado que SEO sozinho não resolve nenhum problema. Se você não tiver um bom conteúdo não vale a pena ficar se matando para otimizar o site. Vale mais a pena investir esse tempo para gerar conteúdo decente.
No livro são apresentadas diversas dicas de como deixar seu site mais otimizado, mas se você está procurando formas de enganar os sistemas de busca não vai achar esse livro interessante. Para outros, como eu, que queiram apenas aprender como deixar seu site mais visível com certeza vai ser uma boa leitura.
Posts Relacionados:
21 Oct
Continuando o tutorial, vamos começar agora o feijão-com-arroz da programação. Programação nada mais é do que controlar o fluxo de forma inteligente, para obter os resultados esperados. No próximo post vamos ver os dois controles mais simples, If e Else. Mas antes você precisa saber o que é
Uma condição booleana é uma expressão (lembram de expressões numéricas?) que resultam em um valor verdadeiro ou falso. Em C, como não existe um tipo booleano, a seguinte representação é usada:
Isso significa que 3 + 2 é verdadeiro em C, mas 4 - 4 não.
Mas não é apenas dessa forma que fazemos operações booleanas. Existem outros operadores que servem para concatenar (ou modificar) condições booleanas. São os operadores booleanos.
Os operadores mais comuns são:
Chega de teoria. Basicamente o que acontece é o seguinte:
2+3 && 5 é verdadeiro
2+3 && 0 é falso
2+3 && 4 é verdadeiro
2+3 || 0 é verdadeiro
2+3 || 1 é verdadeiro
2-2 || 1-1 é falso
!0 é verdadeiro
!1234567 é falso
(0 && 0) || 1 é verdadeiro
Notem que se você ler o que está escrito (sabendo que 0 é falso e os outros números são verdadeiros) fica bem intuitivo:
verdadeiro E verdadeiro é verdadeiro
verdadeiro E falso é falso
(falso E falso) ou verdadeiro é verdadeiro
NÃO falso é verdadeiro
Certo… tirando o último exemplo não é tão intuitivo assim mas você se acostuma.
Se você fizer todas as comparações possíveis usando duas condições e um operador você chega as seguintes tabelas:
| Operador E (&&) | ||
|---|---|---|
| && | verdadeiro | falso |
| verdadeiro | verdadeiro | falso |
| falso | falso | falso |
| Operador Ou (||) | ||
|---|---|---|
| || | verdadeiro | falso |
| verdadeiro | verdadeiro | verdadeiro |
| falso | verdadeiro | falso |
| Operador Não (!) | ||
|---|---|---|
| ! | verdadeiro | falso |
| falso | verdadeiro |
Existe um outro operador, chamado Ou Exclusivo. As expressões formadas por ele são verdadeiras se uma única condição (das duas em volta dele) for verdadeira. Se as duas forem verdadeiras ou falsas a expressão é falsa. Ele não costuma ser muito utilizado (só usei ele pra criptografia e mesmo assim era um operador um pouquinho diferente.
Posts Relacionados:
18 Oct
Voltando um pouco a escrever sobre livros (temos tido pouco tempo pra escrever nas últimas semanas) resolvi escrever sobre um livro que eu considero o mais bem escrito que já li.
Guerra e Paz, de Leon (Liev) Tolstói , escrito em 1865 é incrível.
Normalmente, quando eu começo a ler um livro eu já espero pelas primeiras páginas que são chatas e só servem para apresentar os personagens. Nesse não. Nas primeiras páginas está uma das cenas mais belas do livro inteiro. No meio de um baile da alta sociedade russa é anunciada o inicio da guerra contra Napoleão Bonaparte. A forma como Tolstói descreve isso já seria suficiente para ser um livro muito bom.
A princípio é meio difícil de saber quais são os personagens (como se você tivesse acabado de chegar em uma casa onde praticamente não conhece ninguém) pois são muitos e diversas histórias são contadas ao mesmo tempo (isso é mantido até quase o fim do livro), mas com o passar do tempo você vai se acostumando com os nomes a começa a associar os personagens aos nomes.
Um texto de uma fluidez incrível. Em nenhum momento eu fiquei cansado com o livro. Era realmente muito difícil de parar de ler. Sempre dava vontade de ler mais um capítulo.
Os personagens são muito bem trabalhados. Não existe um único personagem “raso” no livro inteiro. Todos possuem a psicologia bem trabalhada. Tão bem trabalhada que você começa a se identificar com alguns dos personagens e a conseguir pensar da mesma forma que eles.
O livro, fortemente descritivo, não cansa nem um pouco. Eu costumo não gostar de livros muito descritivos, mas a forma como a descrição é utilizada em Guerra e Paz está longe do usual “e ele entra na sala”. No livro inteiro não parecia que eu estava lendo. Parecia que eu assistia tudo o que estava acontecendo. Algumas vezes chegava quase a ter a sensação de estar no campo de batalha, com obuses explodindo pelos lados ou tiros passando perto de mim.
Mas a cena que eu considero mais bela e forte, é a morte de um personagem (meu personagem favorito). Era um personagem que conseguiu me arrastar totalmente para o livro. No momento em que ele morre, o capítulo termina. Eu fechei o livro porque eu não conseguia continuar lendo naquele momento. Foi uma sensação tão forte que, mesmo eu sabendo que ele ia morrer, era como se eu não quisesse acreditar que isso ia acontecer. Foi realmente muito marcante. Era um personagem para o qual eu torcia para tudo dar certo (sim, eu sei que era um livro, mas não foi possível evitar de tão envolvente que é a história).
Eu poderia ficar falando durante dias sobre como a história é amarrada, porque que em vários capítulos existe uma introdução em que o narrador conversa com você sobre o que está acontecendo, porque um dos epílogos é uma discussão excelente sobre o que é o poder, sobre todas as vezes que quase passei da minha estação de trem porque estava lendo o livro e outras coisas, mas nada disso vai substituir a experiência única que é ler esse livro.
No momento em que li as primeiras páginas de Guerra e Paz, Tolstói tornou-se meu escritor favorito. Não vejo a hora de arranjar tempo para ler seus outros livros, como Anna Karenina.
Uma das coisas que as pessoas criticam muito no livro é seu tamanho. Na minha edição dá mais ou menos 1300 páginas. Eu já penso o contrário. Não fosse o fato de que o livro precisa terminar naquele momento (pode parecer estranho, mas depois de ler fiquei com a sensação de não tinha nada mais que fosse necessário ser escrito ali), ele poderia ter mais umas 700 páginas numa boa.
Mesmo que você não goste de ler, ou ache que vai morrer antes de terminar, recomendo muito este livro. Melhor morrer no meio dele do que nunca começar a lê-lo.
Posts Relacionados:
15 Oct
Sabe quando você chega na casa de um programador, olha pra mesa dele e vê algo assim:

Livros por todos os lados, pilhas de CDs, caixas de placas, fios quase ameçando sua segurança, etc. Sua primeira reação (se você mantém uma mesa “arrumada”) é aparentar que nem notou, afinal amizade é pra essas coisas, né?
Mas você com certeza vai sair de lá pensando que aquele é seu amigo mais desorganizado. Você não imagina o quanto está errado. Aquela é uma das formas mais otimizadas de se manter uma mesa quando você usa muitas coisas diferentes e está sempre acrescentando mais itens.
Agora que você pensa que eu estou louco e que você deve cancelar a assinatura do nosso feed, leia mais um pouco que você vai entender.
Existe um tipo de árvore binária balanceada que possui um comportamento muito interessante.
A Splay Tree, muito útil para caching, funciona da seguinte forma:
Sempre que você acessa um item, ela se reorganiza inteira e leva esse item para a raiz da árvore. Assim, se você acessar esse mesmo item na próxima chamada, ele vai ser acessado muito mais rápido. Mas isso não costuma acontecer, certo? Sem problema. Quando você fizer a próxima busca o item que estava na raiz desce e se torna filho da raiz. Agora a chance de você querer ele já é maior e ele continua perto da raiz, facilitando o acesso a ele.
Essa árvore tem por característica manter mais próximo à raiz os itens mais acessados. Os outros vão descendo vagarosamente até as folhas. A altura dela não é logarítmica como em outras árvores, mas no caso médio ela se comporta como as outras.
Voltando ao assunto, o mesmo acontece com a mesa do programador. Os itens que ele utiliza com mais freqüência ficam mais próximos de suas mãos, minimizando o tempo gasto para pegá-los.
Da próxima vez que encontrar alguém que tem uma mesa muito bagunçada, desconfie de que é um bom programador, ao invés de achar que não passa de um desleixado ;).
Posts Relacionados: