Marcos Roriz $:

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

Posts Tagged ‘Open Source

How to Install PEAR on Windows 7

with 4 comments

I’ve just installed Windows 7 and one of the main problems is that I can’t get PEAR to work. So after lots of googling here is the solution to get it working:

  1. Uncomment the line in your php.ini file and set it to off:
     phar.require_hash = Off 
  2. Now as a admin start the cmd prompt and run go-pear.bat in the php dir (It will complain about Structures Graph).
    go-pear
  3. Now go to PEAR website and download manually the Structures Graph package.
  4. Extract the content of the package and move the Structures folder to the PEAR directory.
    move
  5. Issue “pear install Structures_Graph”. Even though the files are present, Structures_Graph is not really installed unless you issue the above command.
     pear install Structures_Graph 

    structuresgraph

  6. Issue “pear upgrade PEAR”. This upgrades PEAR itself to the current version.
     pear upgrade PEAR 

    upgradePear

  7. Issue “pear upgrade Console_Getopt”. This upgrades Console_Getopt to the current version.
     pear upgrade Console_Getopt 

Problem solved by: jjkramer @ http://www.pear-forum.org/topic2565.html

Written by marcosroriz

February 20, 2011 at 10:17 am

Posted in Open Source, Windows

Tagged with

Updates…

leave a comment »

Hello guys, sorry for the lack of updates, been a busy week here.
The progress so far is that I’m ending up the refactoring in Escher (already finished the core java pkgs) which lend me changing almost all classes in XPeer @ GNU Classpath, I’m waiting right now to submit this patch and some review of my mentor (Mario Torre) so I can make it a best refactoring.
So far:

  • Reintegrated Escher to XPeer @ GNU Classpath (First task)
  • Refactored Escher (Almost finishing)
  • Next → Generate the protocol code in a description way (Mario Torre gave the huge cool idea in generating on @nnotations :D)

One of the things that I changed in XPeer too was the lazy connection. IMHO there is no need to wait for someone to getDisplay() to make all the overhead of connecting to the Xserver. Since usually after the instantiation of the Xtoolkit class there will be use it I did the start right ahead. This change made *somehow* the start of the gui way faster. Am I missing the reason behind lazy connection?

Written by marcosroriz

July 3, 2010 at 6:57 pm

Delete or keep is the question.

leave a comment »

Hello guys, I’ve stumbled up on some tricky code here in Escher. More exactly theres a lot of parts that are *important* but are not used on the code, like this one:

 // Can be removed
 public static float [] linearize (float [] [] src) {
   int s1 = src [0].length;
   int s2 = src.length;
   float [] dst = new float [s1 * s2];

   for (int i=0; i<s2; i++) {
     int offset = i * s1;
     System.arraycopy (src [i], 0, dst, offset, s1);
   }
   return dst;
 }

  // Can't be removed
  public static float [] linearize (float [] [] [] src) {
    int s1 = src [0] [0].length;
    int s2 = src [0].length;
    int s3 = src.length;
    float [] dst = new float [s1 * s2 * s3];

    for (int i=0; i<s3; i++)
      for (int j=0; j<s2; j++) {
        int offset = s1 * (j + s2 * i);
        System.arraycopy (src [i] [j], 0, dst, offset, s1);
      }
    return dst;
  }

This method is part of the Misc class (which contains ‘handy’ methods for vector/graphic manipulation). So the question is, while this method does have it’s meaning in the program it’s not used anywhere on it. And to complicate it more the ‘same’ method with a different argument (3 dimension array) is used in the code. Should I remove it the unused??? I’m not totally sure but I think if they are not used we should remove it >_<‘. And that what I’ll probably do on my next commit. What you guys think? Should I keep or delete? :3

Other problems is that in general the classes uses a lot of public and static variables/methods, I’m doing some basic encapsulation on it. Also my next commit will include a revision/refactoring of the glorious gnu.x11.Display class with it’s > 1.4k lines of code. After I finish it’s refactoring the other classes will be easier, since they are usually < 200 lines of code. After classes refactoring is done is time to start going for the parser to generate automatic X11 code, the coolest part!

To sum it up I also received the confirmation that I can now commit oficially to GNU Classpath, so now I can submit code to XPeer there ^_^. Mr. Donald R. Robertson, III, J.D. sended me the confirmation. I’m honored to be able to contribute to a GNU project :]

Accepted by FSF =D~

PDF of the agreement

Written by marcosroriz

June 17, 2010 at 10:37 pm

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 ,

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 , ,