Ir para o conteúdo
ou

Software livre Brasil

Tela cheia Sugerir um artigo
 Feed RSS

Projeto Software Livre - Piauí

15 de Janeiro de 2010, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

O PSL-PI tem por objetivo incentivar o uso e a produção de software livre no Piauí como política de combate à exclusão digital. Acreditamos que a distribuição de conhecimentos proporcionada pelo Open Source/Software Livre tornará nossa sociedade mais justa e próspera, exatamente por dar a todos as mesmas condições de conhecimento e desenvolvimento.

Software Livre é uma grande oportunidade de construirmos uma sociedade produtora de ciência, independente e efetivamente competitiva. Estamos reconstruindo as bases da nossa sociedade, não mais calcados nos braços do Estado, mas sim, amparados pela iniciativa própria, pela auto-determinação. Nós somos capazes de nos auto-governar. Somos capazes de construir uma sociedade efetivamente Livre. Esta é a essência do PSL-PI.

O PSL-PI é formado pela articulação de indivíduos que atuam em instituições publicas e privadas, grupos de usuários e desenvolvedores de software livre, empresas, governos ou ONGs, e demais setores da sociedade. O importante é a consciência e disposição para propagar o uso de software livre e a cultura colaborativa nas diferentes esferas da sociedade.


Filipe Saraiva: Anunciada a Open Source Robotics Foundation

17 de Abril de 2012, 0:00, por Software Livre Brasil - 0sem comentários ainda

Willow Garage, conhecido laboratório de pesquisas e desenvolvimento em robótica, mantenedores do ROS, anunciou o lançamento da OSRF – Open Source Robotics Foundation.

Os objetivos da fundação são dar suporte ao desenvolvimento, distribuição e adoção de software open source para uso em pesquisas de robótica, educação e desenvolvimento de produtos.

Maiores detalhes ainda serão revelados, incluindo demais participantes da entidade, modelo de governança e mais. Entretanto, a OSRF já inicia apoio aos dois principais projetos mantidos pela Willow Garage, a plataforma ROS e o simulador Gazebo. Outros projetos também serão alvo de ações da fundação, como a conhecida plataforma open hardware Arduino e a comunidade de projetistas Make.

Vamos acompanhar mais essa iniciativa da comunidade de robótica livre, e torcer para que a filosofia cultural típica das comunidades de software livre se difunda cada vez mais nas comunidades de pesquisa em robótica. Certamente, o ambiente típico de colaboração do “mundo livre” tem muito a contribuir para o avanço da área de robótica.

Você pode ler a nota completa de lançamento da Open Source Robotics Foundation neste link.



Francisco Fernandes: const correctness em C++: Substituição de valor

13 de Abril de 2012, 0:00, por Software Livre Brasil - 0sem comentários ainda

Uma das coisas que sempre me pegam quando vou ler um código C++ é pegar uma declaração desse tipo:

const Classe * point = new Classe();

No meu entender, a palavra-chave const sempre teve aquela função em C de declarar uma variável sem se utilizar de valores definidos no pré-processador
por exemplo, quando a gente usa um #define CONSTANTE. De fato,  o propósito
original de const foi exatamente substituir o #define.


const é uma palavra que em C++ foi ampliada em diversos usos e quero nos próximos posts ir relatando minha compreensão quanto a ela. Essa primeira parte é relativa a constantes de fato, substituição de valores (mais específicamente constant folding) e tipos de linkagem.




const para constantes


Quando você define um valor no pré-processador, o compilador não tem acesso a tipagem, logo corre-se o risco de ocorrer bugs sutis, muito difíceis de achar.


Por exemplo, em

#define BUFFER 100

BUFFER vai se comportar na maioria das vezes como uma variável qualquer. No entanto isso não é assegurado, sem falar no problema de tipagem, já que não se sabe o que foi definido, um float, double ou int. Agora, usando const,

const int buffer = 100;

pode-se usar buffer em qualquer lugar onde o compilador tem acesso. Com isso o compilador irá guardar o valor na tabela de simbolos e substituir na constante, caracterizando o constant folding. em que o compilador irá reduzir uma expressão de constante complicada para uma mais simples, apenas fazendo alguns cálculos em tempo de compilação.

const em cabeçalhos (headers)

Dar preferência a const em vez de #define nos leva a questionar o seu uso em arquivos de cabeçalho. const em C++ tem linkagem interna, por padrão. Isso significa que uma constante definida por ela é visível apenas no arquivo em que foi definida. Assim, deve-se sempre atribuir um valor a uma variável caracterizada como const, já que em linkagem interna não se pode apenas declarar valores, deve-se defini-las com algum valor.


Uma exceção a isso é o uso de extern, em que define explicitamente que uma variável tem linkagem externa e com isso terá um espaço alocado para armazenar o valor (normalmente os compiladores evitam armazenar consts em memória, deixando guardada a definição na tabela de símbolos).
extern const int buffer;
Com esse valor definido como linkagem externa, outros arquivos terão visibilidade da variável const. 


O motivo de const ser definida como linkagem interna por padrão é que o linkador não irá tentar interligar definições de const em vários arquivos, evitando colisões. Se fosse externa, memória seria alocada, gerando conflitos de nomes no linkador.

consts seguros

Quando um valor é produzido em tempo de compilação e você sabe que esse valor não irá mudar ao longo do programa, o const para previne possíveis alterações nesse valor.  No exemplo a seguir, em que define-se vários tipos de consts, a variável const 'c' na função main() recebe um valor de entrada em sua definição, onde não será mais possível altera-la ao longo da função, sendo assim caracterizada como uma constante de tempo de execução.

#include <iostream>
using namespace std;

const int i = 100; // constante tipica 
/*
* por ser definida a partir de outra constante, j irá ser
* armazenada na tabela de simbolos, como uma constante típica
*/
const int j = i + 10;

//essa linha força a alocação de j por requerer seu endereço 
long address = (long) &j; 

//como o compilador reconhece j como const, pode-se utiliza-lo
//para definir o tamanho de buf 
char buf[j + 10] ; 

int main(){ 
cout << "insira um caractere "; 

// como o valor da constante 'c' é definida em tempo de execução 
// será necessário alocar valor na memória (como em C), ao invés 
// de armazenar numa tabela de símbolos. 
const char c = cin.get(); 
const char c2 = c + 'a'; 
cout << c2; 

}

Na prática, se um valor não deve mudar deve-se declará-lo com um const. Desta forma ocorre melhora de desempenho na prevenção leitura e escrita na memória, precisando apenas fazer o constant folding do compilador.

Diferenças em relação ao C

Em C, const tem linkagem externa por padrão, daí sempre ocupa espaço de memória. Trocando em miúdos, uma declaração const é variável  comum que não pode ser modificada ( ao contrário de C++ em que  é guardada na tabela de símbolos e ocorre constant folding). Com isso, uma declaração do tipo:

const int bufsize = 100;
char buffer[bufsize];

não é permitida em C. Por ser armazenada em algum lugar, bufsize teria que ser tratada como constante de tempo de compilação, o que não ocorre em C. Por isso o compilador não irá saber o valor de bufsize, já que estará em memória e não será acessivel em tempo de compilação. A alternativa seria

const int bufsize;

Já em C++, a declaração acima é invalida, pois está declarando uma variável const, mas não está definindo: toda variável declarada como const deve ser inicializada em C++, devido a linkagem interna. Para apenas declarar esta variável, em C++ deve-se usar extern,


extern const int bufsize;

indicando ao compilador que a linkagem foi definida como externa.

Como em C++ não se cria espaço para armazenamento para const, a visibilidade é apenas no arquivo declarado. Por exemplo, se um const é definido fora de qualquer função/método seu escopo é o arquivo declarado. Isso difere de outras variáveis de C++ e de const em C. Assim, se for desejável ter acesso em outros arquivos de uma constante definida, deve-se declará-la como extern,

extern const int y = 20;

isso força alocação de y, mas previne o constant folding de uma constante em C++.



Francisco Fernandes: Krita 2.4 Lançado!

12 de Abril de 2012, 0:00, por Software Livre Brasil - 0sem comentários ainda

Finalmente é lançado o Krita 2.4, primeiro release realmente pronto para uso por artistas profissionais. Ja faz um tempo que acompanho a lista dos desenvolvedores e os caras colocaram muito esforço em cima dessa versão. Estabilidade foi a principal delas, resultando numa aplicação bastante agradável de se produzir.




As principais melhorias foram a integração de novos pincéis, aumento no desempenho do programa, pintura espelhada (gera-se cópias refletidas da pincelada feita em um ou mais eixos definidos no canvas ), melhoria na sensibilidade de pressão via tablet, compartilhamento (usando as funções do desktop semântico Nepomuk ) e Quick access wheel (acessar de maneira mais ágil as ferramentas favoritas do artista).

Quick-access wheel

Também tem um instalador experimental para Windows do Calligra em que o Krita esta integrado, mas é ainda o RC 2. Caso alguém se aventure por lá, dá um feedback aqui ;).



Para mais informações, tem este PDF com descrição completa das novas funcionalidades e este tópico no fórum do KDE com produção artística, pra se
ter ideia do que o programa é capaz.



Lucas M.A.C.: O social dissociado

10 de Abril de 2012, 0:00, por Software Livre Brasil - 0sem comentários ainda


Um amigo escreveu um texto bem verdadeiro e profundo, comentando a situação de nossa atual sociedade e suas 'manias'! Leiam e tirem suas conclusões.


O social dissociado

É de bom grado que vivenciamos a era do incessante avanço tecnológico nos tempos atuais – inovação tão celebrada e difundida que, inexoravelmente, tem alterado bastante o convívio humano, de um modo geral.

Com isso, ao longo do tempo, economizaram-se: fios, com o advento do celular; fala, com o dos torpedos e dos e-mails; memória, com o do próprio celular e do computador; e até na escrita das palavras: “vc”, “kza”, “bjo”, “pq”. Economias que não prejudicam o bolso de ninguém, muito menos a saúde, no caso das palavras; porém, as de nível governamental, nem se falam, pois só servem de alimento às corrupções políticas. PQP!
Hoje a pressa é tamanha em tudo que vamos fazer que, detalhes são atropelados, impiedosamente, a qualquer momento, e em qualquer lugar, nesse trânsito poluído de fuligens impudoríferas (no trabalho, nos meios de locomoção, nas relações interpessoais, no respeito aos animais, ao meio ambiente). Isso tudo é fruto proveniente do ESTRESSE, resultante da busca acirradíssima de valores materiais e morais (dinheiro, fama, poder, titulações acadêmicas... ), que GERA status sociais e instiga o bem-estar espiritual. Aonde vamos com essa cobiçada carruagem, nefasta, com capacidade de lotação sem limite?

O destino é previsível e garantido: a MORTE!

É lastimável o cenário ideológico como o mundo se encontra, com a demasiada exploração dos recursos naturais, para satisfazer os desejos do homem, que está sempre buscando formas de explorar: crescimentos desenfreados populacional e urbanístico (desmatamentos, queimadas, extinção de animais); sucessivas inovações tecnológicas (aparelhos eletrônicos, automóveis – impressionante a quantidade fabricada, por dia, mundialmente > congestionamentos > poluição). Em detrimento disso, certos hábitos ou paradigmas surgiram, principalmente nos centros urbanos, no ensejo dessa nova projeção mundial. O modelo de homem passou de “humano” para “tecnológico” - este, um verdadeiro judas que prefere tocar com os próprios dedos nas teclas da virtualidade a acreditar na realidade presencial. E, aproveitando-se disso, a mídia faz média da expectativa deste espectador judiado; oferecendo-lhe, sobretudo, comidas típicas do seu cardápio (da mídia), e “enfica” o BBB, as novelas, as ideologias políticas...

Ademais, atualmente, nota-se uma aviltante substituição do termo “social” (ex-social) pelo “virtual” (social), este sob o rótulo de “redes sociais” na internet – uma ferramenta de uso massificado, bastante recorrida praticamente em tudo que vamos fazer; no entanto, uma espada afiadíssima, de dois gumes, para quem não sabe usufruí-la. Tais redes alteraram significativamente a fórmula dos relacionamentos pessoais, dando nova configuração aos moldes da comunicação, da informação e da propagação do conhecimento, através dos bate-papos, orkut, twitter; e, febrilmente, o facebook, onde o indivíduo fofoca sua própria vida, descrevendo sua rotina: dizendo o que está fazendo, o que deixou de fazer, o que pensa, além de (re)produzir, em sua maioria, criatividade supérflua, própria ou alheia (sem referências autorais) e publicando/compartilhando suas fotografias e vídeos, estes principalmente no youtube; porventura, sentido-se uma celebridade rodeada de “fãs”, idealizados por si próprio (“amigos”). E ainda há os curiosos, que adoram escarafunchar tais fotografias ou vídeos, para comentá-los: seja para criticar, admirar, bajular... Engraçado ou estranho que, as coisas “tecladas” no ambiente virtual nem sempre vêm à tona quando os indivíduos conversam pessoalmente em outro momento (é muita coisa para lembrar, porque “teclou” com vários “amigos” ou comentou várias fotografias e vídeos, e seu cérebro foi “terceirizado” pelo HD, pelo pendrive... ). Muitos estão acostumados a virar noites, conectados à rede mundial de computadores (internet) – interagindo com futilidades sociais – que perderam o costume de virar uma simples página de um bom livro. Por outro lado, a jornada de trabalho é superior à de sono.

Portanto, não nos causará surpresa quando ouvirmos nomes próprios, como: Googlenice, Maria Twitteira, Orkutência e Marcos Web. Certamente, todos nossos descendentes. Oxalá que eles não se esqueçam de que serão humanos, pelo menos!

Desta forma, cada dia que passa, estamos cada vez mais distantes da natureza das coisas: alimentos altamente industrializados e modificados, que contêm conservantes, que não conservam a vida (bebidas, em geral, enlatados...); amizades intensamente virtuais, que, denotativamente, não socializam a vida; e a irrelevância do paradigma espaço/tempo, com a desconsideração das fronteiras geográficas e com a rapidez influente nos processos naturais, como no crescimento das plantas e das frutas (transgênicos), na precocidade reprodutiva dos humanos (gravidez na adolescência) e na sua nova forma de procriação (fertilização in vitro). Aliás, constituímos uma geração transitiva em plena fase de teste alimentício e de hábitos modernos que, sabe-se, lá, quando, poderemos inferir algo de tranquilizante para o nosso amanhã. Sem falar na globalização culinária intercultural.
Por outro lado, a medicina evoluiu-se nos seus estudos contemporâneos ou as doenças evoluíram-se nos seus estados pro tempore?

A resposta não sabemos decifrá-la, mas indagamos mais uma torpe pegadinha da vida: por que certas doenças – como a gripe suína, ou gripe A (H1N1) – propagaram-se em escala mundial, matando milhares de pessoas? E a justificativa da medicina é sempre a mesma, para explicar o surgimento dessas doenças, associadas a vírus artificialmente criados em laboratórios. Dá para coçar alguma parte do nosso corpo, ou melhor, a orelha? Em virtude desse levante ideológico, as pessoas tornaram-se verdadeiras peças ajustáveis ao sistema capitalista – o principal comandante das manobras – que, de forma indutiva, aceitam, cegamente, tudo que é proposto por tal sistema (dependência exacerbada de remédios viciantes, vacinas... ).

Talvez, “magnífico” leitor, você esteja se perguntando por que o autor não foi parcial ou incisivo quanto ao seu ponto de vista nos argumentos levantados; porém, sucinto nos comentários destes. Somente entendamos a tonalidade sugestiva do sarapatel de assuntos complexos e reflitamos acerca dos seguintes ditados: “Mais fere a má palavra do que a espada afiada”; “O ócio é o pai de todos os vícios”; “A pressa é a inimiga da perfeição”; “A gente faz 99 e querem que complete 100”; “Quem vê cara, não vê coração”; “Amigos do bom tempo mudam com o vento”; “Quem muito abarca, pouco abraça”; “A formiga, quando quer se perder, cria asas”... Tudo de mais é prejudicial!

Consciência é a palavra-chave.

Júlio Luís de Moura Filho
Professor e Músico


Filipe Saraiva: All right to LAkademy!

10 de Abril de 2012, 0:00, por Software Livre Brasil - 0sem comentários ainda

In the last mounths, brazilian KDE community worked in the organization of first KDE latin-american meeting, the LAkademy. This meeting will happen from April 27 to May 01, in Porto Alegre – RS/Brazil.

LAkademy aims to KDE community established, so this isn’t a disclosure event. In the scheduling we have hacking sessions between latin-american developers, presentations about hot themes in KDE community (like Plasma Active and Qt5), latin-america promo meetings, and more activities.

I fell good vibrations about LAkademy. The last event like this was Akademy-BR, in 2010. Since, the brazilian community were is several free software promotional meetings, like IV ENSL, Latinoware 2011, FISL, and others, but a specific meeting of KDE community to evaluate it, talk about the KDE future in Latin America, and imagine goals, only now in LAkademy. So this is importance of event.

My TODO list to LAkademy is:

  • See some friends!
  • Work in improves to Cantor’s Scilab backend;
  • See Rocs with Tomaz and Wagner;
  • See Plasma Active with Lamarque;
  • Work in a new wiki to KDE Brazil with Aracele;
  • Discuss about the sustainability of KDE Brazil;
  • Discuss about free software events in Brazil in which KDE Brazil will be present;
  • Drink some beer and to eat the traditional gaucho barbecue!! =D

I desire (and we will work to) that LAkademy will become routine in Latin America, and enter to the international KDE community calendar, like Camp KDE, conf.kde.in, Akademy, and others.



Tags deste artigo: projeto software livre - piauí psl-pi piauí psl-nordeste