Mudando as cores do ViM

Ok, dica rápida.

Para quem não sabe, é possível trocar as cores do ViM (Vi-iMproved) para alguns temas. Primeiramente veja quais são os temas disponíveis em /usr/share/vim/vim72/colors (ou diretório equivalente).
Para escolher algum tema, coloque em seu .vimrc (ou no /etc/vimrc) o comando

:colorscheme <tema>

Por exemplo, para utilizar o tema “darkblue”, coloque:

:colorscheme darkblue

O mesmo pode ser feito apenas para uma seção, porém não ira ser permanente.

Fica a dica.

Vetores dinâmicos em C, depois do C99

Então, eu programao em C, programo a tanto tempo que até não me lembro quando comecei. E, como bom programador de C, eu tenho alguns vícios e algumas coisas que sempre levei por verdade.
Vícios:

  • Sempre estruturar um bloco na ordem: declarações->código, nunca colocar uma declaração depois de iniciar um código.
  • Sempre tomar cuidado com o tamanho do que vai na Stack.

E por verdade, sempre levei que o seguinte código não funciona:

#include <stdio.h>
int main(int argc, char *argv[]){
  int qtd;
  scanf("%d",&qtd);
  int vet[qtd];
  int i;
  for(i=0;i<qtd;i++) vet[i]=i;
  return 0;
}

Pois bem, esse código quebrava tudo que eu tomava por verdade, estou declarando uma variável depois de inicializar um código e, estou tentando alocar um vetor de tamanho desconhecido em tempo de compilação, na memória stack, não deveria funcionar certo? Continue reading →

Como efetuar um reduce em LVM

Ok, quem conhece LVM sabe de sua praticidade, quem não conhece pode ir aqui para ver o quão prático ele pode ser. O LVM nos traz vários benefícios, um deles é justamente aumentar e reduzir um volume, com um sistema em LVM podemos por exemplo adicionar um HD em algum volume lógico e adicionar espaço (um stripping), e também podemos fazer o oposto, diminuir para, por exemplo, colocar em algum outro volume lógico.
Enquanto adicionar é fácil, remover para colocar em outro local pode ser um pouco complicado, ou até mesmo desafiador, já que TEMOS dados nos volumes, como fazer isso SEM perdê-los? É sobre isso que é essa dica. Continue reading →

Utilizando os pacotes do CentOS no RHEL

Pelo motivo que seja, volta e meia é necessário “esquecer” os pacotes da RedHat e utilizar os pacotes comunitários (CentOS). Recentemente me deparei com esse caso, a busca não foi das mais simples (o processo é fácil, mas a busca pelo processo correto não), encontrei no blog do LinuxDaemon um passo a passo que, com alguns arrumes ficou perfeito.
A idéia é simples, retire tudo que diga que é um RHEL e troque por tudo que diz que é um CentOS, bom, nem tudo precisa (ou deve) ser retirado ;) Continue reading →

Slackbuilds

Voltando a vida e voltando à antiga escola, mandei o Ubuntu praquele lugar (não que eu não tenha gostado, mas apenas não atendia mais minhas necessidades), e voltei ao bom e velho Slackware. Para quem não conhece o Slackware é a distribuição mais antiga de Linux, que ainda é mantida. Isso significa fazer as coisas na unha, na raça certo? Bem, mais ou menos. Continue reading →

Configurando “aquelas” teclas no Linux

Quem nunca pensou: “Adoro Linux, mas meu teclado tem 20 teclas especiais, das quais o Linux configurou automática apenas 10, como configuro o resto?”. Por incrível que pareça, não é tão complexo fazer isso, o site Linux.com está com projetos todos os finais de semana, e o da semana passada foi justamente esse. Como essa é uma pergunta que vejo se repetir e se repetir, fica aqui o link e a dica ;)

Como instalar o Dropbox no Kubuntu sem utilizar o Nautilus

Procurando na net encontrei essa dica, extremamente válida e muito simples ;)
A idéia é simples, baixar o binário, colocar no seu home e no autostart do KDE, simples assim ;)
O único porém é que existe uma correção a ser feita, o link do Autostart correto é:

ln -s ~/.dropbox-dist/dropboxd ~/.kde/Autostart

Vejam aqui.

eBooks de graça

Bom, ando sem muito tempo ultimamente, porém consegui encontrar um bom site de eBooks que contém livros clássicos e tudo mais. Se juntar o site com o Mobireader, você já tem algo para fazer quando estiver esperando algo (útil para aqueles programas que não terminam nunca ;) ).
Fica a dica.

Tutorial LaTeX

Para quem não sabe o que é LaTeX, LaTeX é uma extensão do TeX, que foi criado por Donald Knuth e é um programa de typeset. Diferentemente de um processador de texto, Knuth fez o TeX para auxiliar na criação de documentos técnicos, principalmente na parte de fórmulas matemáticas. Usado extensivamente em qualquer documento científico que se preze (leia teses, papers, livros, etc), LaTeX permite que você cuide do texto e não da formatação, facilitando (e muito) o trabalho de artigos científicos.
Navegando por ai encontrei um ótimo tutorial do TUG India, vale a pena estudar e entender essa maravilhosa ferramenta.
-==Edit==-
Percebi apenas agora que não havia colocado o link para um tutorial sobre como fazer uma configuração portável do LaTeX, vejam, vale a pena ;) .

Números aleatórios em C

Bom, todos nós sabemos que rand() nos retorna uma distribuição uniforme de números aleatórios, na realidade praticamente todos os geradores de números aleatórios nos retorna uma distribuição uniforme, o problema é como utilizamos. Procurando sobre isso, encontrei esse artigo que explica o motivo do “erro” de utilização e como corrigir o mesmo.
Enquanto ele não resolve o problema para geração de números aleatórios em paralelo (minha mais nova paixão), ele dá boas dicas de como solucionar isso, e provavelmente como solucionar também em paralelismo (já que o problema está na utilização e não no algorítmo).
Vale a pena dar uma lida, esse é um assunto muito importante para todos, principalmente para quem ainda gera os números dessa forma:

srand(time(NULL));
int num = rand()%max;

;)