segunda-feira, 22 de fevereiro de 2010

Instalando o Lazarus no Ubuntu 9.10

Primeiro instale o freepascal (fpc) a partir do repositório:

$ sudo apt-get install fpc fpc-source

Isto irá instalar a versão 2.2.4 do compilador fpc. Note que o download é grande e o apt vai instalar todos os pré-requisitos. Para testar:

$ fpc

Depois baixe os fontes da versão mais nova e estável do Lazarus (lazarus-0.9.28.2-src.bz2).


Descompacte na pasta ~/lazarus.

Entre na pasta ~/lazarus e compile o Lazarus:

$ cd ~/lazarus
$ make


Crie um link simbólico na pasta ~/bin (se não estiver criada, crie):

$ ln -s ~/lazarus/startlazarus ~/bin/startlazarus

P. Por que compilar o Lazarus?
R.. Porque assim, toda vez que você for precisar atualizar, seja a partir do svn ou simplesmente para compilar um componente, para o que você precisa de direitos de escrita em certas pastas, fica tudo mais simples.

É isso.

quarta-feira, 17 de fevereiro de 2010

Cadê o Linux?

Questão que poderiam me formular: Você diz que o uso do Linux está crescendo em quase todas as frentes (servidores, desktops e móveis), porque é que eu não vejo o Linux por aí?

Resposta curta: não vê e vai ver cada vez menos.

Resposta longa: como todo sistema operacional, o Linux cuida de interligar aplicações aos hardwares existentes. Como tal ele não deveria mesmo aparecer em canto nenhum, pois o que tem que aparecer é a aplicação. Essa sim, é o que deve aparecer ao usuário. Se está rodando sobre Linux, Solaris, ou mesmo Windows, deveria ser transparente. Quando crio uma aplicação para o Android, o faço não para o SO Linux, mas para a plataforma Android. Idem para o MeeGo. Claro que também dá para fazer aplicações multiplataforma. Essa filosofia de existir software que só roda em um certo sistema operacional é uma filosofia que está ultrapassada. Foi engendrada pela Microsoft para criar um verdadeiro monopólio nos PCs. Sorte que esse monopólio não se estendeu para servidores e dispositivos móveis. Atualmente os desenvolvedores querem desenvolver aplicações e as empresas querem vender serviços (associados àquelas aplicações) e não sistemas operacionais (exceto a MS que ainda tem boa parte de suas vendas atreladas ao par Windows/Office, apesar de estar mudando isso aos poucos ano a ano).

O Linux está crescendo e está indo para onde deveria: literalmente para a nuvem.

Linux 1% de mercado?

Para quem ainda tinha dúvidas quanto ao crescimento do Linux:

http://news.cnet.com/software-interrupted/

Dentro da reportagem há um outro link para

http://reviews.cnet.com/8301-12261_7-10370495-10356022.html

Lembrar que apesar de vários nomes diferentes, todas essas plataformas (Android, MeeGo, todas as ARM) são Linux-based.

Considerando que há muitos milhares mais celulares no mundo que computadores PC, é piada achar que o Linux só tem 1% de mercado global, o que inclui servidores (linux já era líder), desktops (linux está em franca ascensão) e móveis (cujo mercado é muito concorrido e os líderes são a Apple e a Nokia e não a MS).

terça-feira, 26 de janeiro de 2010

Por que o Linux é bom?

Para quem ainda duvida, olha só esse instantâneo do SysInfo:


E é no meu note de trabalho mesmo, com atualizações do sistema (tudo bem, nada que exigisse reinício), instalação e desinstalação de coisas neste período.

Depois de 7 dias o sistema continua funcionando numa boa. E olha que uso Netbeans e Octave que são bem pesadinhos.

Pois é! E ainda tem gente que duvida da estabilidade do Linux...

quinta-feira, 5 de novembro de 2009

Google: anjo ou demônio?

Entra ano e sai ano a mesma coisa: o Google cada vez mais forte, maior e mais poderoso.

As últimas notícias dão conta que, para o Google, a crise já era. De fato, a empresa foi pouco afetada com a crise, comparativamente às empresas da economia tradicional, porque o Google opera em todo o mundo. O que perdeu no EUA, ganhou em parte na China e no Brasil, por exemplo.

Aí vem aquela velha questão: já que o Google é tão grande, não é muito perigoso deixar tanto poder na mão de tão poucos? Ou por outra, ela é anjo ou demônio?

Em nossa ótica monopólios são sempre traiçoeiros, e devem ser vigiados pela sociedade de perto. Assim, os monopólios devem ser devidamente regulados. E isso vale para todos: telefonia, energia elétrica, petróleo, e, é claro, sistemas operacionais e Internet.

Entretanto há alguns pontos muito positivos o Google, em relação a outros monopólios comuns nas TICs: o Google é muito baseado em software livre e retorna à comunidade muita inovação na área. Assim, ao desenvolver o Crome OS com kernel Linux, a Google indiretamente vai estar ajudando a proliferação do Linux em outros ambientes, porque os fabricantes, tendo vendas crescentes de máquinas para o Crome OS, vão acabar produzindo hardware compatível com o sistema, ou seja, compatível com o kernel Linux. Também a Google é uma grande incentivadora do software livre, pois muito do código criado em seu meio ou por programadores mantidos por eles são deixados abertos.

Agora monopólio é monopólio. Para mim quanto menos melhor. Só se justifica, principalmente em áreas sensíveis como energia ou segurança. No caso de software e Internet, o controle fica muito difícil porque as atuações das empresas estão a nível global. A regulação é muito difícil. Nestes casos, quanto mais empresas e concorrência houver, será melhor, porque o poder não vai ficar concentrado na mão de poucos. Diversidade no software é também evolução.

Se a Google não chega a ser um demônio, anjo ela também não é. Então, todo cuidado é pouco.

sábado, 31 de outubro de 2009

Novo Ubuntu 9.10 no ar

Já está disponível para download e atualização o novo Ubuntu 9.10 Karmic Koala. Para baixar, pode ir direto ao site do Ubuntu:

http://www.ubuntu.com

Mas orientamos que aqueles que quiserem fazer um download completo, use torrent:

http://www.ubuntu.com/getubuntu/downloadmirrors#bt

Estou baixando agora, e tive que restringir a taxa de download, se não eu não conseguiria bada para navegar nem fazer esta postagem, tal a taxa de download que está muito boa - aqui para mim está em mais de 70Kbps, o que é muito bom para a minha conexão.

Para atualização, use o Update Manager. Mas aqui eu dou uma dica: só atualize se você tem poucos ou nenhum repositório de terceiros e, claro, não tem muitos programas compilados. Aliás, você deve gerenciar todas as atualizações em caso de pacotes próprios/locais (estes que a gente baixa da Internet e instala) ou para os compilados.

Se você é destes que usa o computador para testes, então uma instalação limpa é altamente recomendada. Se você usa em produção e não instala nada mais do que usa e, para isso, utiliza basicamente os repositórios padrão: main universe multiverse, então você pode fazer a atualização.

Para atualizar tenha uma manhã ou tarde inteira disponível, pois além do download que pode ser demorado, dependendo da quantidade de programas instalados (no meu caso foram mais de 1GiB), o sistema gasta um bom tempo apagando os pacotes antigos e instalando os novos e, volta e meia, vai precisar que você interfira no processo respondendo a algum conflito em um ou outro arquivo de configuração. Ótima atividade para o fim-de-semana ou feriado.

É isso, e divirta-se (That is and have fun).

sexta-feira, 23 de outubro de 2009

GEdit com Octave - Ajustes

Se você é como eu que gosta de usar o gedit como editor padrão, mesmo para programação, já percebeu que se você tiver o Octave ou Matlab instalado a sintaxe não é pintada corretamente.

Apesar de haver o mimetype correto, o gedit insiste em achar que os arquivos .m são arquivos em Objective-C.

Para resolver esta característica indesejada, faça o seguinte (Ubuntu 9.04, mas deve funcionar em outras versões e distros, apenas ajustando o caminho dos arquivos):
  1. Abra um terminal e inicie uma sessão de root:
    $ sudo su

  2. Edite o arquivo /usr/share/mime/packages/freedesktop.org.xml
    # gedit /usr/share/mime/packages/freedesktop.org.xml

  3. Comente toda a parte da definição do mime x-objsrc:
    <!-- <mime-type type="text/x-objcsrc">
    <comment>Objective-C source code</comment>
    <comment xml:lang="be@latin">Kryničny kod Objective-C</comment>
    <comment lang="bg">Изходен код — Objective C</comment>
    <comment lang="ca"&gtcodi font en Objective-C</comment>
    <comment lang="cs"&gtZdrojový kód v Objective-C</comment>
    <comment lang="da"&gtObjektiv C-kildekode</comment>
    <comment lang="de"&gtObjective-C-Quelltext</comment>
    <comment lang="el">πηγαίος κώδικας Objective-C</comment>
    <comment lang="en_GB"&gtObjective-C source code</comment>
    <comment lang="eo"&gtfontkodo en Objective-C</comment>
    <comment lang="es"&gtcódigo fuente en Objective-C</comment>
    <comment lang="eu"&gtObjective-C iturburu-kodea</comment>
    <comment lang="fi"&gtObjective-C-lähdekoodi</comment>
    <comment lang="fr"&gtcode source Objective-C</comment>
    <comment lang="ga"&gtcód foinseach Objective-C</comment>
    <comment lang="hu"&gtObjective-C forráskód</comment>
    <comment lang="id"&gtKode program Objective-C</comment>
    <comment lang="it"&gtCodice sorgente Objective-C</comment>
    <comment lang="ja"&gtObjective-C ソースコード</comment>
    <comment lang="ko"&gtObjective-C 소스 코드</comment>
    <comment lang="lt"&gtObjective-C pradinis kodas</comment>
    <comment lang="ms"&gtKod sumber Objective-C</comment>
    <comment lang="nb"&gtObjective-C-kildekode</comment>
    <comment lang="nl"&gtObjective-C-broncode</comment>
    <comment lang="nn"&gtObjective-C-kjeldekode</comment>
    <comment lang="pl"&gtKod źródłowy Objective-C</comment>
    <comment lang="pt"&gtcódigo fonte Objective-C</comment>
    <comment lang="pt_BR"&gtCódigo fonte Objective-C</comment>
    <comment lang="ru">исходный код Objective-C </comment>
    <comment lang="sq"&gtKod burues C objekt</comment>
    <comment lang="sr">Објектни-C изворни ко̂д</comment>
    <comment lang="sv"&gtObjective-C-källkod</comment>
    <comment lang="uk">Вихідний код на мові Objective-C</comment>
    <comment lang="vi"&gtMã nguồn Objective-C</comment>
    <comment lang="zh_CN"&gtObjective-C 源代码</comment>
    <comment lang="zh_TW"&gtObjective-C 源代碼</comment>
    <sub-class-of type="text/x-csrc"></sub-class-of>
    <magic priority="30">
    <match value="#import" type="string" offset="0"></match>
    </magic>
    <glob pattern="*.m"></glob>
    </mime-type> -->


  4. Atualize o banco de dados mime:
    # cd /usr/share
    # update-mime-database mime


  5. Remova/renomei o arquivo /usr/share/gtksourceview_2.0/language-spec/objc.lang para outra coisa que não tenha a extensão .lang:
    # cd /usr/share/gtksourceview_2.0/language-spec/
    # mv objc.lang objc.lang.bak


  6. Volte a ser usuário normal:
    # exit
    $ |


  7. Verifique se o gnome já está reconhecendo o mime correto:
    $ gnomevfs-info algum_arquivo.m | grep MIME
    MIME type : text/x-matlab
Com isso o gedit deixa de enxergar o mime do Objective-C e passa a enxergar o mime correto. Agora você já pode utilizar o Matlab e/ou Octave com realce de sintaxe!