Mostrando postagens com marcador linux. Mostrar todas as postagens
Mostrando postagens com marcador linux. Mostrar todas as postagens

segunda-feira, julho 06, 2009

Instalando o Ruby on Rails

Em se tratando de desenvovimento WEB, ágil, moderno e eficiente, nada mais natural que se falar em Ruby on Rails. Nesse post nós aprenderemos como instalar essa grande ferramenta.

Instalando no Windows

Instalar este framework no sistema operacional do tio Bill é mamão com açucar. Isso porque uma alma caridosa, Curt Hibbs, juntou tudo em um único arquivo e disponibilizou na web, assim como o EasyPHP. Esse pacote se chama InstantRails e contém Ruby, Rails, SQLite, MySQL, Apache, etc. Vamos aos passos para instalá-lo:

  1. Baixe o InstantRails da seção de downloads site http://instantrails.rubyforge.org/wiki/wiki.pl.
  2. Descompacte o conteúdo em um diretório, de preferência na raiz de alguma partição. Ex: "C:\InstantRails" ou "D:\InstantRails"
  3. Acesse o diretório escolhido e execute o InstantRails. Se aparecer uma janela perguntando se você quer gerar novamente os arquivos de configuração, clique em sim.
Na janela do InstantRails você pode monitorar o status do Apache,do MySql e de suas aplicações Rails. Lembre-se que para digitar os comandos do Rails, você SEMPRE deve abrir o console para digitar os comandos. Para isso, clique no botão com o ícone do InstantRails do lado do botão Apache, menu Rails Applications, Open Ruby Console Window, como na imagem a seguir:

Ruby on Rails instalando, é hora de atualizar a sua versão para a mais nova, devemos abrir o console, conforme explicado no parágrafo anterior e digitarmos no prompt:

C\:InstantRails> gem update rails --include-dependecies

Instalando no Linux

No Linux a instalação é menos prática, mas em compensação o framework ao final já estará atualizado e totalmente integrado ao sistema.

Independente da distribuição Linux usada, teremos que instalar o interpretador Ruby, depois o gems, que a partir daí instalará o Rails. Nós usamos o Ubuntu 9.04 Jaunty Jackalope para demonstração. Para instalar, abra o prompt e digite:
$sudo aptitude update
$sudo aptitude install build-essential
$sudo aptitude install ruby rubygems ruby1.8-dev libsqlite3-dev
$sudo gem install -y rails
$sudo gem update sqlite3-ruby

Pronto seu Ruby on Rails está instalado! =D

quarta-feira, junho 24, 2009

Alternativas livres para os softwares do dia-a-dia

Já faz algum tempo que nós, da equipe do Café com Bits, trazemos a você que deseja ou está realizando um processo de migração de aplicações para o ambiente open source, seja por adequação funcional em seu ambiente de trabalho ou pelo simples anseio de se utilizar de ferramentas que lhe permitam realizar as suas tarefas sem depender do uso de softwares piratas, soluções open source disponíveis e suas principais vantagens e desvantagens. Foi assim com a nossa série Migrando o desenvolvimento de aplicações para o mundo do software livre em suas parte I e parte II (e em breve com o lançamento da parte III da série) e com nossa última matéria a respeito de que suítes open source de escritório disponíveis atualmente seria a melhor.

Hoje abordaremos outras categorias de aplicativos usados comumente por usuários de sistemas proprietários, procurando mostrar alternativas livres para uso.

  • Navegador Web:
Mozilla Firefox 3.5
Mozilla Foundation
http://br.mozdev.org/



Segundo lugar entre os browsers mais utilizados, o Mozilla Firefox surpreende pela boa navegabilidade e interface amigável até mesmo àqueles usuários que estão acostumados a navegar pelo Micrososft Internet Explorer. Dificilmente alguém que utilize o browser retorna para o concorrente proprietário.

E a resposta está no elevado grau de personalização que sua interface permite com a adição de temas e ferramentas de customização, além de inúmeras possibilidades de adição de recursos através da instalação de complementos disponíveis no repositório oficial do Firefox. Existem componentes que inclusive têm comunidades de desenvolvedores mais ativas do que muitas aplicações em si. Atualizações nos componentes, inclusive já são informadas pelo browser no momento da instalação.

Mais funcionalidades podem ser vistas no nosso último post sobre o lançamento do navegador Firefox 3.5

Opera
Opera Software
http://www.opera.com


Outro navegador bastante popular é o Opera, desenvolvido pela Opera Software, ele também permite personalização e adição de plugins à sua interface e usa o sistema de abas como o Firefox.

Entretanto o seu forte são as funcionalidades embutidas, como o Speed Dial que permite a visualização dos sites mais acessados toda a vez em que uma aba em branco for iniciada; o Opera Link que permite a sincronização de favoritos, dados, bookmarks e entradas no speed dial; Opção de salvar a sessão de navegação atual; executar operações através de movimentos do mouse; Botões de navegação por páginas de um site através dos botões Fast forward/rewind; Magic Wand que permite um preenchimento otimizado de relatórios; Buscas integradas no próprio browser, etc.

Google Chrome 2.0
Google
http://www.google.com/chrome



Criado pela poderosa Google, o Chrome vêm agregando várias funcionalidades presentes nos concorrentes como o sistema de abas, speed dial além de ter sido o primeiro a apresentar o conceito de navegação segura, que permite ao usuário navegar sem deixar rastros no computador utilizado. Também é um dos browsers mais velozes da atualidade, apesar de só estar disponível atualmente para o sistema operacional Windows.

O Chrome 2.0 já fora analisado pelo Café Com Bits nesse post, onde abordamos mais profundamente mais de suas funcionalidades.

Disponível para Windows


  • Mensageiros instântaneos:

Pidgin
Edgewall Software
http://www.pidgin.im/


Esse simpático mensageiro permite ao usuário logar-se simultaneamente em várias redes de chat online, suportando vários recursos dessas redes como transferência de arquivos, mensagens offlines, icones e imagens de exibição além de vários outras funcionalidades poderem ser incluídas através da adição de plugins.

O pidgin suporta as seguintes redes: AIM, ICQ, Google Talk, Jabber/XMPP, MSN Messenger, Yahoo!, Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, QQ, Lotus Sametime, SILC, SIMPLE, MySpaceIM e Zephyr.

Disponível para Windows, Linux e outros sistemas Unix (inclusive, integrando-se ao ambiente GNOME2 e KDE 3.1). Para usuários de MAC OSX uma solução seria o Adium.

aMsn
aMsn Team
http://www.amsn-project.net/



Sem dúvida o software que mais se assemelha ao Windows Live Messenger, o aMsn possui muitas funcionalidades semelhantes ao concorrente da MS, como mensagens offline, transferência de arquivos, suporte a web cam, alarmes de eventos, emoticons personalizadas, personalização da interface por meio da adoção de skins etc..

O pidgin trabalha apenas com a rede MSN e está disponível para pelo menos 40 idiomas diferentes

Disponível para Windows, linux, Mac OS X e Free BSD.

  • Cliente de E-mail:

Mozilla Thunderbird
Mozilla Foundation
http://br.mozdev.org/thunderbird/download.html

Juntamente com o Firefox, o Thunderbird é o um dos projetos da fundação Mozilla mais bem destacados em número de usuários. Trata-se de um cliente de e-mail robusto e cheio de recursos, com interface tão amigável quanto seu "irmão", representando uma real concorrência ao Outlook/Windows Mail/Live Mail da Microsoft.

Entre as funções que agrega, estão a compatibilidade com os protocolos IMAP, LDAP e POP, visualização e envio de mensagens HTML, confirmação de leitura de e-mails, agenda de contatos, múltiplas contas de usuário, criação de filtros de mensagem, além de possuir leitor de feeds RSS integrado, identificação de SPAMs, agrupamento e classificação de e-mails, além da possibilidade de se incluir plugins.

Disponível para Windows, linux e MAC OS X

Evolution
Novell
http://projects.gnome.org/evolution/index.shtml



Integrado ao ambiente GNOME para Linux, o Evolution é um cliente de e-mail que possui muitas funcionalidades interessantes como múltiplas contas de usuário, busca personalizadas em pastas de e-mail, segurança integrada com criptografia GPG (GNU Privacy Guard) and S/MIME, possibilidade de integração com outros softwares como o Pidgin, Planner e Gnome-panel Calendar, criação de filtros, integração com calendaários web, além de u sistema de controle de lixo eletrônico.


  • Desenho vetorial:

Inkscape
inkscape.org
http://www.inkscape.org/



É um programa de desenho vetorial open source que possui ferramentas semelhantes ao Adobe Illustrator, Corel Draw e Xara X usando os padrões W3C para o formato de arquivo Scalable Vector Graphics (SVG).

Disponível para Windows, Linux e MAC OS X, apesar de existirem bons usos relatados em sistemas FreeBSD e UNIX.

  • Design Gráfico:

GIMP 2.6
GIMP Team
http://www.gimp.org/



Velho conhecido dos designers, o GIMP é um software de manipulação de gráficos bem versáti. Seu nome representa um acrônimo de "GNU Image Manipulation Program" e é bastante utilizado para tarefas de retoque,  composição e autoração de imagens.

Sua interface é altamente customizável com barras flutuantes e móveis que provê ao utilizador toda a liberdade possível para trabalhar nos detalhes da imagem.

O GIMP pode ser utilizado tanto como software de pintura (através de ferramentas como lápis, pincel, clone, balde de tinta e gradientes, etc), como ferramenta de melhoramento  de imagens (através de ferramentas de eliminação de perspectiva, canais de cor, clonagem de objetos, camadas, etc), sistema de processamento de arquivos em lote, renderizador de imagens em massa e conversor de formatos.

O GIMP aceita os formatos bmp, gif, jpeg, mng, pcx, pdf, png, ps, psd, svg, tiff, tga, xpm, importa arquivos svg e produz também animações em GAP e MNG.

Disponível para Windows, Linux, MAC OS X, Sun OpenSolaris e FreeBSD.

  • Editoração gráfica:

Scribus 1.3
Linux-Magazin Germany
http://www.scribus.net/



O scribus é um software projetado para ser um software de editoração eletrônca. Ideal para a construção de Revistas, anúncios, calendários, newsletter e editoração de arquivos PDF (Portable Document Format).

Entre as funcionalidas incluídas estão o suporte ao sistema de cores CMYK, sperarações, gerenciamento de cor ICC e criação versátio de arquivos PDF, suporte ao padrão ISO PDF/X-3 além de incluir opções para desenho vetorial, importação de arquivos SVG, formatos de fontes abertos e sistema de arquivos baseado em XML, aberto e bastante documentado.

Disponível para Windows, Linux/UNIX, Mac OS X e OS/2.


  • Ripador de CDS/DVDs:

Brasero 2.26
GNOME Project
http://projects.gnome.org/brasero/



É um queimador de CD/DVD para o ambiente GNOME Linux bastante simples e robusta, permitindo aos usuários criarem seus próprios CDs/DVDS de maneira fácil e rápida.

Entre suas funcinalidades estão o suporte a discos multi-sessão, criar discos a partir de imagens (ISO), limpeza de disco, Drag and drop e Recortar e Colar a partir do Nautilus ou outros gerenciadores de arquivos e criação de discos de aúdio a partir de diversos formatos como mp3, ogg e flac.

Disponível para Linux e UNIX

K3b 1.05
KDE Project
http://k3b.plainblack.com



O K3b é outro ripador para Linux, dessa vez desenvolvido pela equipe KDE para o referido ambiente de desktop. Possui todas as funcionalidades necessárias para ser um bom gravador de CDS e DVDs através do uso dos programas cdrecord, cdrdao e growisofs.

Disponível para Linux e UNIX

InfraRecorder
Christian Kindahl
http://infrarecorder.org/



O InfraRecorder é um programa de gravação de CD/DVD livre que opera sob a licensa GPL3 voltado para a plataforma Windows.

Entre suas funcionalidades estão a criação de CDs/DVDs de dados e aúdio e sua gravação em mídias ou em imagens de disco armazenadas no HD, suporta gravação em DVD de dupla camada, limpa discos regraváveis de 4 formas diferentes, verifica os barramentos SCSI/IDE coletando informações a respeito de suas capacidades, realiza cópias de discos "on the fly" e utilizando imagem temporária do disco, suporta multissessão e os seguintes formatos de arquivo: .wav, .wma, .ogg, .mp3 and .iso.

Disponível para Microsoft Windows

  • Players audio-vídeo:

Rhythmbox
Project GNOME
http://projects.gnome.org/rhythmbox



o Rhythmbox é um programa de gerenciamento de músicas integrado ao ambiente de desktop GNOME para Linux, inspirado no iTunes da Apple e desenvolvido sobre o framework de mídia GStreamer.

Entre as características do software, encontra-se um sistema avançado de busca e filtro de músicas, criação de listas de reprodução, suporte a iPod e dispositivos MP3, reprodução, ripagem e gravação de CDs de áudio, recursos de visualização de áudio, adição podcasts e rádios onlines. Além disso possui suporte para a rede social Last.fm e lojas virtuais como a Jamendo e a Magnatune.

Disponível para LINUX (GNOME).


Amarok
Amarok Project
http://amarok.kde.org

O Amarok é um player de aúdio inicialmente produzido para o ambiente desktop KDE para Linux e pode ser utilizado ainda em outros sistemas baseados em UNIX e FreeBSD, além de possuir versões em desenvolvimento para o Windows e MAC OS X. Ele é capaz de operar com conceitos bastante comuns entre outros players de audio como pastas e listas de reprodução, embora seu forte seja o sistema de catalogação de mídia através de etiquetas (tags).

Entre as funcionalidades disponíveis para o Amarok, estão a possibilidade de criação de múltiplas listas de reprodução, indexação do acervo de músicas em banco de dados (SQLite, MySQL e PostgreSQL), integração com outros softwares KDE como o K3b e o navegador Konqueror, criação de scripts, aparência customizada através da adoção de skins baseados em CSS e integração com redes de disponibilização de músicas na web, como a rede social Last.fm, a loja virtual Magnatune, o site Jamendo, entre outros.

Disponível para LINUX, UNIX, FreeBSD além de versões em desenvolvimento para MAC OS X e Windows.

Coolplayer
CoolPlayer Developers
http://coolplayer.sourceforge.net/



Esse pequeno player de áudio de apenas 600kb é uma alternativa para os usuários de Windows que desejem um programa leve e de fácil interface, que inclusive pode ser incluso em pen drives e outros tipos de mídia removível em sua versão portable no site portableapps.

Entre suas funcionalidades principais estão suporte aos principais formatos de aúdio disponíveis como mp3, ogg, wav, etc. Conversor de mp3 para wav, Interface customizável através do uso de skins (que inclusive podem ser baixadas do website do projeto), equalizador de 8 bandas e suporte a plugins de entrada do Winamp.

Disponível para microsoft Windows


VLC
VideoLAN team
http://www.videolan.org/vlc



Esse excelente player multimídia suporta os mais diversos formatos de arquivos como DivX, XviD, MPEG-1, MPEG-2, AVI, MOV, WMV, Real, SVCD, Matroska, 3GP, FLV, Cinepak, FLAC, Ogg, WMA, MP3, AAC, Vorbis sem a necessidade de instalação de codecs especiais, suporta legendas e conserta vídeos AVI com partes corrompidas. Também é capaz de executar DVD, VCD e CDs de audio e vários protocolos de streaming.

Por falar em Streaming, o VLC também pode ser usado como servidor desse tipo de transmissão tanto em unicast quanto em broadcast e através de redes IPv4 e IPv6.

Disponível para Windows, GNU/Linux, MAC OS X, FreeBSD, Solaris entre outros.

Mplayer
Mplayer Team
http://www.mplayerhq.hu



O Mplayer é um player de vídeos cheio de recursos que suporta arquivos de diferentes formatos, como MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA através de codescs nativos ou do tipo XAnim e Win32 DLL. Também é capaz de executar VCD, SVCD, 3ivx, DivX 3/4/5 e WMV.



terça-feira, junho 23, 2009

Qual a melhor suíte Office Open Source?

Já imaginou o quanto a suíte office da microsoft revolucionou o mundo da informática? Mais do que o próprio Windows, o MS Office foi a mais bem sucedida tentativa de levar o poder de processamento dos computadores tanto para o ambiente corporativo quanto para o público doméstico. Tanto que atualmente ela representa a maior parte da renda obtida pela microsoft com concessão de licensas de uso.

Entretanto, adquirir esse conjunto de ferramentas para escritório LEGALMENTE envolve um certo gasto com a aquisição do software e licensas de uso para o mesmo caso deseje empregá-lo em sua empresa. Entretanto, se você deseja conhecer alternativas mais acessíveis economicamente e não quer envolver-se com softwares piratas, saiba que elas existem e em grande número, tanto em forma de aplicações para desktop como serviços onlines. Mas qual a melhor para a sua necessidade e qual mais se assemelha ao produto da Microsoft?

Openoffice 3.0
http://www.openoffice.org/



Desenvolvido pela openoffice.org, é com certeza a suíte de escritório livre mais conhecida, além de ter sido pioneira entre os softwares da categoria a adotar a plataforma livre. Já fora traduzida para mais de 30 idiomas e possui versões para os principais sistemas operacionais modernos como Windows, Linux, solaris e MAC OS X11.

Em sua nova versão, embora não tenha adotado o sistema de abas do Microsoft Office 2007, preferindo manter uma interface semelhante à versão 2003 do rival, possui suporte para leitura dos novos formatos de arquivos baseados em XML (docx, pptx, xlsx, etc), embora ainda não seja possível salvar os documentos criados na suíte nesses novos formatos.

Outra vantagem da suíte é não necessitar de nenhum plugin ou impressora virtual para converter os arquivos produzidos para o formato PDF (Portable Document Format), incluindo opções avançadas como encriptação de conteúdo e funcionalidades de formuláro incluída, além disso têm suporte PDF/A que assegura que o PDF em questão possui todos os atributos necessários para que possa ser lido no futuro.

Produtos: Writer (Editor de textos), Calc (planilha eletrônica), Impress (Software de apresentações), Draw (Desenho vetorial), Base (Banco de dados) e Formula (Formúlas matemáticas).

BrOffice 3.1
http://www.broffice.org



Baseado no Openoffice, essa é uma suíte de escritório voltada para o público brasileiro, trazendo algumas vantagens para a sua adoção em terreno nacional como corretor ortográfico atualizado e compatibilidade com as regras do novo acordo ortográfico, além de interface totalmente em Pt-Br por padrão. Por esse conjunto de fatores, atualmente é o pacote office mais utilizado nas repartições públicas brasileiras, inclusive constando em vários repositórios estaduais como o do governo estado do ceará e federais.

Por ser baseado no openoffice possui os produtos de mesmo nome, embora existam algumas modificações próprias em seu processo de desenvolvimento desenvolvimento, como o fato de incluir suporte ao novo formato de arquivo OASIS  para desenvolvimento de arquivos baseados em xml.

StarOffice
http://www.sun.com/software/staroffice



É uma suíte de escritório comercial produzida pela Sun Microsystems, que a primeira vista possui quase que a mesma interface e quantidade de recursos que o Openoffice com o diferencial de ser pago. Então vêm a dúvida: Porque pagar por algo que o openoffice oferece gratuitamente? Simples, por 3 motivos: suporte, adição de recursos e distribuição.

Primeiramente, o pacote de suporte é diferenciado para cada modelo de aplicação: Download, Standard e Enterprise versions com formas de contratos diferente entre elas. Além disso, quanto a distribuição, as versões Download e Standard são disponibilizadas ao cliente até um máximo de 60 dias, enquanto a versão enterprise é negociada por número de licensas adquiridas.

A adição de recursos vêm na possibilidade de se utilizar da infinidade de plugins produzidos pela própria Sun para incrementar o ambiente da suíte, como a integração do cliente de e-mail Thunderbird, ou ferramentas para atualização de blogs e wikis, etc.

Produtos: Os produtos do Star office possuem o mesmo nome dos existentes no pacote Openoffice (Writer, Calc, Impress, Draw e Base).

Koffice 2.0 Beta 3
http://www.koffice.org/




Desenvolvido para uso no ambiente desktop KDE, o Koffice é a suíte de escritório que mais possui aplicações (que em geral, apresentam um design rico) embora esteja limitada ao ambiente linux. Embora,  existam projetos de migração desses softwares para o ambiente MAC OS e Windows. Afora, isso o pacote também pode ser executado no ambiente GNOME, apesar de que boa parte das funcionalidades gráficas apenas serem aproveitadas ao máximo no KDE.

Cada aplicação pode ser executada individualmente ou através do Workspaces que permite a execução de vários softwares da suíte sob uma única interface, embora esse recurso seja melhor aproveitado com resoluções de pelo menos 1024x768. E entre as aplicações disponíveis, o Koffice reúne ferramentas gráficas, de controle de projetos, construção de gráficos e diagramas e editor de formulas além dos conhecidos editores de texto, planilhas e apresentaçõs.

A integração do Koffice com outras suites de escritório (como o MS Office e o Openoffice) também é satisfatório, sem perca de qualidade e/ou formatação dos arquivos.

Produtos: KWord (Editor de texto), KSpread (Planilha eletrônica), KPresenter (apresentações), Krita (Aplicação gráfica), Karbon (desenho vetorial), KPlato (Gerencimento de projetos), Kexi (bando de dados) e Kivio (construtor de diagramas e gráficos).

IBM Lotus Symphony
http://symphony.lotus.com/software/lotus/symphony/home.nsf/home



Mais um derivado do Openoffice, o Lotus Symphony é uma suíte de escritório open source desenvolvida pela IBM, mas que diferente das outras opções existentes como o Koffice e o BrOffice, conta apenas com o basico do escritório: Um editor de textos, uma planilha eletrônica e um construtor de apresentações. A diferença fica por conta do design primoroso das aplicações e na atenção aos detalhes de sua interface.

Entretanto, a suíte ainda tem muito ainda para crescer e várias funcionalidades podem repentinamente serem incorporadas ao produto em uso, pois o Lotus Symphony busca automaticamente por atualizações de seus componentes e plugins. Estes últimos, a propósito, ainda não possuem número semelhante ao do openoffice e aparentemente são um pouco menos funcionais.

Produtos: Documents (Editor de texto), Spreadshets (Planilhas eletrônicas) e Presentations (Apresentações)

AbiWord
http://www.abisource.com



Bom, diferentemente dos demais pacotes de escritório, o AbiWord  da Abisource só possui um editor de texto de mesmo nome que impressiona pela leveza e rapidez, afinal são apenas 15MB para instalar.

Como pode-se deduzir pelo nome, o AbiWord fora desenvolvido como um clone do MS Word, incorporarando as funções mais comumente utilizadas por ele de forma que é ideal para estudantes e pessoas que não desejam utilizá-lo como editor de texto profissional, pois o mesmo carece de ferramentas mais avançadas e complexas.

Por padrão, o AbiWord reconhece o formato .doc do Microsoft Word  (versões 97-2003) enquanto que a instalação de um plugin de compatibilidade permite a leitura de arquivos no formato OOXML. Frases em vários idiomas entretanto, podem ter seu idioma não-inglês não renderizado corretamente. Uma ferramenta legal encontra-se na área da finalização do documento, particularmente a função de exportação para HTML que permite compactar imagens do documento em um arquivo HTML usando uma encriptação de Base64.

Também existem alternativas interessantes em plugins para o AbiWord, como plugins que incorporam LaTeX, WordPerfect e ClarisWork.

Produto: AbiWord (Editor de texto)


terça-feira, maio 26, 2009

A Microsoft usando Software Livre?

A Microsoft todo mundo sabe, sempre agiu com ferocidade contra a filosofia do software livre chegando ao ponto de Steve Ballmer, CEO da MS, declarar em 2001 que o código aberto era como um câncer para a indústria de software. Com a divulgação do lançamento da nova ferramentas de buscas da empresa conhecido atualmente como Kumo (e abordado pelo Café com Bits nesse post) e que trabalha sobre uma estrutura de software livre, a situação parece ter mudado para a Microsoft.

Entretanto, essa mudança de paradigmas vai muito além do novo buscador da MS. Acredito que essa essa tendência iniciou basicamente na popularidade da plataforma .NET entre os desenvolvedores, formando uma comunidade colaborativa que iniciou com os fóruns e bibliotecas de estudo disponíveis no site oficial de desenvolvedores Microsoft, o MSDN. Mais tarde, surgiram o portal para desenvolvedores ASP.NET AJAX e um repositório de software assumidamente declarado como projeto open-source, o CodePlex. Nele é possível compartilhar softwares e componentes de software, categorizar os projetos por tipo, bem como visualizar os projetos mais populares e os último a serem divulgados.

Mas, não para por aí. O lançamento do portal Port25 pegou a todos de surpresa a começar pelo título "Port25 is home to open source community at Microsoft. This represents an open conversation dedicated to Linux". Mas hein? Isso mesmo caro leitor, foi isso mesmo que você leu. Na verdade, o Port25 destina-se a integração de tecnologias livres aos produtos microsoft, como por exemplo o Eclipse4SL, open-source baseado no Eclipse para desenvolvimento de aplicações ricas usando Silverlight ou lançamento de um SDK PHP para Windows Azure.

É, A briga entre software proprietário x software livre parece estar se desenrolando e já vemos um vencedor apontando . aparentemente...



quarta-feira, maio 20, 2009

Ubuntu 9.04, Testado e Aprovado!

Olá leitores! Finalmente consegui ter tempo para instalar o famoso Ubuntu 9.04 em casa e os resultados são fenomenais! A performance do sistema é impressionante quando comparada a seus sistemas concorrentes. Usando um micro com muito menos recursos é possível ter uma ótima experiência com o Ubuntu, ao contrário do seu concorrente Windows Vista, que mesmo nos padrões atuais de hardware, continua pesado e lento.

A interface do sistema já é bem conhecida, mas sofreu algumas pequenas modificações, como o sistema de notificações, que agora está belíssimo, vide figura abaixo.


Uma das melhores coisas do sistema é o suporte completo aos modens 3G. Aqui com o meu Huawei E160 foi só espetar que o Ubuntu reconheceu tudo de forma automática, e em alguns segundos eu já estava conectado, ficou bem melhor que no Windows!

Outro ponto bem legal, é o suporte completo ao idioma português. Após a instalação, que reconheceu todo o meu hardware diga-se de passagem, o sistema pergunta se você quer instalar o resto dos pacotes do idioma (corretores ortográficos para Firefox e Open Office, etc.) e o restante é feito de forma automática.

Desmentindo os que afirmam que Linux é complicado, durante toda a minha experiência de instalação e configuração do Ubuntu, não precisei abrir uma vezinha sequer o terminal (console) e não tive de digitar nenhum comando obscuro.

Os desenvolvedores do Ubuntu devem estar orgulhosos da obra prima, parabéns! Para aqueles que se interessaram e desejam experimentar o Ubuntu, podem solicitar cópias de graça no site http://www.ubuntu.com/ ou baixar isos das versões de 32 ou 64 bits. Vocês vão adorar!

segunda-feira, maio 04, 2009

Faça de seu filho um mini Geek!

Fui pai há pouco mais de um mês e sempre procurei alternativas para incrementar o visual e o estilo de vida do bebê. Entre os inúmeros produtos a disposição (a GRANDE maioria vindo de websites estrangeiros), algo que me chamou a atenção foi a quantidade de roupas com mensagens interessantes.

Primeiro, para aqueles usuários fãs de carteirinha do Ubuntu nada como mostrar que tanto você como o seu rebento são adeptos desse charmoso S.O. O site da Canonical, inclusive, oferece uma vasta linha de produtos bem bacanas em termos de vestuario. Vale a pena conferir.

Já essa outra é para aqueles que gostam do site mais conhecido da internet. O gigante Google!




Esse babador diz praticamente tudo sobre o comportamento do bebê. É só interpretar o algoritmo.


Embalado no sucesso dos Feeds RSS, o agregador de notícias presente na maioria dos sites e blogs da atualizada, a camisetinha diz a singela mensagem de "Não alimente o Geek"!


Já esse singelo macacão é para aqueles que são Linux desde pequenininhos.







terça-feira, abril 28, 2009

Migrando o desenvolvimento de aplicações para o mundo do software livre – Parte II

Mudando de paradigmas

Analisando a evolução do desenvolvimento de aplicativos dos sistemas operacionais Windows e Linux conforme visto na parte I desse artigo, pudemos perceber claramente como a forma de se pensar na programação (principalmente na etapa de implementação) do produto final varia de acordo com o S.O que utilizaremos como padrão para o nosso sistema. Por um lado temos o Windows e seus programas enormes e “auto-sustentáveis”, mas com IDEs que incrementam a produtividade dos programadores através de ferramentas que prezam pela facilidade de uso e grande quantidade de recursos e são financiadas por grandes empresas de software, enquanto do lado oposto temos o Linux, suas aplicações rápidas e leves, desenvolvimento consciente e independência de fornecedores e recursos necessários para sua execução supridas pelo sistema.

Tomando por experiência própria, uma das maiores vantagens encontradas em IDEs do sistema Windows é, sem dúvida, a usabilidade e quantidade de recursos disponíveis. Interfaces intuitivas e fáceis de configurar e uma infinidade de componentes que necessitam de pouca coisa além de arrastar, soltar e modificar alguns parâmetros para funcionar. Além disso, programas como o Delphi e o Visual Studio fornecem a possibilidade de se construir uma aplicação desde a etapa de modelagem até a distribuição, sem recorrer a outros recursos.

No Linux, por muito tempo predominava-se a adoção de uma diversidade muito maior de linguagens de programação, interpretadores e compiladores, estes muitas vezes embutidos dentro das próprias distribuições do S.O e poupando o usuário do tempo necessário para a busca do mesmo. Bastava (ou basta, considerando que esse cenário ainda é válido) o usuário iniciar qualquer editor de texto e descrever o código do programa na linguagem escolhida (C/C++, Perl, Java, PHP, Python, entre outros) e executar o interpretador/compilador através do Shell.

Entretanto, esse quadro mudou com o advento de ferramentas como o Kylix, um produto da Borland voltada para os usuários de Linux que também trabalhava com a linguagem Object Pascal como seu irmão para o Windows; Anjuta e o CMake, para desenvolvimento em C/C++; o KDevelop, ótima IDE gráfica baseada nas bibliotecas do KDE e Qt e que possibilita o desenvolvimento para uma infinidade de linguagens que variam do C/C++ (padrão do software) ao Java, passando pelo PHP e Python. Mais informações, podem ser encontradas no website do projeto.


Sem falar das famosas IDEs para o desenvolvimento Java como o NET Beans, distribuído e mantido pela própria Sun e o Eclipse, desenvolvido a princípio pela IBM e que mais tarde tornou-se open source onde apesar de ganhar notoriedade pelas ferramentas e recursos para desenvolvimento em Java, pode ser usada para o desenvolvimento em outras linguagem, desde que extensões compatíveis sejam instaladas. Ambas possuem, entretanto, a característica de serem modulares e adequarem-se as necessidades do usuário.



Se você ficou interessado em iniciar a programar em Linux, não perca o próximo post da série com uma lista de ferramentas disponíveis para o S.O tanto nas etapas de implementação de código, quanto em modelagem de sistemas e distribuição e seus similares no ambiente Windows.


quarta-feira, março 04, 2009

Migrando o desenvolvimento de aplicações para o mundo do software livre – Parte I

Entendendo as peculiaridades dos sistemas

Para quem está acostumado a desenvolver aplicações em ambiente Windows, mudar para sistemas de código livre, como o Linux, geralmente tende a ser uma barreira difícil de ser superada. O motivo principal de tal resistência remete à forma como o desenvolvimento de sistemas evoluiu ao passar dos anos em cada S.O e principalmente na forma como foram concebidos os principais IDEs (Integrated Development Environments) utilizadas.

O Turbo Pascal desenvolvido pela Borland que unia em uma única interface orientada a menus um editor de programas, um compilador e um depurador foi o grande pioneiro da IDE para DOS, entretanto programar para o sistema da Microsoft não era nada fácil. Algumas limitações daquele S.O incluíam: Limite de 640KiB de RAM, modelo de memória segmentado do 8086, aritmética de 16bits, ausência de mecanismos de proteção de memória, systemcalls primitivas e a falta de bibliotecas padronizadas.

Com a saída do Windows 3.0, novos recursos de desenvolvimento foram incluídos de modo a tornar o sistema mais atrativo aos usuários e desenvolvedores, com novas systemcallse conjuntos de bibliotecas para gráficos, multimídia e impressão. Além disso, surgiu o Visual Basic, um novo IDE que incorporou bibliotecas de níveis mais altos e a possibilidade de se desenhar formulários interativos visualmente, o que ajudou na automatização da geração de código de interface.

Foi então que a Microsoft utilizando um padrão bastante conhecido do mundo Linux, o Micro-Kernel, Arquitetura baseada em camadas e orientação a objetos conseguiu construir uma arquitetura de S.O inteiramente novo e não mais apenas uma simples extensão do DOS. Isso decorreu em vantagens significativas tais como a possibilidade de se executar aplicações escritas primariamente para outro sistema operacional e uma melhor gerência de memória, só para citar algumas. Ao mesmo tempo, com o aumento no número de systemcalls e a popularização dos IDE se fez necessário a criação de mecanismos que facilitassem a construção de novos componentes e a Microsoft respondeu com os OLE Controls (OCX), módulos de software que se baseiam nas tecnologias OLE e COM que, quando chamados por uma aplicação, produzem controles que acrescentam algum recurso interessante à aplicação. Apesar de representar um marco no reuso de componentes, abriu margem para diversos problemas de segurança, conhecidos largamente como DLL hell.

Tal problema fez com que cada ferramenta fornecesse suas próprias bibliotecas e incompatibilidades surgissem entre diversas versões de um mesmo IDE. Assim, as ferramentas de desenvolvimento tornaram-se de certo modo “inchadas” por incorporar todas as características dos programas e de tecnologias necessárias, além de ter que executar todas as tarefas e integrar os componentes do programa.

Em contraponto, o desenvolvimento em Unix, bem como do próprio kernell do S.O era realizada em C, logo possuíam vantagem de serem bem mais amigáveis aos programadores que o assembler usado no Windows, além de que era possível criar aplicações sem construtores visuais de formulários devido ao fato das bibliotecas gráficas não serem de baixo nível. Entretanto, o Linux teve como demanda inicial principalmente os ambientes multiusuários e servidores de rede, onde para este último a confiança das rotinas das bibliotecas e ferramentas de apoio importavam mais do que a criação de IDEs gráficas, além disso, a necessidade de suportar diversas plataformas de hardware dificultavam a construção de ferramentas visuais.

Somente com a união entre Linux e GNU, o S.O livre obteve acesso a uma porção de ferramentas de desenvolvimento como editores, compiladores, depuradores. Foi o inicio da popularização do Linux entre os usuários finais, um fenômeno que trouxe como benefício direto uma gradual melhora na usabilidade do S.O e o provimento de um sem número de aplicações, através do trabalho de dedicadas comunidades de desenvolvedores.

Entretanto as IDEs disponíveis para Linux em geral seguem um conjunto de características similares que os distinguem do padrão encontrado no Windows. Primeiramente, os recursos necessários à construção de aplicações (bibliotecas, componentes, etc) são fornecidos pelo S.O, logo, as ferramentas de desenvolvimento tendem a ser mais leves que as encontradas no sistema proprietário. Além disso, os IDEs não englobam todas as tarefas do processo de desenvolvimento, elas atuam mais como ponto de integração entre diversas aplicações e tecnologias de terceiros e a performance das aplicações está condicionadas às próprias aplicações e não ao sistema e normalmente são bem leves e rápidas.

Por fim, nesse texto espero que tenham entendido um pouco de como decorreu a evolução do desenvolvimento de sistemas usando IDEs entre os S.Os Windows e Linux, bem como um pouco das peculiaridades de cada sistema e como elas interferiram na arquitetura dos atuais ambientes de desenvolvimento que temos à nossa disposição hoje em dia.

No próximo post, abordarei as principais dificuldades encontradas no processo de migração de um desenvolvedor Windows para o ambiente livre.

Até Mais!

Para saber mais:
Meio bit
http://pt.wikipedia.org/wiki/Windows_NT
http://www.netpedia.com.br/MostraTermo.php?TermID=4761
Por Janio N. Lima


quinta-feira, setembro 25, 2008

Publicando RSS com PHP e MYSQL

Se você ainda não sabe o que é RSS, dê uma lida no post RSS e asp.net parte I , que você encontrará os conceitos introdutórios sobre o tema. 


1. Introdução


Para que qualquer site possa servir RSS, é necessário que ele forneça ao programa leitor, um arquivo XML, contendo os dados, pois RSS, como já sabemos, é nada mais que um arquivo XML que segue uma padronização da estrutura específica. Podemos fornecer esse XML de duas formas, ou através de um arquivo estático XML propriamente dito salvo em nosso servidor, ou por meio de uma página PHP que pode gerar esse XML dinamicamente para nós. No nosso caso vamos gerar por meio de uma página PHP.



Antes de partirmos para a feitura da página, precisamos antes guardar as informações que publicaremos no RSS em algum lugar. Na informática, lugar de armazenar informações é em banco de dados. No nosso caso usaremos o banco open-source MySQL, disponível para download em http://www.mysql.com.


2. Criando o banco de dados


A estrutura do arquivo RSS é bem definida. Temos as seguintes entidades Channel e Item, que possuem a seguinte estrutura e se relacionam da seguinte forma:



O script para criação dessa estrutura é este:


SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `RSS` ;
USE `RSS`;

-- -----------------------------------------------------
-- Table `RSS`.`Channel`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `RSS`.`Channel` (
  `idChannel` INT NOT NULL AUTO_INCREMENT ,
  `title` VARCHAR(255) NULL DEFAULT NULL ,
  `link` VARCHAR(255) NULL DEFAULT NULL ,
  `description` TEXT NULL DEFAULT NULL ,
  PRIMARY KEY (`idChannel`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `RSS`.`Item`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `RSS`.`Item` (
  `idItem` INT NOT NULL AUTO_INCREMENT ,
  `title` VARCHAR(255) NULL DEFAULT NULL ,
  `link` VARCHAR(255) NULL DEFAULT NULL ,
  `description` TEXT NULL DEFAULT NULL ,
  `idChannel` INT NULL DEFAULT NULL ,
  PRIMARY KEY (`idItem`) ,
  CONSTRAINT `fk_Item_Channel`
    FOREIGN KEY (`idChannel` )
    REFERENCES `RSS`.`Channel` (`idChannel` )
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;

CREATE INDEX fk_Item_Channel ON `RSS`.`Item` (`idChannel` ASC) ;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Você também pode baixá-lo na integra aqui.


Para excecutar o script de criação, podemos abrir o prompt de comando e simplesmente digitarmos:


shell> mysql < arquivo_texto


Também podemos abrir o client mysql e digirtarmos:


mysql> source filename


O client fará tudo de forma automatizada e teremos nosso banco de dados criado.


3. Criando a página PHP para geração do RSS


A página PHP gerará primeiro uma string contendo todo o XML, depois enviará para o leitor de RSS o resultado. Segue abaixo o código fonte da página PHP:
<?php
//criando cabeçalho do arquivo
$xml = '<?xml version="1.0" encoding="iso-8859-1"?>'."\n";
$xml .= '<rss version="2.0">'."\n";

//setando dados da conexao e do banco voce deve substituir pelos seus dados de conexão
$host = "mysql.test.com";
$user = "usuario";
$pass = "senha";
$db = "RSS";

//fazendo a conexão com o banco de dados que contem os dados RSS
mysql_connect($host, $user, $pass);
mysql_select_db($db);

//pegando dados do channel no banco
$sql = "SELECT idChannel, title, description, link FROM Channel ORDER BY idChannel DESC";
$reschan = mysql_query($sql);

//enquanto ainda houver dados do channelm executar codigo dentro do while
while ($rowchan = mysql_fetch_assoc($reschan))
{
    //abrindo tag do Channel
    // obs: \n = nova linha   
    $xml .= '<channel>'."\n";
   
    //formatando os dados nas tags rss do Channel   
    $xml .= '<title>'.htmlspecialchars($rowchan['title']).'</title>'."\n";
    $xml .= '<description>'.htmlspecialchars($rowchan['description']).'</description>'."\n";
    $xml .= '<link>'.htmlspecialchars($rowchan['link']).'</link>'."\n";
   
    //pegando dados dos Itens do Channel no banco de dados
    $sql = "SELECT title, link, description FROM Item WHERE idChannel = ".$rowchan['idChannel']." ORDER BY idItem DESC";
    $result = mysql_query($sql);
   
    //enquanto ainda houver itens no banco, executar codigo dentro do while
    while ($row = mysql_fetch_assoc($result))
    {
        //formatando dados do item nas tags RSS
        $xml .= '<item>'."\n";
        $xml .= '<title>'.htmlspecialchars($row['title']).'</title>'."\n";
        $xml .= '<description>'.htmlspecialchars($row['description']).'</description>'."\n";
        $xml .= '<link>'.htmlspecialchars($row['link']).'</link>'."\n";
        $xml .= '</item>'."\n";
    }
   
    //fechando tag do channel
    $xml .= '</channel>'."\n"; 
}

//fechando a tag rss
$xml .= '</rss>';

//retornando todo o xml pro leitor de rss do usuário
echo $xml;
?>
O código fonte acima pode ser baixado aqui. Salve a página PHP em seu servidor PHP e pronto! Bastará colocar o endereço da página no seu leitor de RSS e você verá que funciona!


4. Testando


Para testar o código da página PHP, fizemos um exemplo que você pode ver aqui. Se tudo der certo ao vizualizar no  Firefox você verá uma página semelhante a essa:




Por Solleon Menezes