SummerOfCode2012: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Linha 158: Linha 158:
== reacPad ==
== reacPad ==


We are planning to create a plugin to EtherPad that makes possible to run JavaScript (and maybe other languages) inside of EtherPads and to be programmable collaborative the same way EtherPad already does for common text.
We are planning to create a plugin to [[http://etherpad.org EtherPad]] that makes possible to run JavaScript (and maybe other languages) inside of EtherPads and to be programmable collaborative the same way EtherPad already does for common text.


Important to say that EtherPad is an interesting tool to civil society. With pads we are creating logs for reunions and documents of many kinds (take a look at our page [[Epads]]).
Important to say that EtherPad is an interesting tool to civil society. With pads we are creating logs for reunions and documents of many kinds (take a look at our page [[Epads]]).
'''Objective:''': Create a plugin to [[http://beta.etherpad.org EtherPad Lite]] (the [[http://nodejs.org node.js]] port of EtherPad) to make possible to embed JavaScript scripts inside a pad.
'''Suggested Roadmap:''' 1) Study the EtherPad Lite architecture; 2) Be part of EtherPad Lite maillist and IRC channel and review the status of plugins development. As we know, today there is not a plugin system for EtherPad Lite, so there will be a task to create a first prototype of a plugin to the system; 3) Develop the plugin inside the plugin system to embed the scripts; 4)
'''Repos:''': The EtherPad Lite GIT repos is a good starting point https://github.com/Pita/etherpad-lite
'''Languages:''' JavaScript (major), HTML5 and CSS3 (a plus)
'''Mentor(s):''' Vilson Vieira <vilson@void.cc>


== Defered time Music with Minimum-fi and [[FIGGUS]] ==
== Defered time Music with Minimum-fi and [[FIGGUS]] ==

Edição das 19h49min de 10 de março de 2012

LabMacambira is applying to be a mentor organization for Google's Summer of Code 2012. This page lists all the projects with associated mentors. Our mentors are very approachable and include world-class experts in web, audio, and video software technology.

Information for potential students

You may choose from the following list, but feel free to submit a proposal for your own idea!

You can also discuss your ideas in #labmacambira channel on IRC network irc.freenode.net

Our bugtracker is a good starting point to be inspired about new ideas, please take a look!

Project Ideas

The mentorings named below for each idea corresponds to individual affinities for the trend. In practice, Fabricio Zuardi, Renato Fabbri, Ricardo Fabbri, Vilson Vieira and Daniel Marostegan will be mentoring together. See also the Mentors section.


AA (client)

AA Console Client

AA is a social system for coordinating distributed teamwork where each participant stays logged for at least 2 hours a day, publicly microblogging their development activities related to assigned tickets. At the end of each daly session, a video log is recorded and uploaded to a public video channel, the text log is also published on the Web and is peer-validated for quality. The AA system and its underlying software engineering methodology enables self-funding for distributed collectives of developers working on FLOSS projects.

Objective: AA is a distributed system following a client-server architecture. Each AA client is Python application in textual or GTK+ form that communicates with the AA server, the web instance. Through the client each developer can send messages and log his activities. Currently, AA client is a simple program written to run just in Linux. Being a software that aims to be used by everyone it would be important to be multiplatform (perhaps as a web client) and to have additional functionalities such as better Trac and Git log integration, RSS/Google+ developer feeds, and automatic videolog watermarking. A student working on AA could work on these features for the program.

AA GTK2 Frontend

Suggested Roadmap: 1) Understand the AA architecture; 2) Use AA in its current form to understand, as a developer working in a collaborative group, what features are most needed. These features could be implemented during the summer or documented for a future developers; 3) Research about how to make AA multiplatform - we are planning to make a Web client; 4) Implement the features on the TODO of the project and some of the features listed by yourself if possible. 5) write a paper about the AA methodology and experiences with the implemented system.

Repos: git clone git://labmacambira.git.sourceforge.net/gitroot/labmacambira/aa

Languages: Python, Javascript, Shell script

Mentor(s): Renato Fabbri <renato.fabbri@gmail.com>

pAAinel (AA server)

AA

AA is a distributed system for coordinating decentralized teamwork, as described above. We need to develop the server side of AA, which already includes an aggregator of logs, and a master aggregator of all the team information in a dashboard which is similar to iGoogle: pAAinel. Currently, pAAinel merely displays information about logs registered by the AA server, together with complementary information, like a recent irc log, tickets and last screencasts and code commits.

Objective: We desire to rewrite the AA microblog server (actually written in PHP) as a module inside pAAinel, a Django application.

Suggested Roadmap: 1) Understand the current AA architecture; 2) Read both pAAinel (made in Django) and AA server (in PHP) code and associated documentation, planning how to rewrite AA server as a module inside pAAinel; 3) To develop and test the new pAAinel together with members of LabMacambira; 4) Continuouslly document the process.

Repos:

git clone git://labmacambira.git.sourceforge.net/gitroot/labmacambira/paainel 
git clone git@gitorious.org:macambira_aa/macambira_aa.git 

Languages: Python, PHP, Javascript

Mentor(s): Vilson Vieira <vilson@void.cc>

AirHackTable

AHT

The AirHackTable is an art project - an interactive music instrument based on advanced computer vision algorithms that track flying origamis, associating their trajectories, color, and shape to different musical properties. The recycled coolers inside a cardboard table (itself an origami) generates a layer of air on top of which colored origamis float around and make track patterns depending on their geometry. A set of webcams on top then captures those patterns through our own color detection and 3D reconstruction algorithms, and then generate and modulate sounds based on the trajectory, color, and shape of the origamis. Many are the technological spinoffs of this project, most of which were accepted officially into well-established software such as the Pd/Gem real time multimedia programming system and Scilab.


Objective: The AHT project is an opportunity to develop and spread cutting-edge technology in a playful manner, which may seem otherwise too hard/unapproachable. We plan to improve geometric recognition to be used for generating sounds for modulating voices that are in agreement with the geometry of the origami. The goal, then, is to implement algorithms for 3D edge/curve reconstuction from the mentor's research, in order to recover the origami's edges in 3D, thus recovering the true geometry of the origami. Other techniques such as 2D recognition of origami silhouettes should also be developed. This playful project is expected to generate technological spinoffs which will be incorporated into other well-established FLOSS projects such as Pd, Scilab, OpenCV, and VXL. Some of the Google projects that can benefit from the underlying machine vision technology include Google Streetview, Google Book scanning, Google Image Search, and Youtube.

Suggested Roadmap: 1) compile and run the current system after downloading the large set of repositories and watching our screencasts; 2) brush up on the background: Pd, C++, and Computer Vision, by talking to the mentors and watching our screencasts; 3) get the 3D reconstruction system up and running isolatedly 4) optimize the system to run in real time 5) incorporate the 3D reconstruction system into the AHT system; 6) write up documentation and papers on the core technologies.

Repos:

git clone git://github.com/rfabbri/pd-macambira.git
git clone git://github.com/rfabbri/Gem.git gem.git
git clone git://github.com/wakku/Hacktable.git hacktable
git clone git@github.com:rfabbri/pd-macambira-utils.git
git clone https://github.com/gilsonbeck/beck-repo.git

Languages: C++ (strong), Pd (intermediate), Scilab (familiarity)

Mentor(s): Ricardo Fabbri (rfabbri at gmail)


SIP

SIP toolbox
Leptonica Image Processing Library from Google

SIP stands for Scilab Image Processing toolbox. SIP performs imaging tasks such as filtering, blurring, edge detection, thresholding, histogram manipulation, segmentation, mathematical morphology, color image processing, etc. It leverages the extremely simple Scilab programming environment for prototyping complex computer vision solutions.

Objective: First, to add functionality to the Google FLOSS project Leptonica and interface most of this C library with Scilab. Second, to throroughly document this library. Google projects that will most benefit from this effort include Google Book search and Google Image Search.

Suggested Roadmap: 1) Run leptonica and SIP; 2) make a contribution to Leptonica (at least a simple bugfix), which will help the student get started; 3) write the necessary C infrastructure to interface Leptonica image structures with Scilab matrices 4) interface a Leptonica functionality with Scilab and document it thoroghly 5) repeat 4, prioritizing functions that can only be found in Leptonica.


Repos:

svn checkout http://leptonica.googlecode.com/svn/trunk/ leptonica-read-only
git clone git://siptoolbox.git.sourceforge.net/gitroot/siptoolbox/animal 
git clone git://siptoolbox.git.sourceforge.net/gitroot/siptoolbox/siptoolbox

Languages: C (strong), Scilab (familiarity)

Mentor(s): Ricardo Fabbri (rfabbri at gmail)


Ágora Delibera

Ágora Delibera

Plain simple deliberation software envisioning direct democracy. In use by ONU in almost 90 countries, a simple deliberations algorithm can be implemented as a php or django hacksware to state of art direct democracy as is Delibera, from Ethymos, a LabMacambira partner and co-worker.

Objective:

Suggested Roadmap:

Repos: git clone https://github.com/daneoshiga/agoracommuns

Languages: Python, PHP (Ágora Communs 'hacksware'), Javascript (REST)

Mentor(s): Renato Fabbri <renato.fabbri@gmail.com>, Daniel Marostergan <daniel@teia.org.br>

reacPad

We are planning to create a plugin to [EtherPad] that makes possible to run JavaScript (and maybe other languages) inside of EtherPads and to be programmable collaborative the same way EtherPad already does for common text.

Important to say that EtherPad is an interesting tool to civil society. With pads we are creating logs for reunions and documents of many kinds (take a look at our page Epads).

Objective:: Create a plugin to [EtherPad Lite] (the [node.js] port of EtherPad) to make possible to embed JavaScript scripts inside a pad.

Suggested Roadmap: 1) Study the EtherPad Lite architecture; 2) Be part of EtherPad Lite maillist and IRC channel and review the status of plugins development. As we know, today there is not a plugin system for EtherPad Lite, so there will be a task to create a first prototype of a plugin to the system; 3) Develop the plugin inside the plugin system to embed the scripts; 4)

Repos:: The EtherPad Lite GIT repos is a good starting point https://github.com/Pita/etherpad-lite

Languages: JavaScript (major), HTML5 and CSS3 (a plus)

Mentor(s): Vilson Vieira <vilson@void.cc>

Defered time Music with Minimum-fi and FIGGUS

'The increasing dominance of graphic interfaces for music software obscured 
the continuing presence of the command-line tradition, 
the code writer, the hacker. The code writing of deferred time 
computer programming may be assembled out of time order, debugged and optimized.'

--- Simon Emmerson, Living electronic music, 2007


Languages: Pure Python or with numerical libraries like numpy, pylab and audiolab

Mentors: Renato Fabbri < renato.fabbri AT GmAil DOT cc > and Vilson Vieira < vilson AT void DOT cc >

Objective: student proposal

Roadmap: open for student creativity

Core Repos:

1) With minimum resources to synthesize musical structures, Minimum-fi is a single python file - in pure python or using numpy and audiolab - doing a sample by sample sythesis with resulting notes and tibres in music: git clone git clone git://labmacambira.git.sourceforge.net/gitroot/labmacambira/audioArt/minimum-fi

2) Mathematical structures derived form permutations and algebraic groups is the core of music composing with FIGGUS' interesting and condensed structures. Make an EP with one command: git clone git://labmacambira.git.sourceforge.net/gitroot/labmacambira/FIGGUS



ABeatTracker (ABT) and Livecoding

ABeatTracker is a music software for real time execution of specialized macros that play rythmic patterns with samples. Its internal module ABeatDetector (ABD), is a rythmic analiser oriented towards indicating periodicities (symmetryc overal duration cells) in a tapped in rythm. Its porpuse is to indicate musical cells and successions that can be used immediatelly in ABT, making it possible to really play live indicating structures that makes sense and develops what your partner or base is playing.

Languages: Python and ChucK comunicating via OSC mainly, vi and emacs scripting too

Mentors: Renato Fabbri < renato.fabbri AT GmAil DOT cc > and Vilson Vieira < vilson AT void DOT cc >

Objectives: open for student proposal. Would be really good if ABD and ABT where finaly conected and ABT could then use ABD's rythmic analysis. Also, ABT could have a Vi or Emacs interface for live performance with approppriate shortcuts and abbreviations for musical code execussion.

Roadmap: while open for student creativity, musical execution of the code will reveal hacks that creates interesting musical structures. In a way or another, it would be good so recover or redesign ABD's code (it has been schatched or broken) and its communication with ABT.

Also, creating 'presets' and abreviations in Vi or Emacs will provide lots of sound banks and 'musical set' examples. This ideally leads to further development of livecoding interfaces in Emacs and Vi.

Core Repos:

1) ABeatTracker: git://labmacambira.git.sourceforge.net/gitroot/labmacambira/abt

2) Vi and Emacs example scripts for livecoding (and actually used in a live performance for more than 4k persons): git://labmacambira.git.sourceforge.net/gitroot/labmacambira/audioArt/livecoding

Macambot

Foobar. Citar Lalenia e coBots.

Languages: Python

Conferência Permanente

Conferência Permanente

Plataforma para as Conferência de Defesa dos Direitos das Crianças e dos Adolescentes

Languages: Python, Javascript

SOS

SOS

Sistema dedicado à coleta e difusão de conhecimentos populares e indígenas sobre saúde.

Languages: Python, Javascript


More to come

Take a look at our remaining creations at: http://wiki.nosdigitais.teia.org.br/Lab_Macambira#Software_Livre_Criado_pela_Equipe_Lab_Macambira

Application Template

(brief description goes here)

Objective: (describe the purpose of this task here)

Suggested Roadmap: (describe a possible path to accomplish the objective here)

Repos: (list the main repositories for the project here)

Languages: (list the main programming languages and the required skill level)

Mentor(s): (indicate mentor names and email here)

Mentors

  • Fabricio Zuardi. Specialty: music and web.
  • Renato Fabbri. Specialty: music, audio and web. Social technologies for welfare.
  • Ricardo Fabbri. Specialty: image and video.
  • Vilson Vieira. Specialty: audio and web. Tools for computational creativity.
  • Daniel Marostegan e Carneiro. Specialty: social, citizen rights, and architecture apps.