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.

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

    .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

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.

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:

#!/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.

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.

#!/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.

Estou testando um plugin de postagem no wordpress pelo vim, se funcionar bem vai me ajudar a manter um ritmo maior de postagens

Próximo passo: Adicionar suporte a markdown

Vimpress

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


[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:

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

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

Um exemplo de como gerar um patch de um arquivo mas antes fazendo algum tipo de processamento, no caso, usando o sed para remover algumas linhas do arquivo, por exemplo

diff <(/bin/sed '/[regex]/d' arquivo.txt) <(/bin/sed '/[regex]/d' arquivo2.txt) > $patchfile

Chmod é um comando delicado, e executá-lo as pressas sem muita atenção e com sono pode gerar alguns problemas.

O comando “chmod 600″ muda as permissões de um arquivo para que apenas o dono dele tenha acesso, barranco qualquer tipo de acesso de outros usuários, o problema é que executei esse comando assim:

sudo chmod 600 *

Fiz isso dentro da home, em um primeiro momento pode-se até pensar que isso não geraria problemas mais graves, até aumentaria a segurança do sistema, o problema é que diretórios precisam de permissão de execussão para que você possa lista-los, logo, fiquei sem acesso a nenhuma das pastas da minha home, assim como os programas que estava usando no momento.

A solução para o problema foi, primeiro voltar a permissão dos arquivos para algo mais comum:

sudo chmod 644

Depois mudar as dos diretórios, para isso, executei um find no home, buscando apenas pelo primeiro nível de profundidade (apenas os arquivos presentes no mesmo diretório), usando “-type d” para atingir apenas os diretórios, e finalmente usando o -exec neles, com o chmod com as permissões corretas (incluindo execução), usando o “+” no exec porque não há problemas em passar várias pastas como parâmetro do chmod.

sudo find . -maxdepth 1 -type d -exec chmod 755 {} +

Resultado, tudo de volta ao normal, e um lembrete para se tomar cuidado com o chmod.

Fluxbox é um gerenciador de janelas para o linux extremamente leve, que eu utilizo quando preciso focar os recursos da máquina em alguma outra coisa.

O problema principal pra mim com o Fluxbox é que as fontes são estranhamente renderizadas, fazendo com que eu acabe voltando para o  gnome ou unity depois de usá-lo por um tempo.

Hoje encontrei uma solução aceitável para o problema, para isso, criei o arquivo ~/.Xresources com o seguinte conteúdo:


Xft.dpi: 96
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb
Xft.autohint: false
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault

 

reiniciei o lightdm e agora as fontes renderizadas no aplicativo estão muito mais próximas (senão idênticas) ao que estou acostumado em outros ambientes gráficos.

fonte: Fixing ugly Qt fonts in Openbox, Fluxbox, etc.