1. Pelican

    É isso aí, wordpress é legal, tem um painel administrativo e tudo mais, mas está na hora de ser um dos caras legais, resolvi trocar o wordpress por um gerador de sites estático, e entre vários, escolhi o Pelican.

    Pra mim, a grande vantagem é o tempo de carregamento, sem a necessidade de processamento e acesso ao banco, o blog ficou bem mais rápido.

    A grande maioria dos meus posts aqui acabaram sendo sobre o próprio blog, técnicas mirabolantes para manter o wordpress atualizado e plugins bizarros para conseguir postar usando o vim (bizarro mas legal).

    Queria um tema simples, o mais minimalista possível, principalmente porque não sou muito bom na parte de design. Então montei o layout usando o Toast, um framework CSS bem simples, que o próprio autor considera como apenas framework para facilitar a criação de wireframes, mas que eu gostei muito da simplicidade, sem a necessidade de colocar algo enorme como um bootstrap (o código do Toast tem apenas algumas regras bem simples.).

    Para atingir essa simplicidade o mesmo não funciona no IE7, mas tudo bem, não espero que ninguém acessando isso daqui esteja usando ele.

    Considerei em colocar os comentários do Google Plus, gosto do modo como eles se misturam com as postagens na rede social (de forma muito melhor do que a do facebook, por exemplo), mas por padrão o widget do Google não é responsivo, além de ser necessário ter conta para comentar.

    E como o Pelican já tinha tudo pronto para uso do Disqus, resolvi utilizá-lo, tinha trauma do mesmo pela lentidão que apresentava anos atrás, mas isso parece ter se resolvido.

    Outra coisa que aproveitei para fazer foi adicionar as tags semânticas do schema.org, agora os posts tem definido corretamente autor, conteúdo e data de postagem, o que já é um bom começo e que o Google já entende do que se trata na hora de indexar.

    Então é isso, não cheguei a fazer uma comparação muito exata, mas tenho certeza que o blog está por volta de 3 vezes mais rápido para carregar, e aguentando uma quantidade muito maior de visitas sem problemas, agora é fazer mais postagens, se possível sem ser apenas sobre o próprio blog.


  2. Wordpress e temas padrão

    A versão 3.8 do  wordpress está realmente diferente, o admin está com um visual novo, e o tema padrão apresenta novo segue a mesma linha flat que tem feito muito sucesso.

    Gostei tanto do tema padrão que resolvi usá-lo para esse blog, só com algumas pequenas mudanças, talvez eu "fuce" mais no decorrer do tempo, mas está bem aceitável. O suficiente para que eu cancelasse os planos de fazer algo baseado no temas roots.

    No caso, as alterações que fiz no CSS foram as seguintes:

    1
    2
    3
    4
    5
    6
    7
    8
    .entry-title {
    text-transform: none;
    }
    
    .site-content .entry-header,.site-content .entry-content,.site-content .entry-summary,.site-content .entry-meta,.page-content {
    margin: 0 auto;
    max-width: 674px;
    }
    

    O primeiro para remover o estilo que deixa o título dos posts todo em maiúsculo, e o segundo para aumentar um pouco a largura do espaço de postagem.


  3. Escrita na HD, noatime, nodiratime

    Um grande gargalo de performance é sempre a escrita em disco, existe uma mudança no /etc/fstab que pode melhorar um pouco a performance do sistema.

    No caso, é necessário adicionar o "noatime" e "nodiratime" nas options de montagem, no meu caso, adicionei tanto no / como no /home

    1
    2
    UUID=3fbf7e07-a761-4780-8e08-b7a5a9b9322d / ext4 noatime,nodiratime,errors=remount-ro 0 1
    UUID=55960f8a-716a-475f-9b52-180d1df7aaa7 /home ext4 noatime,nodiratime,defaults 0 2
    

    De acordo com o manual do mount, esse é o significado dessas configurações:

    noatime

    Do not update inode access times on this filesystem (e.g., for faster access on the news spool to speed up news servers).

    nodiratime
    Do not update directory inode access times on this filesystem.

    Resumindo, você perde a informação de "quando foi a última vez que o arquivo/pasta foram acessados", que eu não sei exatamente quais partes do sistema utilizam, mas não tem me feito falta nos últimos meses.

    Não fiz nenhum benchmark, porém a lógica está a favor de alguma melhora de performance durante a leitura na HD (ou seja, ler um arquivo não envolve mais realizar uma escrita). O que provavelmente só vai ser notável em um processo de leitura de muitos arquivos.


  4. Quedas de Força, Boot e Teclados USBs

    A informática é uma ciência oculta, certos erros não tem muita relação com a solução final.

    Depois de uma queda de força, o notebook parou de bootar, selecionando o modo de recuperação do ubuntu no grub, o boot parava em uma mensagem enigmática:

    "Booting Node 0, Processor #1"

    Já comecei a acreditar que a queda de força teria afetado o processador, porém, após uma busca no Google, achei uma solução inusitada:

    http://forums.opensuse.org/english/get-technical-help-here/hardware/460402-boot-panic-2.html

    It was my wireless keyboard. Not sure if its just the battery or something else. But if i don't plug it in, everything is booting just fine. Weird, isn't it.

    Removi então o teclado e o mouse das USBs, e incrivelmente o boot ocorreu sem problemas.

    E foi isso, problemas estranhos e suas soluções bizarras, mandrakarias da informática.

    Por

    Em meta.


  5. Log 07/01/13

    Log é uma série de posts sobre considerações do dia-a-dia, de coisas simples (ou complexas) com as quais me deparo.

    • Usar imagens com radio inputs pode ser feito usando apenas html e css
    1
    2
    3
    4
    5
    6
    7
    8
            .radio_option {
                display:none;
            }
    
            <label for="opcao">
                <input type="radio" name="option" class="radio_option">
                <img src="imagem.png" alt="Opcao">
            </label>
    

    Colocando a imagem dentro do label para o input, e escondendo o radio com css, clicar na imagem terá o mesmo efeito de clicar no input, sem necessidade de javascript.

    • Evitar que mudanças feitas em arquivos já presentes em um repositório git é possível sem necessidade do gitignore

    git update-index --assume-unchanged [arquivo]

    Isso é útil para evitar a inserção de arquivos de configuração modificados por cada desenvolvedor para criar um ambiente de desenvolvimento no repositório principal

    Por

    Em log.


  6. Log 03/01/13

    Log é uma série de posts sobre considerações do dia-a-dia, de coisas simples (ou complexas) com as quais me deparo.

    • Ao documentar uma data, tentar usar valores que sejam fáceis de distinguir dia do mês, quanto menos quem estiver lendo a documentação tiver que "assumir" o valor, melhor.

    "data_criacao":"06/06/2012 19:19:43"

    Na data acima ninguém sabe se o primeiro campo é do dia ou do mês, só se pode considerar que seja do dia, já que o nome do campo está em português, mas não significa uma regra.

    • Se você pretende manter um fórum, por favor, insira uma busca clara no mesmo, é o mínimo que pode ser feito para evitar posts repetidos.
    Por

    Em log.

    tags: formatos


  7. daniloshiga.com

    Depois de muito tempo, resolvi iniciar meu site pessoal, e ao invés de criar algo com um design arrojado e completo logo no início, vou fazer o inverso, adicionar os dados e os links mais relevantes primeiro, e extender o site a partir daí.

    A idéia é que o site seja feito das melhores práticas em desenvolvimento, sem pressa, com atenção aos detalhes.

    Por enquanto o que existe é apenas um html com links para os vários lugares da internet onde existem mais informações sobre mim, o site pode ser visitado aqui

    O repositório do mesmo está no github e a implantação está seguindo a mesma linha deste mesmo blog, porém bem mais simples, o conteúdo do post-receive hook é apenas uma linha:

    1
    2
    #!/bin/bash 
    GIT_WORK_TREE=[caminho para pasta pública na hospedagem] git checkout -f
    

    Uma melhor prática já aplicada é o uso de microdata para dar um pouco de semantica ao site, além de ser uma boa prática de SEO.


  8. Separando arquivos numerados

    Para separar por volta de 200 arquivos numeros, fiz um pequeno shell script

    Os arquivos estão nomeados como "001 - nome" até "194 - nome", esse script separa cada 10 episódios em uma pasta, a variável "j" foi necessária por
    causa do 0 no início da numeração.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    #!/bin/bash
    for i in {0..19}; do
        if [ $i -lt 10 ];
        then
            j="0";
        else
            j="";
        fi
        mkdir -p /caminho/de/destino/$j$i
        cp -v $j$i* /caminho/de/destino/$j$i
    done;
    

    Apenas um exemplo de um pequeno script para resolver um problema simples.



  9. UTF-8 por padrão no MySQL

    Para que o mysql use UTF-8 por padrão, é necessário adicionar duas linhas no /etc/mysql/my.cnf (no caso do ubuntu)

    1
    2
    3
    [mysqld] 
    character-set-server=utf8 
    collation-server=utf8_general_ci
    

    Depois disso e de reiniciar o mysql (sudo restart mysql), é possível verificar se deu certo com a query:

    1
    show variables like "%character%";show variables like "%collation%";
    

    Se tiver dado certo, a coluna Value estará apenas com valores relacionados ao UTF-8

Página 1 / 2 »