Marcos Roriz $:

Pessoal, Geek, Anime, Jogos, Ciência da Computação e Open Source…

Gurren Lagann

leave a comment »

Eu tenho um amigo (João Guilherme) que sempre me recomenda animes excelentes. Porém não sei porque quase nunca sigo a recomendação dele. Foi One Piece, Full Metal Alchemist e agora quebrei um grande trauma (animes com mecha – ‘robô’) com mais uma recomendação dele que decidi seguir… Gurren Lagann, como ele disse e eu assino em baixo: se tivesse que descrever esse anime em uma palavra seria: épico!

O pior é que tinha que estudar para uma prova e decidi por curiosidade assistir um pouco desse anime que ele tinha me recomendado nesse final de semana…

Resultado = Assisti o anime em dois dias.

O que dá cerca de 12 horas eu acredito, já que o anime contém 27 obras primas. Tentarei expressar um pouco dessa obra de arte que com traços ‘simples’ implicitamente traz a tona as diversas questões da humanidade, inclusive filosóficas, como “De onde viemos?”, “O que é esse limite social imposto a nós?”.

Abaixo uma pequena introdução para deixá-los curioso sobre esta obra-prima.

Gurren Lagann, ou mais formalmente Tengen Toppa Gurren Laga, conta a história de um garoto chamado Simon e seu colega Kamina que moram em uma vila subterrânea. Eles trabalham como escavadores, tentando escavar a vila cada vez mais. Por varias gerações o povo dessa vila foi proibido de ir na superfície, o povo da vila não conhece a superfície. Kamina é um jovem determinado a quebrar essa imposição e com alguns desenrolamentos consegue junto com Simon chegar na superfície. Quando chega lá, encontra a terra toda destruída, somente com ruínas e nada de outras pessoas… O que será que aconteceu? Assistam e verão…

Recomendo esse anime até mesmo como reflexão de vida… é excelente.

Abaixo uma foto de Kamina, Simon e Yoko.

gurren-lagann

Link para um site aonde vocês podem baixar o anime.

Written by marcosroriz

October 5, 2009 at 10:37 pm

Posted in Anime

Tagged with

Integrando o estilo do Linux as aplicações do Wine.

leave a comment »

Uma coisa que odeio é quando a GUI (Interface Gráfica) das aplicações usam estilos diferentes do estilo do gnome/kde. Isso acontece principalmente com aplicações swing da Java e aplicações do janelas (Windows) que roda sobre o Wine (camada de implementação livre das bibliotecas e api do Windows, Win32, DirectX…).

No primeiro caso a Sun já liberou o look and feel do gtk, que resolve boa parte do problema… mas isso fica pra outro post. A questão é como integrar o seu estilo as aplicações que rodam sobre o Wine.

Para integrar é muito simples basta baixar um .msstyle que é um tema para o Windows e instalalo no configurador do Wine. Existem vários temas .msstyle que você pode baixar inclusive alguns que imitam temas conhecidos do linux como o Human (Ubuntu) e ClearLooks (Gnome).

Um lugar legal para pegar temas é o site do deviantart, abaixo os links:

Navegar pelos temas .msstyle

Tema do Ubuntu

Tema ClearLooks

Os temas podem e provavelmente irão vim com vários arquivos adicionais (shellstyles, icones etc) mas só é necessário o .msstyle, pois é o mesmo que define as cores da janela.

Após baixar o tema desejado, execute o configurador do Wine.

Lançar pelo modo gráfico: Aplicativos → Wine → Configure Wine

Lançar pelo terminal: $ winecfg

Vá na aba Desktop Integration e clique em Install Theme, escolha agora o tema que você baixou.

Configuração do Wine

Configuração do Wine

Agora é só fechar a janela e o novo estilo entrará em cena.

Resultado:

Aplicativo Notepad++

Notepad++

Notepad++

Written by marcosroriz

October 2, 2009 at 8:25 pm

Posted in Linux, Open Source

Tagged with , , ,

SUSE Studio

with one comment

SUSE Studio é o que eu chamo de revolução. Sim, na minha opinião o melhor software do ano disparado. A Novell novamente saiu na frente, e montou um esquema ‘monstro’. O SUSE Studio de maneira geral permite você criar uma distribuição Linux na web, escolhendo os pacotes, customizá-lo usuário, scripts, banco de dados, servidor apache, adicionar arquivos, etc, e gerar/exporar uma imagem iso, livecd/livedvd, imagem para máquina virtual. E mais, permite você acessar/testar a distribuição criada na web (via applet+flash). Ou seja, você escolhe e já configura o seu SO na web. E quando rodar ou instalar já vai tar tudo configurado. Isso é ótimo por exemplo, eu preciso de um ambiente java então já vou carregar um SO com todas as aplicações que preciso etc no meu pendrive. Além de a iso ser construída pelas máquinas monstros da Novell, você só vai baixar a imagem final. Você ainda pode gerar várias versões do mesmo SO.

SUSE Studio

SUSE Studio

Configurando pacotes do SO

Configurando pacotes do SO

SO rodando na web

SO rodando na web

Agora partindo para um termo mais técnico, tentarei explicar porque isso é fantástico.

O SUSE Studio permite você criar appliances (termo novo que descobri!) que são aplicações combinadas com basicamente um pedacinho do SO para executálas. Usadas tipicamente para virtualizar aplicações. O objetivo de uma appliance segundo o Miguel de Icasa é:

  • Fazer uma tarefa bem feita.
  • Requisitar um pequeno setup e SO.
  • Vem como uma unidade isolada.

Exemplo: Você quer um SO Linux junto com o NetBeans, então você não precisa de tudo etc, basta ter algumas coisinhas.  Então você monta uma distribuição contendo esse pacote. Isso também é util para empresas que querem distribuir uma versão do seu software já configurada para o seus clientes. Uma empresa já pode distribuir uma versão configurada de um LAMP… rodando ‘redondinho’. Evitando assim ‘erros’ de configuração pois tudo já estará integrado, testado e funcionando na sua appliance.

Isso evita erros de configuração das aplicações nos usuários, pois o ambiente já estará previamente adequado e configurado para a execução de uma determinada aplicação. Em um futuro breve eu acredito que a Novell irá permitir compartilhar as nossas appliances além de permitir que a mesma seja editada por vários usuários. De uma forma de outra essa evolução da Novell tornará a vida de usuários desktop mais simples e também dos desenvolvedores. Para entrar no SUSE Studio você tem que preencher seu email na página deles e esperar eles liberar o acesso, pois o SUSE Studio ainda está limitado a um número de usuários. O acesso deve ser liberado de um a dois dias.

Referências:

SUSE Studio is out – Miguel de Icasa

Written by marcosroriz

August 5, 2009 at 11:28 am

Posted in Linux, Open Source

Tagged with ,

Projeto GingaCDN

leave a comment »

Vou falar um pouco sobre o projeto de pesquisa no qual estou participando, o GingaCDN. “O Ginga Code Development Network ou simplesmente GingaCDN é uma rede de desenvolvedores de componentes e ferramentas para o middleware brasileiro Ginga.” Tá mais o que é esse Ginga? O Ginga é o middleware (uma ‘camada’ em cima do SO utilizada para as aplicações se comunicarem) que gerenciará a interatividade da Tv Brasileira. O Ginga vai ser instalado nos set-top-box (o conversor digital, ex: ‘a caixinha da NET’) das TV Digitais. O Ginga então irá fornecer esse ambiente ‘interativo’ para as aplicações. Ainda estou me familiarizando com o Ginga, então qualquer desvio aponte 🙂

As aplicações que podem ser executadas sobre o Ginga são divididas em duas categorias: procedurais e declarativas. Lembra de Linguagem de Programação? Existiam as linguagens procedurais, aquelas que realizam as instruções a serem executadas, como Java, C, C++. E também existem as linguagens declarativas, aquelas que apenas descrevem as instruções a serem executadas e não como faze-lá, como SQL, Prolog, XML.

O Ginga suporta ambos paradigmas de programação. Do lado procedural temos Java e do lado declarativo temos NCL (parecido com XML). A parte procedural é chamada Ginga-J e a declarativa é chamada Ginga-NCL. Além disso temos o GingaCC (Ginga Common Core). No qual as duas plataformas se comunicam. O GingaCC é feito em C, e nele é que se encontra as aplicações nativas do set-top-box e as rotinas que permitem a interatividade.

De maneira geral temos:

Ginga

Desenho abstrato do middleware Ginga

Dentro da pesquisa estão envolvidos várias universidade, daí o nome GingaCDN (Ginga Core Development Network) dentre elas várias universidades federais (UFPB, UFRGS, UFPEL, mais umas cinco…) e algumas particulares (PUC-RIO e PUC-MINAS). Cada universidade está responsável por algum(ns) componente(s) do Ginga. Na UFG estamos responsáveis pelo componente de comunicação entre aplicações do lado Ginga-J e gerenciador de aplicações.

As aplicações precisam se comunicar… e aí que entra o componente da UFG. Uma aplicação Ginga-J precisa se comunicar com outra, e além disso precisa comunicar com aplicações Ginga-NCL e aplicações nativas, GingaCC. Já viu a bagunça? Teremos que usar extensivamente JNI (Java Native Interface) para fazer as ‘traduções’ entre linguagens. Também usaremos IXC (InterXletCommunication), comunicação entre Xlets, que tratam de como as aplicações (no caso Xlets) irão conversar uma com as outras. Isso envolve comunicação remota de objetos, registros de objetos, stubs, entre outras coisas. É é isso que estamos trabalhando no momento…

Estou muito animado com a pesquisa, principalmente de se tratar de algo novo e interessante. Esse semestre irei fazer Redes 2 e Sistemas Distribuídos o que me dará uma boa base teórica para sustentar a pesquisa. E esqueci de falar que isso me renderá meu PFC? Essa pesquisa vai ser tudo de bom.

Written by marcosroriz

July 22, 2009 at 11:24 pm

Férias

with 2 comments

Quanto tempo não posto aqui!

Algumas novidades desde que não posto aqui:

  • Meu irmão formou em Adm. de Empresas;
  • Entrei em uma pesquisa na UFG.
  • Férias?!?

Finalmente estou de férias, ou quase. O quase é devido eu ter entrado em uma pesquisa na universidade, e terei que ir na UFG umas três vezes por semana…, bem essa história fica pra outro post. E se tudo convergir, passarei em todas as matérias. A minha grande preocupação era IA (Inteligência Artificial) na qual precisava de uma nota alta na segunda prova, [4.5-5.5], com sorte consegui 6.0. As outras matérias parece estar tudo OK, com excessão para SGBD (Sistemas Gerenciadores de Banco de Dados). Mas acho que vai dar tudo certo. Como diz um amigo meu, ‘Miguxo’, tudo dá certo no final, se não der certo não é o final.

Mas o que importa é que terei 30 dias de férias!! Estou pensando no que fazer… Algumas coisas que quero por em prática:

  • Dieta + Caminhar;
  • Sair Mais;
  • Estudar para a LPI;
  • Estudar Java + Redes;
  • Terminar Disgaea (NDS);
  • Assistir Neo Genesis Evangelion.

A lista é grande, mas temos que colocar pra cima pra ver se sai algo…

É isso aí, boas férias para todos.

Written by marcosroriz

July 12, 2009 at 10:06 am

Posted in Pessoal, UFG

Tagged with ,

Qual a melhor distribuição GNU/Linux?

with one comment

Quando iniciamos no mundo GNU/Linux perguntamos ansiosamente e repetidamente “Qual a melhor distribuição GNU/Linux?”. Essa pergunta geralmente possui diferentes respostas, como:

  • “Para servidor use Debian/Red Hat”;
  • “Para desktop Fedora/Ubuntu”;
  • “*Buntus são pesados use Slackware ou Gentoo”;
  • “Para desenvolver dotNet/Mono nada melhor que openSuse”;
  • “Use o Arch Linux ou o Gentoo caso queira bleeding edge”;
  • E finalmente a resposta certa: “A que melhor se adequar a você no momento/atividade

A última resposta é a correta, porém, só com o tempo conseguimos amadurecer e compreender essa resposta. A partir das outras respostas começamos a famosa etapa conhecida como ‘distro hopping’. Que basicamente é pular de distribuição em distribuição até achar uma que seja sua cara. Depois de algum tempo e de passar por várias distribuições você adquire uma maturidade para compreender melhor o que é uma ‘distribuição GNU/Linux’.

Distro Hopping - Pular de Distribuições

Distro Hopping - Pular de Distribuições

Com o passar do tempo a distribuição torna-se cada vez mais invisível, e visualizamos a mesma como o resultado da integração de diferentes softwares. E nessa etapa que visualizamos que a resposta a pergunta, “Qual a melhor distribuição Linux?”. A resposta é “A que melhor se adequar a você no momento/atividade”. Uma distribuição GNU/Linux nada mais é do que integração de vários softwares. Se você quer rodar um servidor a melhor opção é uma distribuição que integre softwares estáveis. Se você quer rodar um sistema bleeding edge, “softwares mais recentes – porém mais fácil de se cortar (dar pau)”, use uma distribuição que lhe ofereça esse serviço. Outro exemplo, “Tenho que trabalhar com desenho”, qual distro integra os softwares que eu uso de maneira mais satisfatória?

Outra parte interessante é que as distribuições quase não diferem na configuração dos softwares (arquivos de configuração de software). Essa semelhança é devido as distribuições integrar geralmente os mesmos softwares. Ou seja, a verdadeira diferença é como os softwares são integrado e não na sua configuração, i.e., como os vários softwares são integrados entre si. Uma distribuição pode fornecer ferramentas para integrar e configurar um software no qual outra não distribui. Porém como a configuração do software geralmente é a mesma não existe vantagem em usar uma distribuição sempre para especializar nela.

A partir dessa análise usamos as distribuições como ferramentas, e não como religião. Essa é a chave da questão. Também gostaria de ressaltar a importância de rever as distribuições e não estagnar em somente uma. As distribuições não são estáticas, a cada dia surge novas distribuições ou surge novos softwares que adéquam uma distribuição a um uso ou não. No momento estou usando o Arch Linux por ser a distribuição que se adequá a minha vontade de usar softwares o mais recente possível, porém mesmo usando eu sempre fico de olho em outras distribuições que possam me servir (Fedora, Debian, *Buntus, OpenSuse, etc…).

Written by marcosroriz

June 7, 2009 at 11:35 pm

Posted in Linux, Open Source

Tagged with ,

code_swarm – A evolução de um software em vídeo.

leave a comment »

Navegando pela internet me deparei com um vídeo que demonstrava a evolução do apache. Após olhar os comentários descobri que o software responsável por gerar esse vídeo é o code_swarm.
De maneira sucinta o code_warn realiza a seguinte tarefa:

  1. Pega o activity log do seu sistema de versionamento (SVN, CVS, GIT, etc…).
  2. Converte esse arquivo para um arquivo que o code_swarm consegue ler.
  3. Executa o code_swarm.
  4. Gera um vídeo das imagens exportadas.

O programa é feito em java, e usa o ant, então roda em qualquer SO que possua uma máquina virtual Java. Abaixo alguns vídeos interessantes gerados pelo code_swarm:

code_swarm do código do eclipse:

code_swarm do código do apache:

Written by marcosroriz

April 24, 2009 at 12:15 am

Posted in Linux, Open Source

Tagged with , ,