Awesome – Gerenciador de Janelas

Com a minha troca para um sistema operacional mais simplista, resolvi mudar também o estilo de gerenciador de janelas que uso. Optei pelo sistema de tiling. Há algum tempo vi um professor utilizando o xmonad e achei interessante a praticidade que o sistema possibilitava para ajustar várias janelas simultaneamente na tela. Decidi testar esse sistema estranho, já que o meu descontentamento com os sistemas de gerenciamento de janelas mais atuais só aumentava. Entretanto, fiquei com o gerenciador Awesome, e não com o xmonad. Gostei.

Leia mais

Arch Linux: Rápido e Customizável

Há algum tempo venho migrando a distribuição Linux que uso. Comecei com o Ubuntu, como boa parte das pessoas. Utilizei-o por alguns anos, sem problemas. Porém, algumas falhas na interface Unity e a constante decadência da performance me irritaram a ponto de trocá-lo. Mudei para o elementary OS. Essa distribuição é baseada no Ubuntu e tem uma interface que lembra o Mac OS. Fiquei bastante empolgado com essa distribuição, cheguei a fazer propaganda dela por aqui. Contudo, tive alguns problemas com essa distribuição, como funções que ainda não estavam completas, com o tempo ela começou a ficar lenta e a interface gráfica ficou um pouco irritante, principalmente a gerência de janelas. Acabei indo para o Linux Mint. Essa distribuição também é baseada no Ubuntu. É bastante rápida, sua interface não é das mais bonitas, mas funciona muito bem. É prática para fazer a maior parte das tarefas. Porém, também tive problemas com essa distribuição, principalmente um problema com minha placa de rede que fazia a conexão WiFi desconectar e só reconectar depois de reiniciar o computador. Novamente, resolvi mudar de distribuição, dessa vez saindo de vez do ambiente Debian/Ubuntu. Resolvi testar o Arch Linux, uma distribuição mais simplista que vem ganhando muitos elogios pela internet. Não me arrependi da troca.

Leia mais

Artigos Científicos da Google, Microsoft e Facebook de Graça

Há algum tempo a Google, Facebook e Microsoft vêm divulgando suas criações para manter seus gigantes produtos funcionando. A Google tem bastantes artigos na área de inteligência artificial, o que é de se esperar, já que a maior parte do dinheiro deles vem da descoberta de bons anúncios para seus usuários. É lógico que não disponibilizam invenções cruciais, afinal, sua sobrevivência depende delas. Mas, de qualquer forma, a informação que disponibilizam é muito interessante.

Leia mais

Instalação do Maven 3 no Linux

Para quem está acostumado a programar em C ou C++ no Linux, Make ou CMake são ferramentas essenciais. Esses dois programas são utilizados para controlar a etapa de compilação e ligação dos programas desenvolvidos. Java não é compilada, mas é possível gerar contêineres para encapsular o código com suas dependências de modo que possa ser executado mais facilmente. Mas, assim como com C ou C++, para gerar esse arquivo você deverá chamar alguns programas com parâmetros que você possivelmente esquecerá e ligar explicitamente todas as dependências do código. Assim como essas linguagens, Java tem algumas ferramentas para auxiliar nessa etapa (e até mais que isso, como veremos): Ant e Maven. Nunca utilizei o Ant, mas o Maven é mais recente e parece ser mais simples de ser utilizado. Nesse tutorial explicarei a instalação do Maven.

Leia mais

Elementary OS: uma distribuição Linux rápida e bonita

Uso o Ubuntu há alguns anos. Sempre achei que fosse a melhor distribuição: melhor interface, mais simples, mais programas disponíveis, mais conhecida e com ótima performance. Ultimamente, o Ubuntu tem me deixado irritado, principalmente na questão da performance. Alguns aplicativos básicos, como o navegador de pastas (Nautilus), foram modificados, ficando lentos e feios (digita o nome de algum arquivo que precisa em uma pasta cheia, ele abre uma search box ridícula e inútil). Então, aproveitando que fiz besteira ao particionar o disco e ferrei com minha instalação do Ubuntu, resolvi dar uma chance a outra distribuição: Elementary OS.

Leia mais

Quasexadrez – Um jogo de xadrez simplificado

Nunca havia me interessado por xadrez. Na verdade, nunca fui muito interessado por jogos. Até o momento que percebi programá-los é bastante interessante. :).

O trabalho final de Inteligência Artificial foi desenvolver um jogo de xadrez simplificado humano contra computador. Bem, pouco tempo disponível, aprendizagem de uma linguagem um pouco diferente: não deu tempo de implementar tudo o que queria (livros de abertura, bitboard, máquina jogar contra a própria máquina, etc). O jogo está bem simples, mas a base está bem implementada. Às vezes a máquina até vence o jogo, e, no campeonato da turma de IA não fez feio (competição em que nosso jogo jogou contra os outros jogos implementados pela turma).

Leia mais

Solucionador de Sudoku

Que tal escrever um programa capaz de resolver o jogo Sudoku? Difícil. Ou melhor: difícil desenvolver um programa eficiente que o resolva. Na disciplina Otimização Combinatória, escolhemos o desafio de desenvolver um programa capaz de resolver o Sudoku utilizando a meta-heurística GRASP (Greedy Randomized Adaptive Search Procedure). Nesse post, apresento a base das ideias do solucionador. Se quiser informações mais detalhadas sobre a implementação, confira o relatório do trabalho e o código do solucionador.

Leia mais

Kartoffelneinmarsch – Mate batatas antes que elas te matem!

Você sabe, todos gostam muito de batata. Porém, há boatos que uma espécie mutante delas ganhou vida e está tentando invadir a terra. Malditas batatas.

Leia mais

Bomberman em C++ e OpenGL

Mais um semestre, mais trabalhos. Na disciplina de Fundamentos de Computação gráfica, o desafio foi desenvolver um Bomberman. Para isso, eu e o Felipe Schmidt utilizamos C++ e OpenGL. Nossa implementação ficou bastante simples, mas bem maneira.

Leia mais

Recomendação de Livros sobre Desenvolvimento de Software

Andei lendo alguns livros bastante legais sobre desenvolvimento de Software. Resolvi colocar aqui uma lista daqueles que achei mais legais, e que recomendo que leiam. Também coloquei uma breve explicação do que me chamou mais atenção nos livros.

Leia mais