Ir para o conteúdo
ou

Software livre Brasil

Tela cheia Sugerir um artigo
 Feed RSS

Blogosfera do PSL-Ba

16 de Junho de 2009, 0:00 , por Software Livre Brasil - | 2 pessoas seguindo este artigo.

O Projeto Software Livre Bahia (PSL-BA) é um movimento aberto que busca, através da força cooperativa, disseminar na esfera estadual os ideais de liberdade difundidos pela Fundação Software Livre (FSF), possibilitando assim a democratização do acesso a informação, através dos recursos oferecidos pelo Software Livre. Esta busca tem seus alicerces fundados na colaboração de todos, formando um movimento sinérgico que converge na efetivação dos ideais de Liberdade, Igualdade, Cooperação e Fraternidade.

O Projeto Software Live Bahia é formado pela articulação de indivíduos que atuam em instituições publicas e privadas, empresas, governos ou ONGs, e demais setores da sociedade. Além disso o projeto não é subordinado a qualquer entidade ou grupo social, e não estabelece nenhuma hierarquia formal na sua estrutura interna.


How Android transitions work

13 de Março de 2014, 11:15, por Software Livre Brasil - 0sem comentários ainda

One of the biggest highlights of the Android KitKat release was the new Transitions framework which provides a very convenient API to animate UIs between different states.

The Transitions framework got me curious about how it orchestrates layout rounds and animations between UI states. This post documents my understanding of how transitions are implemented in Android after skimming through the source code for a bit. I’ve sprinkled a bunch of source code links throughout the post to make it easier to follow.

Although this post does contain a few development tips, this is not a tutorial on how to use transitions in your apps. If that’s what you’re looking for, I recommend reading Mark Allison’s tutorials on the topic.

With that said, let’s get started.

The framework

Android’s Transitions framework is essentially a mechanism for animating layout changes e.g. adding, removing, moving, resizing, showing, or hiding views.

The framework is built around three core entities: scene root, scenes, and transitions. A scene root is an ordinary ViewGroup that defines the piece of the UI on which the transitions will run. A scene is a thin wrapper around a ViewGroup representing a specific layout state of the scene root.

Finally, and most importantly, a transition is the component responsible for capturing layout differences and generating animators to switch UI states. The execution of any transition always follows these steps:

  1. Capture start state
  2. Perform layout changes
  3. Capture end state
  4. Run animators

The process as a whole is managed by the TransitionManager but most of the steps above (except for step 2) are performed by the transition. Step 2 might be either a scene switch or an arbitrary layout change.

How it works

Let’s take the simplest possible way of triggering a transition and go through what happens under the hood. So, here’s a little code sample:

TransitionManager.beginDelayedTransition(sceneRoot);

View child = sceneRoot.findViewById(R.id.child);
LayoutParams params = child.getLayoutParams();
params.width = 150;
params.height = 25;
child.setLayoutParams(params);

This code triggers an AutoTransition on the given scene root animating child to its new size.

The first thing the TransitionManager will do in beingDelayedTransition() is checking if there is a pending delayed transition on the same scene root and just bail if there is onecode. This means only the first beingDelayedTransition() call within the same rendering frame will take effect.

Next, it will reuse a static AutoTransition instancecode. You could also provide your own transition using a variant of the same method. In any case, it will always clonecode the given transition instance to ensure a fresh startcode—consequently allowing you to safely reuse Transition instances across beingDelayedTransition() calls.

It then moves on to capturing the start statecode. If you set target view IDs on your transition, it will only capture values for thosecode. Otherwise it will capture the start state recursively for all views under the scene rootcode. So, please, set target views on all your transitions, especially if your scene root is a deep container with tons of children.

An interesting detail here: the state capturing code in Transition has especial treatment for ListViews using adapters with stable IDscode. It will mark the ListView children as having transient state to avoid them to be recycled during the transition. This means you can very easily perform transitions when adding or removing items to/from a ListView. Just call beginDelayedTransition() before updating your adapter and an AutoTransition will do the magic for you—see this gist for a quick sample.

The state of each view taking part in a transition is stored in TransitionValues instances which are essentially a Map with an associated Viewcode. This is one part of the API that feels a bit hand wavy. Maybe TransitionValues should have been better encapsulated?

Transition subclasses fill the TransitionValues instances with the bits of the View state that they’re interested in. The ChangeBounds transition, for example, will capture the view bounds (left, top, right, bottom) and location on screencode.

Once the start state is fully captured, beginDelayedTransition() will exit whatever previous scene was set in the scene rootcode, set current scene to nullcode (as this is not a scene switch), and finally wait for the next rendering framecode.

TransitionManager waits for the next rendering frame by adding an OnPreDrawListenercode which is invoked once all views have been properly measured and laid out, and are ready to be drawn on screen (Step 2). In other words, when the OnPreDrawListener is triggered, all the views involved in the transition have their target sizes and positions in the layout. This means it’s time to capture the end state (Step 3) for all of themcode—following the same logic than the start state capturing described before.

With both the start and end states for all views, the transition now has enough data to animate the views aroundcode. It will first update or cancel any running transitions for the same viewscode and then create new animators with the new TransitionValuescode (Step 4).

The transitions will use the start state for each view to “reset” the UI to its original state before animating them to their end state. This is only possible because this code runs just before the next rendering frame is drawn i.e. inside an OnPreDrawListener.

Finally, the animators are startedcode in the defined order (together or sequentially) and magic happens on screen.

Switching scenes

The code path for switching scenes is very similar to beginDelayedTransition()—the main difference being in how the layout changes take place.

Calling go() or transitionTo() only differ in how they get their transition instance. The former will just use an AutoTransition and the latter will get the transition defined by the TransitionManager e.g. toScene and fromScene attributes.

Maybe the most relevant of aspect of scene transitions is that they effectively replace the contents of the scene root. When a new scene is entered, it will remove all views from the scene root and then add itself to itcode.

So make sure you update any class members (in your Activity, Fragment, custom View, etc.) holding view references when you switch to a new scene. You’ll also have to re-establish any dynamic state held by the previous scene. For example, if you loaded an image from the cloud into an ImageView in the previous scene, you’ll have to transfer this state to the new scene somehow.

Some extras

Here are some curious details in how certain transitions are implemented that are worth mentioning.

The ChangeBounds transition is interesting in that it animates, as the name implies, the view bounds. But how does it do this without triggering layouts between rendering frames? It animates the view frame (left, top, right, and bottom) which triggers size changes as you’d expect. But the view frame is reset on every layout() call which could make the transition unreliable. ChangeBounds avoids this problem by suppressing layout changes on the scene root while the transition is runningcode.

The Fade transition fades views in or out according to their presence and visibility between layout or scene changes. Among other things, it fades out the views that have been removed from the scene root, which is an interesting detail because those views will not be in the tree anymore on the next rendering frame. Fade temporarily adds the removed views to the scene root‘s overlay to animate them out during the transitioncode.

Wrapping up

The overall architecture of the Transitions framework is fairly simple—most of the complexity is in the Transition subclasses to handle all types of layout changes and edge cases.

The trick of capturing start and end states before and after an OnPreDrawListener can be easily applied outside the Transitions framework—within the limitations of not having access to certain private APIs such as ViewGroup‘s supressLayout()code.

As a quick exercise, I sketched a LinearLayout that animates layout changes using the same technique—it’s just a quick hack, don’t use it in production! The same idea could be applied to implement transitions in a backwards compatible way for pre-KitKat devices, among other things.

That’s all for now. I hope you enjoyed it!



how-can-i-help: oportunidades de contribuição com o Debian

11 de Fevereiro de 2014, 12:32, por Software Livre Brasil - 0sem comentários ainda

Já faz um tempo desde o meu último post, e pra esse novo vou retomar o assunto do anterior — como começar a colaborar com o Debian, inspirado num post recente do Stefano.

O how-can-i-help é um programa que te mostra oportunidades de colaboração relacionadas aos pacotes que estão instalados no seu sistema: pacotes que precisam de novos mantenedores, pacotes que estão com bugs críticos, pacotes que estão com bugs críticos e vão ser removidos da testing, etc.

Outro tipo de possível contribuição que o how-can-i-help vai listar e que vai ser bastante útil pra quem quer começar são bugs com a tag “gift”, ou seja bugs que o mantenedor do pacote marcou como fáceis para serem resolvidos por novos colaboradores.

Por padrão o how-can-i-help vai rodar toda vez que você instalar um pacote, mas também você também pode rodar ele digitando how-can-i-help manualmente no terminal.

Então, se você quer começar a contribuir com o Debian, você pode começar agora mesmo com:


  $ apt-get install how-can-i-help

OBS: o how-can-i-help está disponível no jessie/testing, unstable e wheezy-backports.



Criando um mapa com dados importados do OpenStreetMap

7 de Novembro de 2013, 0:38, por Software Livre Brasil - 0sem comentários ainda

Eu mapeei todas as estações de compartilhamento de bicicletas do BikeSalvador e queria fazer um mapa que mostrasse essas estações. Quando havia apenas cinco estações, após mapear no OSM, eu criei um arquivo GeoJSON usando o geojson.io. Porém agora já são 19 estações. Seria um retrabalho enorme mapear as estações no OSM e depois criar o geojson manualmente.

Felizmente conheci o osmfilter, um software para filtrar os dados do OpenStreetMap. Combinando o osmfilter com o geojson.io é possível facilmente extrair alguns dados do OpenStreetMap e apresentar essa informação em um mapa personalizado. Então vamos às instruções de como fazer isso.

O primeiro passo é baixar os dados do OSM. Se você quiser trabalhar com a base de dados de todo o Brasil, você pode baixar dos servidores do GeoFabrik. Como eu necessitava apenas dos dados de uma cidade, utilizei o editor JOSM, fiz o download dos dados e salvei em um arquivo .osm no meu computador.

Download dos dados no JOSM

Agora nós precisamos utilizar o osmfilter. Veja as instruções de instalação na página osmfilter no Wiki do OpenStreetMap. O comando que eu utilizei para filtrar as estações de compartilhamento de bicicletas de Salvador foi:

./osmfilter salvador.osm --keep="amenity=bicycle_rental" > bikesalvador.osm

Você pode combinar mais de um filtro em um único comando. Por exemplo, se você quiser filtrar todos os restaurantes italianos, você poderia utilizar --keep="amenity=restaurant and cuisine=italian".

Aqui entra o geojson.io. Acesse o site, clique no botão Open e importe o arquivo gerado pelo osmfilter.

geojson.io interface

Após isso, você vai ver todos os dados filtrados sobre o mapa, inclusive os metadados. Se parte dos metadados não te interessar, você pode remover uma ou mais colunas.

Você vai precisar de uma conta no GitHub para salvar seu arquivo GeoJSON. Depois de salvar, o GitHub irá te fornecer uma página com o seu GeoJSON e também um código para que você possa incluir o mapa que você criou em uma página web. O mapa gerado pelo geojson.io é esse abaixo:

Quem quiser criar um mapa ainda melhor, recomendo ler esse tutorial de como adicionar uma camada GeoJSON ao Leaflet.



Criando um aplicativo móvel HTML5 em menos de 24 horas

23 de Outubro de 2013, 0:32, por Software Livre Brasil - 0sem comentários ainda

Screenshot do Fui pra Final!

Tudo começou quando meu amigo e colega de trabalho César Velame me propôs fazer um aplicativo que calculasse a nota necessária na prova final para um aluno ser aprovado. Como a UFRB utiliza pesos diferentes entre a prova final e a média da disciplina, muita gente tem dificuldade em calcular a nota necessária para ser aprovado. O intuito do aplicativo foi facilitar a vida desses estudantes.

Começamos a fazer na manhã de segunda-feira. Utilizamos jQuery Mobile, que eu já tinha alguma experiência, pois utilizei no Clips.tk. Acabei não me lembrando que na homepage do jQuery Mobile há uma ferramenta que permite gerar a estrutura básica da página HTML. Isso teria nos poupado algum tempo, mas valeu o aprendizado. jQuery Mobile é fantástico e bem fácil de usar!

Aprendemos também um pouco de javascript para calcular a nota necessária na prova final e fazer isso ser exibido na página. No final do dia, disponibilizamos a primeira versão do aplicativo em fuiprafinal.com.br. Na manhã seguinte, corrigimos alguns erros e fizemos um layout mais atraente. Eu também escrevi algumas frases engraçadinhas para o app mostrar de acordo com a situação do estudante!

Ainda estamos melhorando o Fui pra final! e em breve vamos disponibilizar no Marketplace do Firefox OS e testar a geração de aplicativos nativos para Android e outras plataformas através do PhoneGap.

Essa experiência foi muito interessante, pois foi uma maneira divertida e prática de aprender novas ferramentas. O fato de estar disponibilizando algo para as pessoas nos estimula a programar mais e com melhor qualidade. O código fonte do aplicativo está disponível no GitHub.



Rede Social baseada em Noosfero é premiada no Japão

22 de Outubro de 2013, 17:46, por Software Livre Brasil - 0sem comentários ainda

Fonte: Colivre

Da Bahia, do Brasil para o Mundo! Um ambiente pedagógico que usa o Noosfero para promover a interação de professores e estudantes de pelo menos dez países foi premiado com o “Excellent Workshop Award” do Canvas Workshop Collection, evento realizado em 2012 no Japão. É o World Museum Project, rede coordenada pelo professor japonês Yoshiro Miyata com a proposta de estimular o poder criativo e a liberdade de expressão de crianças e adolescentes.

Segundo Miyata, World Museum Project é uma “rede mundial de pessoas interessadas em atravessar fronteiras culturais e geracionais para criações colaborativas que possam ampliar visões e aumentar paixões”.  Reúne usuários do Japão, Austrália, Taiwan, Hong Kong, Filipinas, Rússia, Grécia, Espanha, Estados Unidos, Honduras, entre outros países.

Com ferramentas básicas de criação, a rede permite o desenvolvimento de diferentes tipos de projetos, como animações, obras de arte e histórias. Tudo de forma compartilhada e conectada para propiciar um ambiente de aprendizagem criativa.

Yoshiro Miyata é professor da Universidade de Chukyo e pesquisa ambientes e teorias de aprendizagem. Realiza oficinas interculturais em escolas, museus e comunidades no Japão e em outros países.

 



Inscrições abertas para cursos de disseminação do Cirandas.net no Recôncavo Baiano

27 de Setembro de 2013, 10:01, por Software Livre Brasil - 0sem comentários ainda

 

Estão abertas as inscrições para os cursos de disseminação e fortalecimento da plataforma Cirandas.net na região do Recôncavo baiano.

As aulas são voltadas para estudantes, profissionais, integrantes de empreendimentos de economia solidária e interessados no tema.

Entre os tópicos abordados estão as possibilidades oferecidas pelo Cirandas.net, que permite o desenvolvimento de sites para empreendimentos de economia solidária, com lojas online e vitrines virtuais.

As inscrições são gratuitas e podem ser feitas diretamente nos locais de realização das oficinas ou pelo email cursocirandas@colivre.coop.br.

Os cursos são uma realização da Colivre, em parceria com a Universidade Federal do Recôncavo da Bahia (UFRB), com fomento do Fundo de Cultura/Secretaria de Cultura da Bahia.



Colivre em pauta: cooperativa baiana é citada em duas reportagens do Estadão, em São Paulo.

20 de Julho de 2013, 18:16, por PSL-BA Feeds - 0sem comentários ainda

Fonte do Foto: http://instagram.com/p/byl91hGTak

Segundo a reportagem publicada no Estadão, no dia 14 de Julho de 2013, "uma nova geração de programadores e ativistas está convencida de que o Brasil pode dar origem a um novo expoente mundial na área e buscam inspiração nos casos de sucesso de companhias como Mozilla (responsável pelo navegador Firefox), a plataforma de publicação WordPress e a RedHat, grande empresa de software da área. O desafio é lidar com a falta de conhecimento e a insegurança do setor privado, habituado a programas proprietários, já que hoje a maioria dos negócios ainda envolve o setor público."

"Para ganhar espaço, as novas empresas da área precisam se profissionalizar, já que hoje o mercado é muito fragmentado e a maioria ainda atende a setores do governo. “Infelizmente o software livre está associado ao ambiente acadêmico. Há muito preconceito”, diz Vicente Aguiar, sócio-fundador da Colivre, cooperativa de tecnologias livres nascida na Bahia e criadora da plataforma Noosfero, usada na rede social colaborativa Stoa, da Universidade de São Paulo (USP).

Outro ponto é conquistar a confiança das empresas, que temem utilizar uma plataforma cujo código é modificado colaborativamente. “Esse princípio impulsiona o negócio”, diz Aguiar. “O Noosfero foi traduzido para o japonês, russo e alemão. Em qual outro contexto um sistema criado no Nordeste chegaria a esses lugares?”

Na segunda reportagem, "ativistas defendem o ensino de programação nas escolas para reduzir déficit de profissionais de TI e estimular inovação. A disputa por mão de obra no mercado de tecnologia é um dos fatores que atrapalha o desenvolvimento de novos negócios com software livre. 'A maioria dos programadores é cooptada por grandes corporações e abandonam os sonhos para ganhar milhões em outros lugares', diz Vicente Aguiar, da cooperativa Colivre. 'Muitos só precisavam de um empurrãozinho para empreender'.”

Para conferir as reportagem completas, acesse os dois link abaixo:



Presidência da República adota plataforma livre Noosfero para construção da Política Nacional de Participação Social

20 de Julho de 2013, 0:00, por Vicente Aguiar - 0sem comentários ainda

Evento na Presidência da República

A Secretaria-Geral da Presidência da República (SG/PR) promoveu, nesta quinta-feira (18/07), no Salão Leste do Palácio do Planalto, o evento “Diálogos Governo e Sociedade: Novas Formas de Participação Social na Política”, no qual representantes de diferentes segmentos da sociedade debateram as recentes manifestações populares e sua relação com as demandas por novos mecanismos de exercício da democracia.

O evento serviu também para o lançamento de duas Consultas Públicas sobre os textos-base da "Política Nacional de Participação Social" e do "Compromisso Nacional pela Participação Social". O processo de  construção desses dois textos está aberto a toda sociedade e poderão ser feito por qualquer cidadão, via internet, por meio de uma ambiente digital de participação social, desenvolvido por meio da plataforma livre Noosfero: http://psocial.sg.gov.br


Oficialmente, o desenvolvimento desse projeto da Presidência se deu por meio do SERPRO, contudo a Colivre (Cooperativa de Teconologias Livres da Bahia), criadora dessa plataforma livre, ofereceu todo apoio técnico para que essa implantação acontecesse. Para isso, além de consultoria técnica, foram incluídas e lançadas novas funcionalidades na versão 0.44.0 do Noosfero que possibilitarão a construção colaborativa dos decretos que visam o fortalecimento do diálogo entre o Estado e a Sociedade Civil.

Segundo o site da Presidência da República, o diálogo com os atores sociais para a construção dos dois documentos será o primeiro teste para a nova ferramenta utilizada pelo Governo Federal e aponta para a importância do papel das novas mídias no aprofundamento da participação social.

Representante da Rede Social Livre Blogoosfero, Fred Vasquez defendeu ainda no evento que o uso de tecnologia nacional por todo o governo federal e que os vídeos institucionais sejam hospedados no Serpro e nos sites das universidades brasileiras. O professor da PUC, Ladislau Dowbor, autor do livro Democracia Econômica: Alternativas de Gestão Social, disse que “é importante que a gente se una para que as coisas tenham prosseguimento”.

O ministro Gilberto Carvalho ressaltou que o encontro e plataforma foram elaborados para o governo “mais ouvir as considerações do que falar”. Carvalho considerou o encontro extremamente saudável e afirmou que “ é momento de abrir novos caminhos para o diálogo e a participação”. Pedro Abramovay, da Avaaz (maior comunidade de campanhas e petições online para a mudança social) defendeu que as manifestações de junho de 2013 apontaram um novo caminho para o Brasil.

Fonte: Site da Presidência da República.



Participando do projeto Debian - como começar

18 de Junho de 2013, 21:20, por Software Livre Brasil - 0sem comentários ainda

O objetivo deste post é informar pessoas interessadas em contribuir com o Debian sobre por onde começar. Existem várias formas de contribuir com o Debian: você pode contribuir com empacotamento/desenvolvimento, artwork, triagem de bugs, tradução, documentação, divulgação, suporte a outros usuários, atividades administrativas, organização da presença do Debian em eventos, e por aí vai.

Este post é uma tentativa de dar a minha visão sobre como começar a contribuir com o Debian. É possível que o conteúdo seja um pouco enviesado para contribuição com desenvolvimento/empacotamento, porque é isso que eu faço, mas eu fiz um esforcinho pra ser genérico.

Talvez faltem informações, ao algumas coisas estejam confusas. Fique a vontade pra postar um comentário lá no final.

Coisas pra se ter em mente, antes de qualquer coisa

Quem pode colaborar com o Debian

No Debian, a contribuição de todos é bem-vinda. Qualquer pessoa que tenha o conhecimento e habilidade necessários para uma determinada tarefa pode começar a contribuir com o projeto agora.

A maioria das atividades no Debian não requer nenhum tipo de permissão especial. A forma exata como a contribuição é feita depende muito da atividade específica, por isso não vou entrar em detalhes aqui.

Uma das poucas atividade que não pode ser feitas por qualquer pessoa é o upload de pacotes. Qualquer pessoa pode manter um pacote no Debian, mas o upload do pacote para os servidores do projeto precisa ser feito por um desenvolvedor oficial (mais detalhes abaixo).

Comunicação

Praticamente toda comunicação do projeto se dá em listas de discussão e canais no IRC. Você provavelmente vai querer se inscrever nas listas de discussão do seu interesse, e frequentar um ou mais canais no IRC.

O idioma utilizado no projeto Debian é o inglês

Lembra quando te diziam na época da escola que inglês é importante? Pois é. Para participar do Debian não é necessário ser 100% fluente, mas conseguir ler é fundamental, e conseguir escrever, ainda que só o básico, ajuda muito.

Mas não se deixe impedir por deficiências no inglês: participar de um projeto internacional vai melhorar muito o seu inglês (experiência própria), então com o tempo você vai se sentir cada vez mais à vontade.

Existe uma lista de desenvolvimento em português, que pode ser usada pra tirar dúvidas, mas na minha experiência o trabalho de verdade acontece em inglês.

Fazendo a lição de casa

Todos temos dúvidas, e como o Debian tem um escopo imenso, é normal que você não saiba alguma coisa. Ninguém sabe tudo. Mas é importante que você pesquise antes de perguntar. Primeiro porque existe a probabilidade de alguém já ter tido aquela dúvida antes, e a resposta pra ela pode já existir e estar arquivada. Segundo, porquê as pessoas que estão no projeto a mais tempo acham bem chato responder às mesmas perguntas de novo e de novo.

É possível que você não encontre a resposta para a sua dúvida. Nesse caso, não hesite em perguntar. Uma leitura interessante relacionada é o How To Ask Questions The Smart Way, que dá várias dicas de como fazer perguntas da forma mais eficiente possível. Especialmente numa discussão por email, uma pergunta feitas com todas as informações necessárias para que te seja dada uma resposta pode te economizar vários dias!

Pra contribuições nas áreas de desenvolvimento e empacotamento, você vai querer ler:

Note que os items acima representam bastante documentação. Não precisa ler tudo de uma vez só antes de fazer uma contribuição, mas saiba que cedo ou tarde as respostas pra dúvidas que você tem podem estar neles.

Formas de começar

Eu diria que existem 2 formas de começar: a primeira é fazer parte de um time existente; a segunda, específica para contribuição com desenvolvimento/empacotamento, é escolher um pacote pra contribuir. Começar se juntando a um time na minha opinião é mais fácil.

Fazendo parte de uma equipe

Hoje em dia, uma grande parte das atividades do Debian acontecem no contexto de times específicos. No Wiki do projeto há uma lista de times existentes que hoje lista mais de 130 times. Existem times de empacotamento de software em linguagens específicas (como a equipe de Ruby, do qual eu faço parte) ;existem times focados em um conjunto de pacotes relacionados, como os times de empacotamento do GNOME, do KDE, do Xfce; existem times transversais, como o time de segurança, o time de publicidade, o time de controle de qualidade, etc. Dá uma olhada lá na lista de times.

Na minha opinião a melhor forma de começar é fazer parte de um time. A chave aqui é escolher uma equipe com a qual você se identifique, o que ajuda a manter a sua motivação. Se você desenvolve em Perl, dê uma olhada no time de Perl. Se você se interessa por tipografia, dê uma olhada no time de fontes. Se você usa KDE e se interessa pelo KDE mais do que alguém normalmente se interessaria pelo seu desktop, confira o time KDE. Se você não é um(a) desenvolvedor(a), procure um dos vários times que lidam com outros tipos de atividades que podem te interessar.

Escolhido o time, você provavelmente vai querer assinar a(s) lista(s) de discussão do time, frequentar o canal do time do IRC, e começar a entender o que o time faz e como ele funciona. Se o time tiver uma lista de tarefas, tente atacar um item da lista. Se você tiver sorte os itens podem até estar classificados em níveis de dificuldade.

Se a equipe for relacionada a empacotamento, você vai querer aprender empacotamento. Acho que uma boa forma de começar a aprender é instalar o pacote packaging-tutorial e abrir /usr/share/doc/packaging-tutorial/packaging-tutorial.pdf no seu leitor de PDF favorito. Verifique se existem bugs nos pacotes do time; escolha um bug, tente reproduzí-lo no seu sistema local. Se você conseguir reproduzir, tente consertar.

Uma vez que você tenha uma contribuição a um pacote, você vai precisar que essa contribuição seja revisada por alguma outra pessoa do time, e de um desenvolvedor oficial pra fazer o upload do pacote corrigido. Normalmente em times encontrar um desenvolvedor para fazer uploads não deve ser difícil.

Escolhendo um pacote

Se você não está interessado(a) em contribuir com desenvolvimento ou empacotamento, pule essa sessão. :-)

Outra forma de começar é escolher um pacote pra contribuir. Assim como no caso das equipes, escolha um pacote que seja do seu interesse, ou seja, um pacote que você usa. Pode ser uma aplicação que você usa sempre, uma biblioteca que está instalada no seu sistema como dependência de algum outro pacote. Tente começar com um pacote simples/pequeno.

O Debian tem uma base de dados de pacotes que precisam de ajuda, seja porque o mantenedor atual está sem tempo pra manutenção e quer que alguém passe a ser o mantenedor, seja porque o pacote já está órfão a um tempo, ou seja porque o mantenedor atual queira compartilhar a manutenção com outra(s) pessoa(s). Essa base de dados se chama WNPP, e existe um interface pra pesquisar por esses pacotes em wnpp.debian.net.

Uma boa forma de descobrir um pacote que precisa de um pouco de carinho pra você começar é instalar o pacote devscripts e executar o comando wnpp-alert. Ele vai listar todos os pacotes que estão instalados no seu sistema e estão órfãos, ou precisam de co-mantenedores.

Você vai querer aprender sobre empacotamento. Uma boa forma de começar a aprender é instalar o pacote packaging-tutorial e abrir /usr/share/doc/packaging-tutorial/packaging-tutorial.pdf no seu leitor de PDF favorito.

Não consigo pensar numa boa forma de escolher um pacote. Eu diria o seguinte:

  1. escolha uns 2 ou 3 pacotes
  2. dê uma olhada na lista de bugs de cada pacotes
  3. escolha um bug de um dos pacotes, tente reproduzí-lo no seu sistema local.
  4. Se você conseguir reproduzir, tente consertar. A forma exata de como consertar vai depender muito do bug, então não posso ser mais específico.
  5. se você não entender o bug, ou não conseguir reproduzir, talvez você queira relatar isso no bug report. Talvez você queira voltar para o passo 3.

Se você escolheu um pacote, leia a documentação sobre o WNPP, e faça o procedimento pra dizer que você quer adotar o pacote. Verifique se existem novas versões do pacotes lançadas pelo desenvolvedor original (que a gente chama no Debian de upstream). Tente atualizar pra essa versão.

Quando você tiver o pacote pronto, você vai precisar encontrar um desenvolvedor oficial pra revisar o pacote. Essa pessoa vai revisar o seu trabalho, eventualmente pedir pra você fazer algumas (ou muitas) correções ou melhorias no pacote, e por fim vai fazer o upload.

Caso você queira começar por um pacote, o grupo de orientação (‘mentors’) é um bom lugar pra começar, tanto em termos de orientação como em termos de achar um desenvolvedor pra revisar o seu pacote fazer o upload pra você.



De volta…

21 de Abril de 2013, 2:51, por PSL-BA Feeds - 0sem comentários ainda

No início do ano, prometi a mim mesmo que postaria pelo menos duas vezes por mês. Não tô conseguindo cumprir, mas vou tentar melhorar. Por enquanto, algumas anotações de coisas que fiz esse ano.

Nos primeiros dias de janeiro foi lançada a Edição #29 da Advir, uma revista científica da Associação de Docentes da UERJ. Nesta revista, foi publicado um artigo que escrevi com meu amigo e colega de trabalho César Velame. O título do nosso artigo é “O uso de Software Livre na Universidade Federal do Recôncavo da Bahia”.

Semana passada conheci Brasília e participei da Reunião de Planejamento 2013-2014 do Comitê de Implementação de Software Livre do Governo Federal, representando a UFRB. Surgiram muitas boas propostas na reunião, espero que o governo Dilma tenha uma postura mais firme em defesa do Software Livre nessa segunda metade do mandato…

Tenho estudado Leaflet, uma biblioteca javascript para mapas interativos. Em breve vou publicar uns projetos utilizando essa biblioteca…

Volta e meia um pôr-do-sol me surpreende em Feira de Santana…

Pôr-do-Sol em Abril em Feira de Santana



De volta…

20 de Abril de 2013, 23:51, por Software Livre Brasil - 0sem comentários ainda

No início do ano, prometi a mim mesmo que postaria pelo menos duas vezes por mês. Não tô conseguindo cumprir, mas vou tentar melhorar. Por enquanto, algumas anotações de coisas que fiz esse ano.

Nos primeiros dias de janeiro foi lançada a Edição #29 da Advir, uma revista científica da Associação de Docentes da UERJ. Nesta revista, foi publicado um artigo que escrevi com meu amigo e colega de trabalho César Velame. O título do nosso artigo é “O uso de Software Livre na Universidade Federal do Recôncavo da Bahia”.

Semana passada conheci Brasília e participei da Reunião de Planejamento 2013-2014 do Comitê de Implementação de Software Livre do Governo Federal, representando a UFRB. Surgiram muitas boas propostas na reunião, espero que o governo Dilma tenha uma postura mais firme em defesa do Software Livre nessa segunda metade do mandato…

Tenho estudado Leaflet, uma biblioteca javascript para mapas interativos. Em breve vou publicar uns projetos utilizando essa biblioteca…

Volta e meia um pôr-do-sol me surpreende em Feira de Santana…

Pôr-do-Sol em Abril em Feira de Santana



O mundo da Virtualidade Real

13 de Abril de 2013, 19:41, por PSL-BA Feeds - 0sem comentários ainda

 

No início desse século, em 2000, desnudando uma nova realidade social embrionária, o sociólogo Manuel Castells escreve sobre a "Cultura da Virtualidade Real", num dos mais interessantes capítulos da sua grande obra "A Sociedade em Rede". Confesso que, logo que li o livro, passei desapercebido sobre a relevância dessa questão. Porém, quando voltei para universidade para fazer doutorado, li sua palestra (feita dez ano depois do livro!)  sobre “Redes sociais e transformação da sociedade”, eu pude perceber o quanto esse conceito é muito relevante nos dias de hoje, pois...      


"(…) Havia gente que dizia que a internet era um lugar alienante, onde as pessoas se ilhavam, mas, pelo contrário, onde há sociabilidade é na internet. Onde há cada vez menos sociabilidade é na vida física individual, porque as pessoas só correm, não têm tempo para nada. Há uma cultura individualista de competição no trabalho e na vida familiar, e onde as pessoas realmente se articulam socialmente é na internet e, a partir daí, desenvolvem sua própria vida. Passamos não ao mundo virtual, mas ao mundo do que chamo de virtualidade real. Não da realidade virtual, mas da virtualidade real.

A virtualidade é uma dimensão básica de nossa realidade, e é nesta articulação que se constrói nossa sociedade. E se constrói autonomamente. As pessoas constroem suas próprias redes sociais. Na internet, constroem seus próprios processos de ativação política e profissional. Não é um lugar para somente chat-chat. As redes sociais são para todos: para o profissional, político, intelectual, cientistas, acadêmicos. É aí que se as pessoas se expressam e articulam suas próprias relações." 2

 

1 Imagem feita por  Aurium
2 Manuel Castells, em sua palestra “Redes sociais e transformação da sociedade”, proferida no Centro Ruth Cardoso em 16 de setembro de 2010.



Ruby 2.0 released, with multiarch support^W^W^W^W

24 de Fevereiro de 2013, 15:31, por Software Livre Brasil - 0sem comentários ainda

Ruby 2.0 was released today. This new version of the language brings some very interesting features, and according to the core team, an effort has been made to keep source level compartibility with Ruby 1.9.

Debian packaging is under way and should hit NEW soon. During the last few days I gave more attention to getting the new multiarch support fixed upstream than to the packaging bits, but the remaining packaging work should be pretty much about housekeeping.

Next steps from a Debian point of view (after Wheezy is out) include:

  • add Ruby 2.0 support in gem2deb (should be trivial).
  • check what packages need fixing to support Ruby 2.0, and which are broken beyond repair.
  • figure out how to better exploit a multiarch-enabled Ruby.

Now let’s get back to fixing RC bugs and getting Wheezy released. :-)

UPDATE 2013-03-06: actually the multiarch support is broken in 2.0.0, and the bugs I reported were only fixed in trunk. I will probably backport those fixes in the Debian package.



PNUD abre dados de mais de seis mil projetos usando plataforma livre

19 de Fevereiro de 2013, 15:15, por PSL-BA Feeds - 0sem comentários ainda

O Programa das Nações Unidas para o Desenvolvimento (PNUD) lançou, no final de 2012, uma plataforma digital que permite o acesso público a dados de projetos em 177 países e territórios, com o compromisso de transparência total até 2013, em conformidade e até além de padrões internacionais.

“A transparência é uma prioridade para o PNUD, além de ser um elemento fundamental para a manutenção da confiança depositada em nós pelo público em geral e por nossos parceiros. Este portal on-line permite acompanhar as doações e ajuda nossos parceiros a gerenciar de maneira mais efetiva seus recursos”, disse Helen Clark, diretora mundial do PNUD.

“Estamos comprometidos em trabalhar de forma transparente e vamos continuar aumentando a quantidade, qualidade e intemporalidade de nossos relatórios para que nossos parceiros possam monitorar seus investimentos no combate à pobreza, no apoio ao desenvolvimento humano e nos processos que asseguram um futuro sustentável para todos”, disse. O novo portal, open.undp.org, possui ampla gama de informações programáticas – desde receita e gastos até atividades e resultados – sobre mais de 6 mil projetos do PNUD em andamento pelo mundo, assim como aqueles que foram encerrados financeiramente em 2011, além de mais de 8 mil produtos e resultados.

Para publicação  dos dados no mapa, o portal utilizou a plataforma livre Open Streat Map (no lugar do Google Mpas) por meio do serviço MapBox. Além disso, todos os dados do portal podem ser usados por meio da licença Creative Commons’ Attribution License (CC-BY). Os usuários podem ordenar os projetos por área de atuação, fontes de financiamento e área geográfica para extrair dados detalhados sobre orçamentos, agências implementadoras e produtos esperados em áreas como governança e justiça, prevenção de crises e recuperação e meio ambiente e desenvolvimento sustentável.

O PNUD, como membro fundador da IATI, assumiu o compromisso de adesão total aos padrões de transparência até 2013, garantindo a publicação de dados financeiros e informações de projetos da maneira mais transparente e acessível possível.


Fonte: http://www.pnud.org.br/Noticia.aspx?id=3682



Workshop Internacional de Software Livre 2013

18 de Fevereiro de 2013, 17:24, por PSL-BA Feeds - 0sem comentários ainda

Apresentação

Para além das pioneiras comunidades de compartilhamento de software criadas em torno do Unix e da comunidade de hackers do Emacs, o desenvolvimento de Software Livre e de fonte aberta (FOSS) tem crescido exponencialmente, seguindo a popularização e ampla disseminação do uso de computadores pessoais e da Internet. Não apenas as comunidades FOSS se expandiram globalmente, mas também o corpo de literatura a seu respeito, tornando-se extremamente relevante para cientistas e engenheiros da computação, bem como para pesquisadores das ciências humanas.

Na última década, a pesquisa em FOSS consolidou-se em torno de questões como motivações individuais, práticas colaborativas, questões de escala, governança e coordenação de esforços de desenvolvimento, assim como em torno de problemas de economia política envolvendo o estudo de modelos econômicos e formas de mobilização política em torno do Software Livre.
 
Nosso principal objetivo nesse workshop é avaliar o estado da arte da pesquisa interdisciplinar, explorando aspectos técnicos, legais, socioeconômicos e culturais do FOSS. Deteremo-nos sobre os tópicos de pesquisa mencionados, discutindo contribuições recentes à literatura.

Convidamos pesquisadores de qualquer disciplina acadêmica nos tópicos seguintes e assemelhados a submeterem seus artigos:
 

  • - Licenciamento e aspectos legais relacionados, disputas de direito autoral, patentes de software, adequação à GPL, propriedade individual ou coletiva de código;
  • - Engenharia de Software Livre, desenvolvimento de metodologias, métricas de código-fonte e avaliação da qualidade de software;
  • - Estudos culturais, sociais e econômicos envolvendo abordagens qualitativas e quantitativas de comunidades ativistas e de desenvolvimento;
  • - Estudos de caso: análise aprofundada de casos de implementação, migração, sucesso ou fracasso de projetos de FOSS em várias partes do mundo; 
  • - Expansão e transformação do Software Livre em curso: para além do desenvolvimento de software e em direção à Cultura Livre, Hardware Aberto, Open Access, jornalismo online independente e projetos colaborativos baseados na Internet.

 

Sobre o FISL e o WSL

O Workshop Internacional de Software Livre (WSL) é um evento científico que acontece no âmbito do Fórum Internacional Software Livre (FISL). Desde 2000, o FISL é organizado por ativistas do software livre em Porto Alegre, Brasil, e representa uma das maiores e mais importantes conferências de FOSS do mundo.
 
O WSL aceita papers advindos de diferentes tradições disciplinares, oferecendo oportunidade para professores, pesquisadores, estudantes e outros profissionais de apresentarem e discutirem pesquisas originais desenvolvidas em centros de pesquisas, empresas e universidades que usam, disseminam e/ou refletem criticamente sobre FOSS em seus aspectos técnicos, legais, socioeconômicos e culturais.

Informações para os Autores

   - Os papers devem ser escritos em Inglês, Português ou Espanhol
   - Os papers devem conter no máximo 20 páginas impressas, incluindo resumo, figuras e referências
   - As submissões devem ser feitas em PDF (utilizando o template da SBC: http://tux.gseis.ucla.edu/template_SBC/)
   - Os papers devem ser enviados por email a luisfelipe/*/arroba/*/ucla.edu
 
Os papers serão avaliados por pareceristas acadêmicos com experiência de pesquisa em FOSS, considerando seu conteúdo técnico e relevância para o workshop. Todos os papers aceitos serão publicados nos anais do WSL e estarão disponíveis em um repositório aberto contido na página da comunidade WSL (http://softwarelivre.org/wsl) sob a licença Creative Commons Attribution 3.0 unported (CC-BY-3.0).
 
Para os papers redigidos em co-autoria, os autores deverão definir um apresentador para o WSL. O apresentador receberá um código promocional para registrar-se gratuitamente no FISL. Despesas de hospedagem e acomodação não serão pagas pelo FISL ou pelo WSL.

Datas Importantes

   - Prazo para submissão dos textos:
     Dias 20 de fevereiro de 2013
     
   - Divulgação dos papers aceitos:
     Dia 29 de abril de 2013
     
   - Fórum Internacional Software Livre (FISL), Porto Alegre, Brasil
     De 3 a 6 de julho de 2013 
   
   - Workshop Software Livre (WSL), Porto Alegre, Brasil
     De 4 a 5 de julho de 2013
 

Comitê Organizador

Coordenador Geral

   Carlos D. Santos (Universidade de Brasilia, Brazil) 

Coordenador de Programa

   Luis Felipe R. Murillo (University of California, Los Angeles, USA)

Coordenador de Publicações e Organização Local

   Paulo Meirelles (Universidade de Sao Paulo, Brazil) 

Coordenadores de Publicidade

   Imed Hammouda (Tampere University of Technology, Finland)
   Gregorio Robles (Universidad Rey Juan Carlos, Spain)
   Rafael Evangelista (Universidade Estadual de Campinas, Brazil)
   Veronica Xhardez (Flacso/CONICET - SoLAr, Argentina)
   Yuri Takhteyev  (University of Toronto, Canada)

 

Mais informações: http://softwarelivre.org/wsl



Tags deste artigo: nordeste psl bahia