Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog do Marcelo Soares Souza

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.
Licenciado sob CC (by)

Bacharel em Informática pela Universidade Católica do Salvador (UCSal). Consultor, Desenvolvedor, técnico, tradutor e docente em tecnologias da informação e comunicação (TIC). Atuou em Programas de Inclusão e Cultura Digital do Governo Federal como Casa Brasil (ITI/CNPq), GESAC (Ministério das Comunicações) e no Pontão de Cultura Digital juntaDados.org (Universidade do Estado da Bahia). Nestes participou do desenvolvimento e customização das distribuições GNU/Linux utilizada pelo programa GESAC e juntaDados.org e realizou oficinas e palestras técnicas sobre desenvolvimento de software, planejamento e montagem de infraestrutura. Ministrou aulas no Serviço Nacional de Aprendizagem Industrial (SENAI) da Bahia nos cursos de Certificação Linux LPI-1 e Certificação Conectiva/Mandriva. Já trabalhou com infraestrutura de redes de computadores, administração de servidores, desenvolvimento e analise de sistemas, pesquisa e desenvolvimento científico, docência técnica dentre outros.

Meus Projetos: https://gitlab.com/marcelo-soares-souza


GNU/Linux juntaDados 4.04r2

27 de Novembro de 2012, 0:00, por Software Livre Brasil

Logo juntaDadosUma nova revisão da distribuição GNU/Linux juntaDados foi disponibilizada em uma parceria do Pontão de Cultura Digital juntaDados com a Artéria Cultura e Cidadania. O GNU/Linux juntaDados é uma distribuição voltada para a produção audiovisual com foco nas atividades dos Pontos de Cultura, ações de Inclusão Digital e Cultura Digital. A nova revisão 4.04r2 traz melhorias na estabilidade, maior performance e novas ferramentas.

Esta revisão traz atualizações ao sistema base e adição de novas ferramentas e recursos. Entre as principais novidades estão a adição das ferramentas para construção de redes sociais Noosfero 0.38.2 e Friendica (Rede Social Federada), gerenciador de streamings Landell, atualizações no editor de vídeo Cinelerra (2.2-0.12) que proporciona maior estabilidade, a nova versão do navegador Web Firefox (17.0.0) e muito mais. O Kernel do Linux utilizado (3.6.7-ck1-bfq-juntadados) agora traz como padrão o escalonador de tarefas BFS (Brain Fuck Scheduler) e o escalonador de I/O BFQ (Budget Fair Queueing), que garantem uma melhor e mais suave experiência de uso do sistema.

Download: juntaDados-4.04r2-amd64.iso
Download Espelho 1: juntaDados-4.04r2-amd64.iso
Torrent: juntaDados-4.04r2-amd64.torrent


Esta distribuição é uma customização do Lubuntu 12.04.1 LTS (Precise Pangolin) com diversas atualizações feitas desde o seu lançamento. Todos os códigos-fontes, das ferramentas livres, disponibilizadas nesta imagem, incluindo o Kernel do Linux, estão disponíveis livremente nos repositórios Ubuntu e em diversos sites/repositórios na Internet.

Esta customização foi feita especialmente para a Oficina de Redes Sociais Livres que ocorrera na 11a Oficina para Inclusão Digital e Participação Social.
 
O que é?
Um Sistema Operacional completo e livre baseado no GNU/Linux que tem como objetivo simplificar e facilitar as atividades de produção audiovisual dos Pontos de Cultura, ações de Inclusão Digital e Cultura Digital. Algumas das ferramentas disponibilizadas nesta distribuição não são consideradas Software Livre tal como o Adobe Flash.
 
Esta distribuição GNU/Linux possui as principais Ferramentas para escritório, produção de conteúdo de Áudio, Vídeo, Imagem e Texto escolhidas através de levantamentos feitos em Pontos de Cultura e Ações de Inclusão Digital. Todos os códigos-fontes, das ferramentas livres disponibilizadas neste DVD, incluindo o kernel linux, estão disponíveis livremente nos repositórios Ubuntu para download ou em sites na Internet.
 
Quem somos?
Pontão de Cultura Digital, inicialmente sediado na Universidade do Estado da Bahia (UNEB), conveniado pelo Ministério da Cultura no final de 2008 através do Programa Cultura Viva e tendo suas atividades financiadas por este programa entre Janeiro de 2009 e Janeiro de 2010. Desde Janeiro de 2010 os integrantes do Pontão de Cultura Digital juntaDados continuam suas atividades de forma voluntária. Em 2012 iniciamos uma parceria com a Artéria Cultura e Cidadania.
 
A distribuição GNU/Linux juntaDados é um dos diversos produtos desenvolvidos pela equipe do Pontão que busca facilitar a produção, difusão e capacitação em ferramentas audiovisuais pelos Pontos de Cultura do Brasil.
 
Dúvidas e Sugestões nos envie um e-mail: juntadados@juntadados.org



Tutorial instalando a rede social livre e distribuída Friendica no Debian 7.0 (Wheezy)

27 de Novembro de 2012, 0:00, por Software Livre Brasil

Logo FriendicaEste tutorial mostrara como instalar a plataforma para redes sociais e distribuída Friendica, sobre o Servidor Web Apache Web Server no GNU/Linux Debian 7.0 Wheezy. Neste tutorial usaremos o MySQL como banco de dados. Este tutorial também é válido para o Ubuntu 12.04.1 e suas variações (Lubuntu, Xubuntu, Kubuntu e etc.) a partir do seção 1.4.

1) Preparando o Ambiente

Logo Debian1.1) Primeiro vamos instalar as dependências. Como administrador do sistema (root)

  nano /etc/apt/sources.list

1.2) Acrescente as seguintes linhas no final do arquivo, salve (CTRL + o) e saia do nano (CTRL + x)

  deb http://ftp.br.debian.org/debian wheezy main contrib
  deb-src http://ftp.br.debian.org/debian wheezy main contrib


1.3) Atualize a base de pacotes local

  apt-get update

1.4) Instale as dependências

  apt-get install php5 php5-cli php5-curl php5-gd php5-mcrypt php5-mysql libapache2-mod-proxy-html mysql-server mysql-client git exim4 -y

  * Opcionalmente limpe o cache dos pacotes baixados com o comando: apt-get clean

2) Instalando o Friendica

2.1) Baixando o Código-Fonte

  Removendo o index.html padrão da instalação
  rm /var/www/index.html

  Baixando a última versão do Friendica do repositório Git
  git clone https://github.com/friendica/friendica.git /var/www

  Mudando o Dono/Grupo do Friendica
  chown www-data.www-data /var/www -R

2.2) Ative o módulo mod_rewrite

  Ativando o mod_rewrite
  a2enmod rewrite

2.3) Configurando o Apache2

  Edite a configuração do Site do Apache2
  nano /etc/apache2/sites-enabled/000-default

  Modifique o bloco de configuração
  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>


  Para
  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>


2.4) Configurando o .htaccess

  nano /var/www/.htaccess

  Descomentar a Linha (Basta retirar o '#')
  # RewriteBase /

2.5) Re-inicie o Apache2

  service apache2 restart

3) Criando a Base de Dados do Friendica

  Criando a Base de Dados no MySQL
  mysql -u root -ptutorial -e "CREATE DATABASE friendica"

4) Acessando pela primeira vez

  Usando o navegador de sua prefêrencia, digite o endereço, configure e crie a conta de administração.

  http://localhost

5) Informações Extras

  Caso você não receba o e-mail de confirmação com a senha você pode alterar diretamente na linha de comando. Colocando a senha tutorial para o usuário tutorial.

  mysql -u root -ptutorial friendica -e "UPDATE user SET password='31bcb4a26757f5e279065b09bea788bbab286ee9d08cdbccb9158e81bcf7467939831fec07f751535e4d51573cb2978a13f047eaadd99507621e995495cfc1f9' WHERE username='tutorial';"



YaCy 1.2

27 de Novembro de 2012, 0:00, por Software Livre Brasil

Logo YaCyOs desenvolvedores do YaCy disponibilizaram uma nova versão do seu motor de busca descentralizado e de código fonte aberto. O YaCy 1.2 traz integração com a plataforma de busca Solr 4.0.0, melhorias no agregador de conteúdo e aprimoramento na interface de administração da ferramenta.

O motor de busca peer-to-peer (P2P) YaCy, licenciado sobre a GPL, foi pensado como uma alternativa para serviços de busca, como os fornecidos pelo Google, que são centralizados em uma única empresa.

Assim como as ferramentas de compartilhamento de arquivos P2P, todos os participantes que fazem parte da rede YaCy contribuem com os resultados das buscas e utilizam os resultados de outros participantes da rede. Uma vantagem importante, dizem os desenvolvedores, é que o conteúdo do YaCy não pode ser censurado. Karsten Gerloff, presidente da "Free Software Foundation Europe" descreve o projeto como "um bloco de construção vital" para o "futuro dos sistemas P2P distribuídos".

Mais de 800 participantes (peer) já contribuem para as buscas baseadas no YaCy. O motor de busca atualmente possui mais de 1.4 bilhão de documentos no seu índice e lida com mais de 130,000 requisições por dia. Outros sistemas de busca também são baseados na tecnologia da YaCy, por exemplo, o Instituto de Tecnologia Karlsruhe oferece busca sobre conteúdo cientifico usando o YaCy.

O YaCy pode ser instalado no modo "stand-alone" - por exemplo para buscas locais dentro de uma rede - ou como parte da rede P2P. Os desenvolvedores enfatizam a simplicidade de instalação do mesmo e disponibilizam versões para o Linux, Mac OS X e Windows.

Conheça mais sobre o Yacy
http://yacy.net/en/

Peer Brasileiros do Yacy
http://yacy.juntadados.org/



Em breve no Kernel Linux 3.7 - Parte 2 - Redes

19 de Novembro de 2012, 0:00, por Software Livre Brasil

Autor: Thorsten Leemhuis (Copyright (c) 2012 Heise Media UK Ltd.)
Traduzido: Marcelo Soares Souza (Dúvidas e melhorias na tradução envie por E-mail)
Originalmente: http://h-online.com/-1752099

Logo Kernel Log PenguinOs desenvolvedores do Kernel adicionaram suporte a NAT [1] no IPv6 dentro do Linux (1[2], 2[3] e outros). Muitos desenvolvedores do Linux haviam questionado [4] a utilidade de se fazer isto, desde que o NAT é desnecessário dado o grande número de endereços oferecido pelo IPv6.

Apesar disso, os desenvolvedores adicionaram esta funcionalidade, porque a especificação do NAT com o IPv6[5] evita alguns dos problemas que dificultaram o desenvolvimento da solução no IPv4, e verifica-se que há casos aos quais o NAT para IPv6 pode ser realmente útil. Alguns usuários e instituições, por exemplo, desejam [6] usar o NAT para manter sua topologia de rede interna escondida. Empresas que utilizam múltiplas conexões de Internet de diferentes provedores, para aumentar a disponibilidade da mesma, fornece mais uma razão para apoiar o NAT no IPv6, pois torna mais fácil a troca entre diferentes conexões.

Drivers


Como quase todas as versões do kernel, alguns drivers foram estendidos para suportar novos dispositivos e funcionalidades: o driver de tethering do iPhone ipheth agora suporta o [7] iPhone 5 e o driver wireless Atheros ath9k agora suporta o chip AR9565 Wi-Fi (1[8], 2[9], 3[10], 4[11] e outros).

O driver da Broadcom fullmac brcmfmac adicionou suporte aos chips wireless USB 43242[12] e 43143[13]; em conjunto com o hostap, o driver pode agora [14] definir o dispositivo como um access point (master mode). O driver ethernet Intel e1000e agora suporta [15] o componente de rede oferecido pela versão de baixo consumo de energia (LP) da plataforma controladora Lynx Point.

Outras novidades


O protocolo de túnel GRE (generic routing encapsulation[17]) pode agora[18] criar túneis entre outros protocolos IPv6.

Os desenvolvedores do Kernel adicionaram o código, do lado do servidor, para a técnica de TCP Fast Open (TFO) (1[19], 2[20], 3[21] e outros). O Linux 3.6 já contém o suporte do lado do cliente para esta extensão experimental desenvolvida pelo Google, que busca acelerar o handshaking das conexões HTTP [22] pela combinação[23] das duas primeiras etapas das três vias do handshake normalmente normalmente aplicada no TCP.

Também como novidade[24] o suporte a Virtual eXtensible Local Area Networking (VXLAN), um rascunho do protocolo de túnel submetido[25] para a Internet Engineering Task Force (IETF), que, de acordo com a documentação do Kernel[26], é capaz de ir além do limite de 4096 no número de VLANs.

O driver de Team agora suporte [27] dispositivos não-Ethernet.

O driver de bonding suporta transmitir hashing IPv6 [28].

O mantenedor do subsistema de rede discute as principais mudanças deste no e-mail de requisição de mudança (git pull request) [29] para o Linux 3.7.

Links deste artigo
[1] http://en.wikipedia.org/wiki/Network_Address_Translation
[2] http://git.kernel.org/linus/c7232c9979cba684c50b64c513c4a83c9aa70563
[3] http://git.kernel.org/linus/58a317f1061c894d2344c0b6a18ab4a64b69b815
[4] http://thread.gmane.org/gmane.comp.security.firewalls.netfilter.devel/39974/focus%3D40040
[5] http://www.h-online.com/nettools/rfc/rfcs/rfc6296.shtml
[6] http://thread.gmane.org/gmane.comp.security.firewalls.netfilter.devel/39978
[7] http://git.kernel.org/linus/af1b85e49089f945deb46258b0fc4bc9910afb22
[8] http://git.kernel.org/linus/0c8070f92f483b764623f6d3960a4d69f8911351
[9] http://git.kernel.org/linus/a4a2954ff49e72ce3fa1f78a156b2492a023c89d
[10] http://git.kernel.org/linus/aaa53ee97dab2b4c98ea2765e4f16af62d8694bb
[11] http://git.kernel.org/linus/77fac465b4b65056a2cec62c1acdc754b7ae86ed
[12] http://git.kernel.org/linus/1212d370e7e00eea38e30d6ac93e907bb351ebfa
[13] http://git.kernel.org/linus/70f0822c5d430ddcca722cd8cd03760ca432c531
[14] http://git.kernel.org/linus/1a87334239757b69eb9885979c32bbf871b3ec88
[15] http://git.kernel.org/linus/16e310ae6ed352c4963b1f2413fcd88fa693eeda
[16] http://article.gmane.org/gmane.linux.kernel/1395793
[17] https://en.wikipedia.org/wiki/Generic_Routing_Encapsulation
[18] http://git.kernel.org/linus/c12b395a46646bab69089ce7016ac78177f6001f
[19] http://git.kernel.org/linus/8336886f786fdacbc19b719c1f7ea91eb70706d4
[20] http://git.kernel.org/linus/168a8f58059a22feb9e9a2dcc1b8053dbbbc12ef
[21] http://git.kernel.org/linus/1046716368979dee857a2b8a91c4a8833f21b9cb
[22] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-6-Part-2-Networking-1697920.html
[23] https://lwn.net/Articles/508865/
[24] http://git.kernel.org/linus/d342894c5d2f8c7df194c793ec4059656e09ca31
[25] http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02
[26] http://git.kernel.org/linus/d342894c5d2f8c7df194c793ec4059656e09ca31#patch1
[27] http://git.kernel.org/linus/1d76efe1577b4323609b1bcbfafa8b731eda071a
[28] http://git.kernel.org/linus/6b923cb7188d46905f43fa84210c4c3e5f9cd8fb
[29] http://article.gmane.org/gmane.linux.network/244867



Kernel Linux 3.6.7

19 de Novembro de 2012, 0:00, por Software Livre Brasil

Logo Tux WorkerA nova versão estável da série 3.6 do Kernel do Linux traz 68 mudanças. Como destaque no Kernel Linux 3.6.7 estão mudanças no subsistema Direct Rendering Manager (12 mudanças), correções em drivers e no subsistema WiFi 802.11 (10 mudanças), 8 mudanças no subsistema ALSA dentre outros.

Lista de mudanças Kernel Linux 3.6.7
af-packet: fix oops when socket is not present
ALSA: Add a reference counter to card instance
ALSA: Avoid endless sleep after disconnect
ALSA: Fix card refcount unbalance
ALSA: PCM: Fix some races at disconnection
ALSA: usb-audio: Fix mutex deadlock at disconnection
ALSA: usb-audio: Fix races at disconnection
ALSA: usb-audio: Fix races at disconnection in mixer_quirks.c
ALSA: usb-audio: Use rwsem for disconnect protection
ath9k: fix stale pointers potentially causing access to free'd skbs
ath9k: Test for TID only in BlockAcks while checking tx status
batman-adv: Fix broadcast packet CRC calculation
cfg80211: fix antenna gain handling
drivers/net/ethernet/nxp/lpc_eth.c: Call mdiobus_unregister before mdiobus_free
drm/i915: clear the entire sdvo infoframe buffer
drm/i915: fix overlay on i830M
drm/i915: Only kick out vesafb if we takeover the fbcon with KMS
drm/radeon/cayman: add some missing regs to the VM reg checker
DRM/Radeon: Fix Load Detection on legacy primary DAC.
drm/radeon/si: add some missing regs to the VM reg checker
drm: restore open_count if drm_setup fails
drm: set dev_mapping before calling drm_open_helper
drm/udl: fix stride issues scanning out stride != width*bpp
drm/vmwgfx: Fix a case where the code would BUG when trying to pin GMR memory
drm/vmwgfx: Fix hibernation device reset
futex: Handle futex_pi OWNER_DIED take over correctly
GFS2: Test bufdata with buffer locked and gfs2_log_lock held
hwmon: (w83627ehf) Force initial bank selection
Input: tsc40 - remove wrong announcement of pressure support
ipv4: Fix flushing of cached routing informations
ipv6: send unsolicited neighbour advertisements to all-nodes
ipv6: Set default hoplimit as zero.
iscsi-target: Fix missed wakeup race in TX thread
ixgbe: PTP get_ts_info missing software support
l2tp: fix oops in l2tp_eth_create() error path
mac80211: check management frame header length
mac80211: don't inspect Sequence Control field on control frames
mac80211: fix SSID copy on IBSS JOIN
mac80211: make sure data is accessible in EAPOL check
mac80211: Only process mesh config header on frames that RA_MATCH
mac80211: use blacklist for duplicate IE check
mac80211: verify that skb data is present
mmc: sdhci: fix NULL dereference in sdhci_request() tuning
mmc: sh_mmcif: fix use after free
net: fix divide by zero in tcp algorithm illinois
net: fix secpath kmemleak
net: inet_diag -- Return error code if protocol handler is missed
netlink: use kfree_rcu() in netlink_release()
net: usb: Fix memory leak on Tx data path
NFS: fix bug in legacy DNS resolver.
nfs: Show original device name verbatim in /proc/*/mount{s,info}
nfsv3: Make v3 mounts fail with ETIMEDOUTs instead EIO on mountd timeouts
NFSv4.1: We must release the sequence id when we fail to get a session slot
NFSv4: nfs4_locku_done must release the sequence id
NFS: Wait for session recovery to finish before returning
rt2800: validate step value for temperature compensation
sctp: fix call to SCTP_CMD_PROCESS_SACK in sctp_cmd_interpreter()
target: Avoid integer overflow in se_dev_align_max_sectors()
target: Don't return success from module_init() if setup fails
target: Fix incorrect usage of nested IRQ spinlocks in ABORT_TASK path
target: Re-add explict zeroing of INQUIRY bounce buffer memory
tcp: fix FIONREAD/SIOCINQ
tcp-repair: Handle zero-length data put in rcv queue
wireless: drop invalid mesh address extension frames
xen/gntdev: don't leak memory from IOCTL_GNTDEV_MAP_GRANT_REF
xen/mmu: Use Xen specific TLB flush instead of the generic one.
xfs: fix buffer shudown reference count mismatch
xfs: fix reading of wrapped log data



Iniciado o desenvolvimento do PHP 5.5

16 de Novembro de 2012, 0:00, por Software Livre Brasil

Originalmente: http://h-online.com/-1751313

Logo PHPO lançamento da primeira versão alpha do PHP 5.5 marca o inicio oficial do ciclo de lançamento da versão 5.5.0 da linguagem de script. O PHP 5.5 também marca o fim do suporte ao Windows XP e Windows 2003.

Entre as principais novidades deste lançamento estão o suporte ao "generators", uma nova API para geração de senha usando hash, o uso da instrução finally em blocos try/catch, suporte para list() em loops foreach, desreferenciação de constantes em arrays e strings e revisão do código do ext e intl.

Os desenvolvedores do projeto solicitam que os usuários do PHP testem o atual estado do desenvolvimento e reportem qualquer erro que encontrarem. Eles convidaram a todos que submetam requests for comments (RFCs). À medida que o projeto tem usado o sistema de controle de versão Git, desde Setembro de 2011, qualquer pessoa pode submeter correções.

Pacotes da versão alpha do novo PHP para as versões suportadas do Windows podem ser encontradas no site do PHP; o código fonte também esta disponível. Uma lista completa de mudanças pode ser encontrada no arquivo de NEWS. O PHP é disponibilizado sobre a licença PHP v3.01.

Lista de mudanças
https://github.com/php/php-src/blob/php-5.5.0alpha1/NEWS



MPICH 3.0rc1

16 de Novembro de 2012, 0:00, por Software Livre Brasil

Logo mpich2Foi disponibilizado o primeiro candidato de lançamento do MPICH 3.0rc1. O MPICH é uma implementação multi-plataforma do padrão de troca de mensagens MPI voltado ao desenvolvimento de aplicações de memória distribuída usadas em clusters.

O MPICH 3.0 traz muitas novidades como a implementação completa do novo padrão MPI-3, suporte a arquitetura ARM-v7, muitas correções de erro e melhorias de performance.

MPICH é um Software Livre e esta disponível para diversos Unix-Like (incluindo Linux e Mac OS X) e para o Microsoft Windows. É também uma das mais populares implementações do padrão MPI, utilizada como base para outras implementações do MPI incluindo IBM MPI (para o Blue Gene), Intel MPI, Cray MPI, Microsoft MPI, Myricom MPI, OSU MVAPICH/MVAPICH2, e muitas outras.

Download
http://www.mpich.org/downloads/ (Código-Fonte)
http://www.cebacad.net/files/mpich/ubuntu (Pacotes para Ubuntu)
http://www.cebacad.net/files/mpich/debian (Pacotes para Debian)
http://www.cebacad.net/files/mpich/slackware (Pacotes para Slackware)

Notas de lançamento
http://www.mpich.org/2012/11/12/mpich-3-0rc1-released-nov-13-2012/



Em breve no Kernel Linux 3.7 - Parte 1 - Sistemas de Arquivos e Armazenamento

16 de Novembro de 2012, 0:00, por Software Livre Brasil

Tux GeniusAutor: Thorsten Leemhuis (Copyright (c) 2012 Heise Media UK Ltd.)
Traduzido: Marcelo Soares Souza (Dúvidas e melhorias na tradução envie por E-mail)
Originalmente: http://h-online.com/-1750000

No último fim de semana, Linus Torvalds lançou[1] o quinto candidato de lançamento do Linux 3.7; ele ficou feliz em destacar que apenas algumas mudanças, na maioria secundárias, foram submetidas para este candidato de lançamento. Como de costume, Torvalds e seus companheiros desenvolvedores já incorporaram todas as grandes novas funcionalidades[2] no início do ciclo de desenvolvimento do Linux 3.7. Desde que é raro que novas mudanças sejam integradas durante a fase de estabilização, O "Em breve no Kernel Linux" pode fornecer uma  visão abrangente sobre os mais importantes avanços nesta versão do Linux, que é esperado para meados de Dezembro.

Este resumo sera apresentado na costumas série de artigos que cobrirão as várias áreas do Linux. O primeiro artigo abaixo descreve as mais importantes novidades no sistema de arquivos e armazenamento do Kernel; os artigos subsequentes irão discutir os drivers gráficos, suporte a redes, arquitetura e drivers de dispositivos.

Btrfs

De acordo com os desenvolvedores, uma otimização no código do fsync no Btrfs[3] melhorou a performance de escrita, especialmente em máquinas virtuais, quando uma imagem de uma máquina virtual esta localizada em um sistema de arquivos Btrfs e a máquina convidada (guest) frequentemente requisita escrita imediata usando o fsync.

Comentando sobre a modificação, um desenvolvedor, que trabalha para a Fusionio, notou que os testes do benchmark Fio[4], com dados distribuído onde cada um finalizou com fsync, a transferência de dados com um disco SATA aumentou de 82 para 140KB por segundo. O número ainda são bastante baixos porque, a cada pequena gravação aleatória, o benchmark aguardou até que o dado fosse realmente escrito. Com um driver "Fusion drive", não especificado, (tal como o Fusion IO Drive - um dispositivo PCIe com um chip de memória flash), a transferência reportada aumentou de 431 para 2,532KB/s.

Esta modificação é base para outra mudança[5] que melhora a performance do fsync com gravações sincronizadas: em testes que o desenvolvedor rodou com o programa "dd", a transferência do driver SATA  aumentou de 104 inicialmente para 121KB/s; em um ramdisk, o Btrfs aparentemente completou o testes muitas vezes mais rápida do que antes. Uma modificação no código do fsync para o Btrfs que foi introduzida[6] no 3.5 foi revertida[7] porque um resultado do sysbench mostrou que a performance caiu de 39 para 24MB/s no sistema de testes de desenvolvimento.

Assim como o Ext4 e outros sistemas de arquivos antes dele, o Btrfs pode agora[8] desalocar áreas de memória dentro dos arquivos. Esta técnica de "hole punching" é de interesse, por exemplo, de ferramentas de virtualização porque este permite ao sistema de arquivo dos sistemas hospedeiro (host) a desalocar espaço quando os arquivos que usam espaço forem deletados no sistema convidado (guest). Além, há um algumas correções de erros no código de envio/recebimento que foi introduzido no Linux 3.6[9]. Com o Btrfs no Linux 3.7 é possível agora ter não apenas 20, mas mais de 65,536 hardlinks para um arquivo. Chris Mason, o responsável do ainda experimental sistema de arquivos, lista as várias outras mudanças no Btrfs em um email[10] com sua requisição de GIT pull.

Sistemas de arquivos

O Ext4 pode agora redimensionar[11] em volumes com mais de 16TB de tamanho. Theodore "tytso" Ts'o também faz observações, em seu email[12] para sua principal requisição de GIT pull, de que as operações de redimensionamento se tornaram mais rápidas.

O sistema de arquivos CIFS (Common Internet File System) que dá acesso aos compartilhamentos Windows e Samba agora suporta o[13] SMB (Server Message Block) 2.0, este foi introduzido no Windows Vista, assim como nos descendentes como o Windows 7 com a versão SMB 2.1. O código ainda é classificado como experimental; fragmentos deste código já fazem parte do kernel já a algum tempo, mas estava marcada como "quebrada" e foram, por isso, não utilizadas.

O suporte a NFS 4.1 não é mais classificado como experimental[14].

Armazenamento

O código da ferramenta MD (RAID) para o Linux 3.7 pode agora usar o descarte para informar aos dispositivos, em um arranjo RAID, sobre novas áreas de armazenamento desalocadas, o que é relevante para discos SSDs (1[15], 2[16], 3[17], 4[18], 5[19]). O código do NBD (Network Block Devices) pode também informar sobre áreas de armazenamento desalocadas através do descarte.

Em dispositivos ATA, o arquivo de dispositivo cache_type no sysfs (por exemplo /sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:1/0:0:1:0/scsi_disk/0:0:1:0/cache_type) pode agora ser utilizado[20] para realizar a troca entre os comportamentos de cache write-through e write-back.

Agora o subsistema Libata possui suporte a [21] "Aggressive SATA device sleep", um mecanismo de gerenciamento de energia que é especificado na proposta técnica AHCI 1.3.1 e pode reduzir o consumo de energia em sistemas com discos SATA.

O driver SCSI qla4xxx pode agora lidar com [22] o Qlogic 8032 (ISP83XX), e o Virtio-Scsi suporta o redimensionamento de dispositivos de armazenamento[23].

A camada de bloco agora oferece[24] o comando "WRITE SAME" que permite que um pacote de dados seja transmitido uma vez e em seguida seja escrito em todos os blocos de IO especificados. Isto fornece uma maneira fácil e eficiente de realizar tarefas tais como inicialização de RAIDs ou sobrescrita de dispositivos de armazenamentos.

Links deste artigo
[1] http://article.gmane.org/gmane.linux.kernel/1391790
[2] http://www.h-online.com/news/item/Main-development-phase-of-Linux-3-7-completed-1729556.html
[3] http://git.kernel.org/linus/5dc562c541e1026df9d43913c2f6b91156e22d32
[4] http://git.kernel.dk/?p=fio.git;a=summary
[5] http://git.kernel.org/linus/4e2f84e63dc138eca91e89ccbc34f37732ce58f7
[6] http://git.kernel.org/linus/0885ef5b5601e9b007c383e77c172769b1f214fd
[7] http://git.kernel.org/linus/90abccf2c6e6e9c5a5d519eaed95292afa30aa11
[8] http://git.kernel.org/linus/2aaa66558172b017f36bf38ae69372813dedee9d
[9] http://www.h-online.com/open/features/What-s-new-in-Linux-3-6-1714690.html
[10] http://thread.gmane.org/gmane.comp.file-systems.btrfs/20335
[11] http://git.kernel.org/linus/01f795f9e0d67adeccc61a8b20c28acb45fa5fd8
[12] http://article.gmane.org/gmane.comp.file-systems.ext4/34721
[13] http://git.kernel.org/linus/ba02e89915afcfc9a071a86e5cae32f77c7d353a
[14] http://git.kernel.org/linus/8544a9dc18a1aa787b85425ecc9233b0a9adaff4
[15] http://git.kernel.org/linus/f1cad2b68ed12c0f82d3f56e150691f62b6f5edf
[16] http://git.kernel.org/linus/c83057a1f4f987327c49448b046d9625c612ed8e
[17] http://git.kernel.org/linus/2ff8cc2c6d4e323de71a42affeb3041fa17d5b10
[18] http://git.kernel.org/linus/532a2a3fba8df076d65fdf17518eeb327b37a313
[19] http://git.kernel.org/linus/620125f2bf8ff0c4969b79653b54d7bcc9d40637
[20] http://git.kernel.org/linus/1b26d29ccd592ea585c7cc291384184c5568da92
[21] http://git.kernel.org/linus/65fe1f0f66a57380229a4ced844188103135f37b
[22] http://git.kernel.org/linus/6e7b429259fc0b7f2d9b1147466656b34d114815
[23] http://git.kernel.org/linus/865b58c05b841964f48f574c2027311bd04db8a1
[24] http://git.kernel.org/linus/4363ac7c13a9a4b763c6e8d9fdbfc2468f3b8ca4



Acabando com o Culto à Personalidade no Movimento Software Livre

14 de Novembro de 2012, 0:00, por Software Livre Brasil

Autor: Aaron J. Seigo
Traduzido livremente de: http://aseigo.blogspot.com.br/2012/11/ending-cults-of-personality-in-free.html
Sugestões e críticas construtivas a tradução: marcelo@juntadados.org

Foto Aaron_SeigoO Movimento Software Livre tem uma história de criação e suporte ao culto à personalidade. Uma vez que isto é um fenômeno humano generalizado, é fácil entender como isso acontece. Isso é, porém, inútil e destrutivo e nós deveríamos ativamente desencorajar este comportamento, começando por pôr de lado os atuais cultos.
 
A mais recente, embora certamente não o único exemplo, deste comportamento retrógrado foi observado quando Linus Torvalds começou a postar no Google+ sobre sua recente análise de várias soluções de ambiente de Desktop livres. Isso foi replicado em vários blogs, Slashdot, Linux Today e etc. Por que nós importamos com o que Linus usa? Basta dizer que: ele é uma super estrela na comunidade de Software Livre e as pessoas se apegam a todas as suas palavras como se ele fosse um oráculo de todas as coisas de tecnologia. Alerta de Spoiler: Ele não é.
 
As opiniões, de Linus, sobre ambientes de Desktop são tão significativas quanto a opinião dele sobre foguetes, filmes, técnicas de recuperação de óleo, sociologia, história das religiões, engenharia de automóveis ou qualquer outro tópico que ele não tenha experiência significativa.

Todo mundo tem uma opinião sobre as coisas que usa, tais como carros e barcos, e sobre coisas que simplesmente entramos em contato, tais como filmes ou religiões. Compartilhar nossos pontos de vista é ótimo, e é uma parte necessária do discurso democrático que pode mover a sociedade ao longo do seu caminho evolutivo.
 
Sendo assim, opiniões tem valor e podem ser altamente benéficas quando misturadas com centenas, milhares ou até milhões de outras opiniões. O segredo, porém, é não deixar a aqueles cuja as opiniões não são de grande valor, em termos de serem baseadas em um maior entendimento ou de terem acesso a dados relevantes, se tornarem mais importantes do que outras opiniões nas discussões.
 
Linus é tão susceptível de esta "errado", quanto a soluções de ambiente Desktop no Linux, como a maioria das outras pessoas que utilizam soluções de Desktop. Eu usei aspas porque ele não esta tão errado sobre tudo: qualquer que seja seu ponto de vista recente, reflete sua opinião claramente e pode até ser extrapolado para outras pessoas com necessidades similares. Isto não deve surpreender. É como dizer que Linus pode esta errado sobre foguetes como qualquer outra pessoa que não esta envolvida no seu projeto e fabricação. Talvez mais, mesmo que Linus não seja um grande entusiasta do Espaço mais apenas um leitor de artigos casual e veja coisas que a NASA disponibiliza em press releases.
 
Quando eu vi pela primeira vez outras pessoas comentando sobre os comentários dele no Google+ sobre o uso do KDE Plasma, eu compartilhei o sentimento acima, mas de forma mais resumida. Eu não me importo com o que Linus usa, pelo menos não como um dado isolado: não é informação útil por uma simples razão: não nos ajuda a criar o software de que o mundo precisa.
 
Vamos dar um passo para o lado e considerar isso por um angulo diferente: Imagine que alguém desenvolva o ambiente de Desktop perfeito para o Linus. Algo que o satisfaça completamente, e que ele possa falar alegremente sempre que deseje. Será que este ambiente será interessante e útil para o público em geral, ou será interessante apenas para desenvolvedores do kernel e pessoas mal humoradas como o Linus? Poderia ser das duas formas, realmente, porque (de novo) o fato de que Linus gostou não é necessariamente uma informação útil quando vista de forma isolada.
 
Nós poderíamos escolher qualquer outro indivíduo no planeta que não tenha a mesma quantidade de experiencia relevante e dizer a mesma coisa. Isso não é uma "surra" no Linus, é uma observação sobre algo que o Movimento Software Livre faz muito mal.

Não é culpa do Linus que nós prestamos mais atenção a ele, em tais tópicos, do que deveríamos; somos nós que decidimos prestar atenção ao Linus em tais tópicos. Nós também podemos decidir não prestar atenção. Ainda melhor, podemos focar em conjuntos de dados bem formados e prestar atenção nestes.
 
Então porque nós prestamos tanta atenção e nos importamos sobre tudo o que o Linus diz ou pensa sobre estas questões? Existe razões muito humanas para o porque de fazermos isto, as quais os cientistas sociais podem, provavelmente, falar melhor do que eu, de modo que isto é em grande parte uma questão retórica. Eu acredito que é inegável, contudo, que arriscamos a direção do Movimento Software Livre construindo tais cultos à personalidade.
 
É claro, isto vai ainda mais longe. Estes cultos à personalidade encorajam a outras pessoas a imitarem pessoas como o Linus, quando se trata de coisas como estilo de comunicação. Devido à tendência humana de "nós imitamos a quem admiramos", mantendo o Linus "em alta" encoraja as pessoas a adotarem um padrão de comunicação rude.

Linus não é um bom exemplo para nada além de manter de forma bem sucedida o kernel do linux e a projetos similares, ainda assim ele é imitado por pessoas que confundem o segredo do seu sucesso com seu estilo de comunicação.
 
O culto em torno do Linus não é o único culto à personalidade no Movimento Software Livre, por certo. Este episódio é simplesmente uma boa oportunidade de falar sobre isto. Eu poderia facilmente escrever uma post no blog sobre os outros problemas, que o culto à personalidade causa ao Movimento Software Livre. Meus anos na comunidade me "agraciaram" com uma grande quantidade de experiência pessoais relacionados com quase todas as supostas personalidades do Movimento Software Livre.
 
...qual é a "grande lição" aqui: ninguém é um messias e somo todos igualmente frágeis e imperfeitos. Em palavras positivas: somo todos igualmente infalíveis e perfeitos. Então de onde podemos tirar uma liderança, se não de personalidades luminosas?
 
Eu não acredito que o Movimento Software Livre precise, ou se beneficie, de lideranças globais tanto quanto o mundo precisa de ditaduras ou de um governo único global. O que o Movimento Software Livre precisa é, de lideranças locais, e estes lideres precisam ter sua influência limitada (por uma falta de deificação saudável, entre outras coisas) a fim de criar um ambiente no qual é valioso (e mais aceitável) chegar a outros através de domínios.
 
Sem isto, nos ficaremos a deriva inutilmente. O Movimento Software Livre não foi capaz de decolar em dispositivos de consumo até que uma corporação ditadora entrou em cena, basicamente ignorando a todos e empurrando o Android.
 
Este por sua vez se tornou, atualmente, a principal fonte de violações da GPL (Eu só encontrei outra hoje, agora é um tablet sendo oferecido para venda por uma respeitada revendedor de computadores que "apoia" o Software Livre) e isto não é um ecossistema com participação igualitária ou com governança aberta.
 
Precisávamos do Android porque não poderíamos fazê-lo nós mesmos, porém o Android também é uma grande fraqueza para os esforços do Movimento Software Livre, e fica muito aquém do que é realisticamente possível. Nós não podemos nos queixar muito alto, porque não conseguimos juntar toda nossa "merda" para produzir resultados melhores antes.
 
Nós ainda estamos esperando pelo "salvador" no lado do Desktop. Alguns pensaram que poderia ser o Ubuntu, mas o que tivemos do Ubuntu, em grande parte devido a abordagem de "ditador vitalício auto-nomeado", é um bifurcação de um dos maiores ambientes de Desktop e de sua comunidade com um inútil sideshow quase interminável de maledicência entre várias distribuições Linux, desenvolvedores do kernel e outros com a Canonical.

Tudo isto ocorreu por razões compreensíveis, nada disso foi feito sem uma lógica interna consistente, e ainda assim não promoveu os objetivos finais para o sucesso do Movimento Software Livre.
 
Eu não sei sobre você, mas eu estou doente e cansando sobre a ineficiência e comportamento auto-destrutivo do Movimento software Livre devido às cismas internas.
 
Ah, mas temos exemplos positivos onde o Software Livre fez muito bem: os servidores e super computadores. Por que o Software Livre, impulsionado pelo modelo de desenvolvimento de código aberto, brilhou tão brilhantemente aqui? Quando olhamos profundamento para a sua história podemos notar a relativa falta de culto à personalidade e a grande ênfase em dados que importam (algo que é mais fácil de realizar quando se pode utilizar análises de performance ou testes de conformidade com métricas respeitadas e confiáveis).
 
Certamente há pessoas que são respeitadas, admiradas e influentes no lado de servidores, mas há uma clara falta de culto à personalidade e um grande número de cooperação (mesmo na competição), e esforços concentrados na tecnologia. O Samba me veem a mente imediatamente, com Jeremey Allison e John Terpstra, duas pessoas que respeito muito mas que não tem a aura de "culto à personalidade".
 
É claro que nem tudo são rosas, a todo tempo, no lado das ferramentas de servidor, é claro, existem contra-exemplos ao Samba e eu provavelmente apontaria para o MySQL e sua história ao longo dos anos (desde seu começo como Software Não Livre, passando pela estranha interpretação da GPL e a tomada corporativa desta), que eu acredito se correlacionar com o controle centralizado por uma liderança carismática ligado ao fanboysm do projeto. Você sabe, exatamente como vemos com o Desktop no Linux.
 
Para aqueles que podem concordar, mas responder com "mas é assim que as pessoas trabalham, não há muito o que possamos fazer": bem, eu aceito o seu ponto de vista, mas humildemente discordo. Talvez não possamos mudar o mundo como um todo (pelo menos, não apenas em uma noite), porém podemos positivamente afetar partes do mundo que nós mesmos criamos. Nós criamos Software Livre juntos, e portanto podemos criar este a imagem que queremos.
 
Como participante co-criador deste mundo, eu tenho impacto em como ele funciona e sobre a cultura que o cerca... como você. Não somos completamente impotentes para nós mesmos; nós podemos fazer escolhas sábias se optarmos por isto. O progresso da justiça social na história humana nos mostrou que não somos escravos das nossas fraquezas, embora possa levar tempo e esforço para emancipar-nos.
 
Nós podemos tomar a decisão de libertar-nos dos cultos a personalidade usando a nossa própria consciência: construindo estruturas descentralizadas de responsabilidade, prestando atenção e recompensando o esforço cooperativo (e coletivo). Isto irá permitir-nos juntar os nossos esforços, em conjunto, dentro de uma maciça e combinada fogueira ao invés termos mil brasas minúsculas lutando por combustível e oxigênio de tal forma que brilhem mas inevitável mente voltem a se apagar.
 
Nós precisamos perceber que o comportamento que surge da nossa cultura atual não promove os objetivos que todos compartilhamos juntos para o sucesso do Movimento Software Livre. Se isso realmente é o que queremos, então precisamos alterar o que retarda o nosso progresso em direção a este objetivo. Precisamos valorizar o progresso do Movimento Software Livre mais do que valorizamos a recompensa do fanboyism.
 
Simplificando: se queremos softwares livres para prosperar precisamos nos engajar numa melhoria consciente da cultura do Software Livre e, tão importante quanto, deixar para trás aqueles que optarem ao contrário. Eu não vou tentar enganar ninguém: isto vai levar anos para acontecer... porém podemos começar agora.
 
Vá em frente e diga: "Eu não me importo com o que Linus Torvalds usa no seu computador." Viu como pode ser fácil? :)



Ruby on Rails 3.2.9

12 de Novembro de 2012, 0:00, por Software Livre Brasil

Logo RailsCom 189 commits (mudanças), na árvore de desenvolvimento, foi disponibilizada uma nova versão estável do Framework para desenvolvimento de aplicativos Web Ruby on Rails (RoR). A versão 3.2.9 consiste basicamente de correções destacando-se pequenas mudanças no ActiveRecord, ActionPack, ActiveModel, ActiveSupport, ActionMailer e Railties.

Junto com a nota de lançamento do RoR 3.2.9 há um alerta sobre uma brecha para ataques do tipo DoS encontrado recentemente no Ruby. É recomendado atualizar o Ruby para a versão 1.9.3 patchlevel 327 ou configurar o servidor web  para limitar o tamanho da requisição HTTP. O Nginx já faz isto por padrão e o Apache precisa ser configurado usando a diretiva LimitRequestBody.

RoR enfatiza o uso de padrões de projetos conhecidos tais como Active Record, DRY (Don't Repeat Yourself) e arquitetura MVC (Model-View-Controller) e é utilizado por grandes sites como Software Livre Brasil (Noosfero), Github, Diaspora, Scribd, Groupon dentre outros.

A série estável 3.2.x do Ruby on Rails será a última a suportar o Ruby 1.8.7. A próxima versão do Rails (4.0), terá como requisito a versão 1.9.3 ou superior do Ruby, que traz como vantagem uma grande melhoria na performance e escalabilidade.

Notas de lançamento
http://weblog.rubyonrails.org/2012/11/12/ann-rails-3-2-9-has-been-released/



Tutorial instalando o Noosfero no Debian 7.0 (Wheezy) com o Nginx e Phushion Passenger

8 de Novembro de 2012, 0:00, por Software Livre Brasil

Logo DebianEste tutorial mostrara como instalar a plataforma para redes sociais e de economia solidária Noosfero, desenvolvida em Ruby on Rails, utilizando o módulo para implantação de aplicativos Ruby Passenger Phusion sobre o Servidor Web de alta performance Nginx no GNU/Linux Debian 7.0 Wheezy. Neste tutorial usaremos o PostgreSQL como banco de dados.

1) Preparando o Ambiente

1.1) Primeiro vamos instalar as dependências para o Noosfero, PostgreSQL, Nginx e Passenger Phusion. Como administrador do sistema (root)

  nano /etc/apt/sources.list

Logo Nginx1.2) Acrescente as seguintes linhas no final do arquivo, salve (CTRL + o) e saia do nano (CTRL + x)

  deb http://ftp.br.debian.org/debian wheezy main contrib
  deb-src http://ftp.br.debian.org/debian wheezy main contrib


1.3) Atualize a base de pacotes local

  apt-get update

1.4) Instale as dependências para o Noosfero, PostgreSQL, Nginx e Passenger Phusion

  apt-get build-dep nginx -y

  apt-get build-dep ruby-passenger -y

  apt-get install git rubygems1.8 postfix postgresql-9.1 postgresql-client-9.1 postgresql-server-dev-9.1 po4a rcov iso-codes openjdk-6-jre tango-icon-theme libxslt1-dev libxml2-dev memcached bzip2 -y


Logo Phusion Passenger  * Opcionalmente limpe o cache dos pacotes baixados com o comando: apt-get clean

1.5) Troque a versão do Ruby padrão do Debian Wheezy (1.9.1) para o Ruby 1.8

  - Alterando o Ruby

  update-alternatives --config ruby

  Escolha a opção: /usr/bin/ruby1.8

  - Alterando o Ruby Gem

  update-alternatives --config gem

  Escolha a opção: /usr/bin/gem1.8

Logo PostgreSQL2) Instalando o Phusion Passenger

2.1) Baixe o código-fonte do Passenger Phusion do Git (Repositório de Código-Fonte)

  - Clonando o repositório Git do Passenger Phusion

  git clone https://github.com/FooBarWidget/passenger.git

  - Faça checkout da última versão estável do Phusion Passenger (3.0.18)

  cd passenger

  git checkout release-3.0.18


2.2) Compilando e criando o pacote Gem do Phusion Passenger

  - Instale o Gerenciador de Tarefas Rake

  gem install rake

  rake package


2.3) Instale a Gem do Phusion Passenger

  gem instal pkg/passenger-3.0.18.gem

3) Instalando o Nginx com suporte ao Phusion Passenger

3.1) Baixe o código-fonte do Nginx e descompacte

 cd ~

 wget -c http://nginx.org/download/nginx-1.3.8.tar.gz

 tar xvf nginx-1.3.8.tar.gz


3.2) Configure e compile o Nginx

  cd nginx-1.3.8

  ./configure --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module --with-http_dav_module --with-ipv6 --with-poll_module --with-pcre --with-http_gzip_static_module --add-module=/var/lib/gems/1.8/gems/passenger-3.0.18/ext/nginx

  make

  make install


  - Crie o diretório /var/lib/nginx/body

  mkdir -p /var/lib/nginx/body

4) Instalando o Noosfero

4.1) Baixe o código fonte do Noosfero


  cd ~

  mkdir /var/lib/noosfero


  - Clonado repositório do Noosfero

  git clone https://git.gitorious.org/noosfero/noosfero.git /var/lib/noosfero/current

  - Crie Diretórios/Links Auxiliares ao Noosfero

  mkdir /var/run/noosfero
  mkdir /var/log/noosfero
  mkdir /var/tmp/noosfero
  mkdir -p /var/tmp/noosfero/solr
  ln -s /var/tmp/noosfero /var/lib/noosfero/current/tmp
  ln -s /var/run/noosfero /var/lib/noosfero/current/tmp/pids
  ln -s /var/log/noosfero /var/lib/noosfero/current/log


  - Defina Dono/Grupo www-data para o Noosfero

  chown www-data.www-data /var/lib/noosfero /var/run/noosfero /var/log/noosfero /var/tmp/noosfero  -R

4.1.1) Alterando o Gemfile

  rm /var/lib/noosfero/current/Gemfile
  rm /var/lib/noosfero/current/Gemfile.lock


  - Crie um novo arquivo Gemfile

  nano /var/lib/noosfero/current/Gemfile

  - Adicione ao Gemfile

  source 'https://rubygems.org'
  gem 'rails', '2.3.14'
  gem 'rack', '~> 1.1.0'
  gem 'bundle'
  gem 'pg'
  gem 'i18n'
  gem 'will_paginate', '2.3.12'
  gem 'gettext'
  gem 'RedCloth'
  gem 'hpricot'
  gem 'cucumber', '0.4.0'
  gem 'webrat', '0.5.1'
  gem 'sunspot_rails'
  gem 'builder'
  gem 'nokogiri', '~>1.5.5'


  - Instale as depedências do Ruby e Noosfero

  cd /var/lib/noosfero/current

  gem install bundle

  bundle install


4.2) Alterando o Noosfero para trabalhar com uma versão mais nova do Ruby on Rails

  - Edit o arquivo config/environment.rb

  nano /var/lib/noosfero/current/config/environment.rb

  - Alterar a linha

  RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION

  - Para

  RAILS_GEM_VERSION = '2.3.14' unless defined? RAILS_GEM_VERSION

4.3) Configurando o Banco de Dados PostgreSQL

  nano /etc/postgresql/9.1/main/postgresql.conf

  - Descomente a linha (Retirar o #)

  #listen_addresses = 'localhost'

  - Alterar modo de acesso ao Banco de Dados

  nano /etc/postgresql/9.1/main/pg_hba.conf

  - Alterar a linha

  host    all             all             ::1/128                 md5

  - Para

  host    all             all             ::1/128                 trust

  - Re-inicie o PostgreSQL

  /etc/init.d/postgresql restart

4.4) Configurando o acesso ao Banco de Dados do Noosfero

  nano /var/lib/noosfero/current/config/database.yml

  - Adicionar ao arquivo config/database.yml

  development:
    adapter: postgresql
    database: noosfero_development
    username: postgres
    password:
    host: localhost

  test: &TEST
    adapter: postgresql
    database: noosfero_test
    username: postgres
    password:
    host: localhost

  production:
    adapter: postgresql
    database: noosfero_production
    username: postgres
    password:
    host: localhost

  cucumber:
    <<: *TEST


4.4.1) Criando o Banco de Dados noosfero_production

  createdb -U postgres -h localhost noosfero_production

4.4.2) Criando o Schema do Banco de Dados

  RAILS_ENV=production bundle exec rake db:schema:load
  RAILS_ENV=production bundle exec rake noosfero:translations:compile


4.4.3) Carregando Dados de Exemplo no Banco de Dados do Noosfero

  RAILS_ENV=production ./script/sample-data

4.4.4) Ativando o Servidor de Busca Apache Solr

  - Fazendo Download

  RAILS_ENV=production bundle exec rake solr:download

  - Configurando e Iniciando o Solr

  cp /var/lib/noosfero/current/config/solr.yml.dist /var/lib/noosfero/current/config/solr.yml

  RAILS_ENV=production bundle exec rake solr:start


5) Configurando o Nginx

  - Apague a configuração antiga do nginx.conf

  rm /etc/nginx/nginx.conf

  - Crie/Edite um novo arquivo de configuração

  nano /etc/nginx/nginx.conf

  - Acrescente ao nginx.conf

  user www-data;
  worker_processes 1;

  events { worker_connections  256; }

  http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile      on;
    keepalive_timeout 90;

    passenger_root /var/lib/gems/1.8/gems/passenger-3.0.18/;

    server {
        listen       80;
        server_name  localhost;

        passenger_enabled on;
        rails_env production;

        root /var/lib/noosfero/current/public;

        error_log  /var/log/nginx/noosfero.error.log;
        access_log /var/log/nginx/noosfero.access.log;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html { root html; }
    }
  }


  - Redefina Dono/Grupo do Noosfero

  chown www-data.www-data /var/lib/noosfero -R

5.1) Iniciando o Servidor Web Nginx e testando a aplicação em Ruby on Rails

  - Pare o Apache2 (caso esteja ativo)

  service apache2 stop

  - Inicie o Nginx

  nginx

6) Acesse a nova instalação do Noosfero

  - No Navegador

  http://localhost

  Login: ze
  Password: test



Noosfero 0.38.3 "Ewe"

7 de Novembro de 2012, 0:00, por Software Livre Brasil

Logo NoosferoA Colivre, Cooperativa de Tecnologias Livres, disponibilizou uma nova versão estável da plataforma Noosfero. A versão 0.38.3 (Ewe) traz 27 correções e já esta disponível para Download.

O Noosfero é uma plataforma web, desenvolvida em Ruby on Rails, para redes sociais e de economia solidária que possui funcionalidades de Blog, e-Portfolios, CMS, RSS, discussão temática, agenda de eventos, inteligência econômica colaborativa e muito mais. O Noosfero é utilizado por milhares de pessoas participantes da rede social softwarelivre.org, do Centro de Competência em Software da USP (CCSL-USP), Portal e-Democracia, Portal de Blogs Blogoosfero, a rede social e de inteligência econômica do movimento de Economia Solidária no Brasil Cirandas, dentre muitos outras. O Noosfero é um Software Livre sobre a GPLv3.

Conheça mais sobre o Noosfero e a Colivre.



Prévia do Ruby 2.0.0 é disponibilizada

6 de Novembro de 2012, 0:00, por Software Livre Brasil

Originalmente: http://h-online.com/-1744547

Logo RubyA primeira prévia do Ruby 2.0.0 foi lançada para testes e comentários, especialmente para desenvolvedores construindo aplicações compatíveis com a versão 2.0. A prévia ainda esta incompleta; porém, este inclui refinamentos (fazendo os "monkey-patching" mais seguros), suporte a palavras-chaves como argumentos, lazy enumerators, suporte para o literal %i para arrays simbólicas, adição de uma convenção para que os métodos #to_h retornem hashes e uma nova engine regexp. Mat Sadler, engenheiro na UK Globaldev, possui um resumo das novas funcionalidades e exemplos em uma postagem no seu blog.

O que foi omitido, porém, é o suporte ao DTrace, atualização do RubyGems, melhorias no Rdoc e Rake e uma série de funcionalidades aceitas mas não implementadas tais como uma API simplificada para o Ruby e suporte aprimorado para o Unicode. Estas melhorias são esperadas para Dezembro na segunda prévia. Próximo ao Natal ocorrera um congelamento do código e próximo ao Ano Novo a primeira versão candidata deve aparecer.

No início de fevereiro um segundo candidato de lançamento deve abrir o caminho para o lançamento final em 24 de Fevereiro. Detalhes adicionais das mudanças estão disponíveis no arquivo NEWS dentro do código fonte da distribuição. Heroku, o serviço de hospedagem de aplicações Ruby, que patrocinou o trabalho de Yukihiro "Matz" Matsumoto, Koichi Sasada e Nobuyoshi Nakada no Ruby 2.0, também tornou possível rodar a versão prévia. Mais detalhes no blog do Heroku.



Stallman: Vamos limitar os efeitos das patentes de software, uma vez que não podemos eliminá-las

6 de Novembro de 2012, 0:00, por Software Livre Brasil

Imagem Stallman GNUAutor: Richard Stallman
Traduzido Livremente de: http://www.wired.com/opinion/2012/11/richard-stallman-software-patents

As patentes ameaçam a todos os desenvolvedores de software, e a guerra de patentes que temíamos afinal eclodiu. Desenvolvedores e usuários de Software - que em nossa sociedade, são a maioria das pessoas - necessita que o software seja livre de patentes.
 
As patentes que nos ameaçam são frequentemente chamadas de "patentes de software", porém este termo não é o mais correto. Essas patentes não são sobre um programa específico. Cada patente descreve alguma ideia prática, e diz que qualquer pessoa usando esta ideia pode ser processada. Então é melhor chamá-las de "patente de ideias computacionais."
 
O sistema de patentes americano não rotula as patentes dizendo que uma determinada patente é uma "patente de software" e outra não é. Os desenvolvedores de software são os que fazem esta distinção, entre as patentes que nos ameaçam - aquelas que cobrem ideais que podem ser implementada em software - e as demais. Por exemplo: Se uma ideia patenteada é a forma de uma estrutura física ou uma reação química, nenhum programa pode implementar tais ideias; estas patentes não ameaçam a área de software. Porém se a ideia patenteada é uma computação, esta patente atrapalha os usuários e desenvolvedores.
 
Isto não quer dizer que uma ideia computacional patenteada atrapalha apenas o software. Estas ideias também podem ser implementada no hardware... e muitas delas tem sido feitas. Cada patente tipicamente cobre a implementações em hardware e/ou software destas ideias.
 
A magnitude do problema do Software
 
Ainda assim, é no software onde as patentes de ideias computacionais causam um problema especial. No software, é fácil implementar milhares de ideias em conjunto em apenas um programa: Se 10 por centos das ideias, forem patenteadas isso significa que centenas de patentes podem ameaçar este software.
 
Quando Dan Ravicher da Fundação Pública de Patente estudou um grande programa (o Linux, que é o kernel do sistema operacional GNU/Linux) em 2004, ele encontrou 283 patentes registradas nos Estados Unidos que cobriam ideias computacionais implementada no código fonte deste programa. No mesmo ano, foi estimado que o Linux representava 25 por centos de todo o sistema GNU/Linux. Multiplicando 300 por 400 nos teremos a ordem de grandeza deste problema, estima-se que todo o sistema é ameaçado por cerca de 100,000 patentes.
 
Se metade destas patentes forem eliminadas como patentes "de qualidade inferior" - ou seja, erros no sistema de patentes - não iria mudar muita coisa. Se são 100,000 patentes ou 50,000, é o mesmo desastre. É por isso que é um erro limitar nossa crítica as patentes de software a apenas aos "trolls das patentes" ou patentes "de qualidade inferior". Nesse sentido a Apple, que não é um "troll" pela definição habitual, é o mais perigoso agressor de patentes hoje em dia. Eu não sei se as patentes da Apple são de "boa qualidade", porém quanto melhor a "qualidade" da patente, maior é o perigo que esta representa.
 
Precisamos corrigir todo o problema, não apenas uma parte.
 
As sugestões usuais para corrigir o problema legislativamente envolve a alteração dos critérios de concessão de patentes - por exemplo, proibir a concessão de patentes sobre práticas computacionais e de sistema que as realizem. Mas esta abordagem tem duas desvantagens.
 
Primeiro, os advogados de patentes são hábeis em reformular patentes para que esta se encaixem às regras do sistema de patentes; eles transformam qualquer tentativa de limitar o conteúdo das patentes em uma exigência sobre a forma apenas.

Por exemplo, muitas patentes de ideias computacionais, nos Estados Unidos, descrevem um sistema computacional incluindo uma unidade aritmética, um sequenciador de instrução, uma memória, mais controles que realizam uma computação em particular. Isto é um jeito peculiar de descrever um computador rodando um programa que realiza uma computação qualquer; esta forma foi pensada para fazer com que a aplicação de patente satisfaça os critérios que acreditava-se eram solicitado pelo sistema de patentes americano.
 
Segundo, os Estados Unidos já tem milhares de patentes de ideias computacionais, e alterar o critério para evitar a emissão de novas patentes não faria desaparecer as patentes existentes. Nós teríamos que esperar quase 20 anos para que o problema seja corrigido através da expiração das patentes existentes. E legislar a abolição destas patentes, é provavelmente inconstitucional. (Perversamente, a Suprema Corte insiste que o congresso pode estender os privilégios privados as custas dos direitos públicos, porém não pode ir na direção contrária.)
 
Uma abordagem diferente: Limitar o efeito, não a patenteabilidade
 
Minha sugestão é mudar os efeitos das patentes. Deveríamos legislar para que o desenvolvimento, a distribuição ou execução de um programa, em geral, usando computadores não constitui violação de patente. Esta abordagem tem várias vantagens:
 
- Não exige a classificação de patentes ou a aplicação de patentes como de "software" ou "não de software."
- Esta fornece proteção aos desenvolvedores e usuários das atuais e potencias patentes de ideias computacionais.
- Advogados de patentes não podem derrotar os efeitos pretendidos ao escrever aplicações de patentes de forma diferente.
 
Esta abordagem não invalida completamente as patentes de ideias computacionais, porque estas continuam sendo aplicada as implementações usando computadores com finalidade especial.

Esta é uma vantagem porque elimina o argumento contra a validade jurídica deste plano. Os Estados Unidos aprovaram uma lei, a alguns anos atrás, blindando os cirurgiões de processos de patentes, de modo que mesmo que procedimentos cirúrgicos estejam patenteados, os cirurgiões estão seguros. Isto provê um precedente para esta solução.
 
Desenvolvedores e usuários precisam de proteção contras as patentes. Esta é a única solução legislativa que provê proteção completa.
 
Poderíamos, então, voltar a competir ou cooperar... sem medo que algum estranho levara o nosso trabalho.



Kernel Linux 3.6.6

5 de Novembro de 2012, 0:00, por Software Livre Brasil

Tux workerCom apenas 24 mudanças foi disponibilizado uma nova versão estável do Kernel do Linux da série de lançamentos 3.6.x. Esta versão traz a correção para um polêmico bug no sistema de arquivos ext4, que ocorre quando se utiliza algumas opções de montagem "exóticas", este erro pode causar o corrompimento do sistema de arquivos. Este lançamento ainda inclui correções para o driver de vídeo nouveau, subsistema USB, sistema de arquivos ceph, dentre outros.

Lista de mudanças no Kernel 3.6.6
blkcg: Fix use-after-free of q->root_blkg and q->root_rl.blkg
ceph: avoid 32-bit page index overflow
ceph: fix dentry reference leak in encode_fh()
ceph: Fix oops when handling mdsmap that decreases max_mds
drm/nouveau: fix suspend/resume when in headless mode
drm/nouveau: headless mode by default if pci class != vga display
drm/nouveau: silence modesetting spam on pre-gf8 chipsets
ext4: fix unjournaled inode bitmap modification
floppy: don't call alloc_ordered_workqueue inside the alloc_disk loop
floppy: do put_disk on current dr if blk_init_queue fails
floppy: properly handle failure on add_disk loop
gpiolib: Don't return -EPROBE_DEFER to sysfs, or for invalid gpios
gpio-timberdale: fix a potential wrapping issue
HID: microsoft: fix invalid rdesc for 3k kbd
libceph: avoid NULL kref_put when osd reset races with alloc_msg
libceph: check for invalid mapping
md/raid1: Fix assembling of arrays containing Replacements.
qla2xxx: Update target lookup session tables when a target session changes
rbd: reset BACKOFF if unable to re-queue
target: Fix double-free of se_cmd in target_complete_tmr_failure
target: reintroduce some obsolete SCSI-2 commands
USB: io_edgeport: remove unused variable
USB: iuu_phoenix: fix backported patches
USB: mos7840: fix port-data memory leak



Tags deste artigo: software livre tecnologia cultura digital tic cultura