The following 862 words could not be found in the dictionary of 1275 words (including 1275 LocalSpellingWords) and are highlighted below:
28software   able   About   about   academic   accepted   accessible   according   adding   additional   addons   address   addressbook   adopted   against   aims   Air   alarms   algorithms   align   allow   alone   already   android   another   answer   answers   antennas   anything   app   applicants   application   applications   apply   apps   Arduino   areas   asterisk   at   attached   attachment   audio   Audio   automatize   available   Average   backend   background   Background   bad   bandwidth   bangs   banner   Based   based   basic   bass   be   before   Before   benefit   Best   better   between   big   Bingo   bit   blob   boost   box   branches   bring   brought   Build   builtin   bunch   burden   but   By   by   cable   call   called   calls   can   care   case   center   central   centralized   changes   channel   cheap   check   cl4u2   client   closed   cloud   Cloud   Collaborative   collapsing   color   command   common   Communication   communications   Community   community   companion   company   compatible   complete   completely   Composition   composition   computers   conferences   configuration   connection   contain   Contents   control   Conversely   correespondent   correspondent   corrispondent   cost   costs   countries   counts   course   cover   crawler   crawling   crazy   created   creating   creation   critical   cross   cryptography   Current   cutting   daemon   database   Databases   debian   decentralize   Decentralized   decentralized   decided   default   degrees   delay   depend   depending   deployed   desktop   destination   develop   Develop   developed   Developer   developers   developing   development   devices   dhcp   diagnose   Different   different   difficult   Dijkstra   discovered   distance   distributed   Distributed   distribution   Django   djangoproject   dns   document   don   doomed   door   dot   download   dynamic   e0e0e0   each   eases   easily   easy   effects   efficient   elaborate   electronics   Electronics   emails   embedded   employment   emule   en   encrypt   encryption   energy   Engine   engine   enhance   enough   eq   etc   ethernet   Ethernet   every   Every   everything   examine   example   Example   exhaustion   existent   Existent   existing   exposure   extension   extention   Fa   face   faster   feasibility   feature   features   few   field   File   file   files   Filesharing   find   firewall   Fish   fit   fixed   flexibility   focus   Folder   footprint   For   for   force   formed   former   found   framework   Frameworks   freely   Frequently   Fresnel   friendly   from   From   front   ftp   fully   functions   fund   gaining   gateway   general   geo   Git   git   github   given   Given   global   goal   going   good   Google   google   gotanotherway   graph   graphs   group   groups   gsoc   gsoc2013   gtalk   had   handle   hard   harware   headmaster   heavy   help   her   him   himself   his   Home   home   hops   host   how   How   However   https   idea   Idea   ideal   Ideas   Ideas2010   Ideas2011   Ideas2012   identify   if   If   implement   implementing   important   Improve   improve   inception   Indentify   information   informations   informs   installed   instance   instead   instrument   integrate   integrated   integration   integreted   integrity   interact   interface   interfacing   Interfacing   into   investigated   involve   involves   ip   iphone   iptable   iptables   ipv6   issues   its   jam   Java   Javascript   javascript   jitsi   Jitsi   job   Joe   joined   jpg   Juju   just   keep   kernel   kind   knoledges   know   L5   ladspa   Languages   large   learn   least   level   Level   library   light   like   limited   limits   line   Linked   list   little   local   location   login   loop   Loose   loose   lot   lots   love   low   mail   main   maintain   major   Make   make   manage   managed   management   many   Many   map   Map   Mapserver   mast   master   Maybe   me   melange   member   mentor   mentors   Merge   merge   merges   mesh   Mesh   messages   middleware   Milk   milkfish   Milkfish   Mission   Mobile   mobile   module   modules   monitoring   month   more   More   most   Most   mountain   mp3   mp4   much   multiple   Music   music   mute   my   mysql   Nagios   name   nearest   nearly   need   needed   needs   net   Network   network   networking   networks   Networks   new   newest   ninuu   ninuxdeveloping   ninuxoo   Ninuxoo   ninuxorg   ninuxuu0   Node   node   nodes   Nodeshot   Nortel   nothing   Now   now   nowadays   number   Offer   offers   ogg   olsr   olsrd   On   on   One   one   only   openwrt   operations   opportunity   or   Orchestra   order   orientate   original   Our   our   over   own   owner   owr   P2   p2p   packet   packets   page   pain   paired   pan   part   participants   participating   participation   parts   pass   path   pause   peak   People   people   perfect   performed   performing   period   periodically   person   phone   Phone   Phones   photos   piano   platform   play   playing   Please   plug   pluggable   plugin   plugins   png   Poe   point   policy   polipo   popular   populates   port   portable   position   possible   power   powerful   prefer   preinstalled   previous   primarily   Privacy   privacy   private   privoxy   problem   Problems   problems   Professional   program   Programming   programs   project   Project   projects   promising   prone   proper   proposed   proprietary   protocol   protocols   provide   provider   proximity   proxy   Psec   pursuits   pushed   put   Pv4   Pv6   python   quality   Query   questions   quickly   Radar   reach   real   realize   realizing   reason   record   reengineer   Reference   referencing   reinventing   related   Relational   relationships   relay   released   relegate   rely   remember   remote   replicable   requirement   requirements   research   resources   results   resume   retrieving   Retro   reuse   reverb   right   risk   robin   roofs   room   round   router   routing   Routing   running   samba   Same   same   satisfied   scans   Scenario   scenario   scenarios   schema   schillmania   school   Seamless   Secure   secure   Security   seems   selected   semantic   Semantic   send   sensitive   sensor   sensors   serveral   Servers   servers   services   session   set   several   shake   share   Share   sharing   should   show   shows   Shuttle   simple   Since   sipwerk   situation   size   skype   small   Small   Smart   So   so   social   Social   solution   Solution   solutions   solve   some   someone   song   Sound   soundcloud   Soundmanager   soundmanager2   Source   source   specific   spent   spread   sql   Stack   stackoverflow   standard   started   status   step   Steps   stipends   storage   stores   stressed   strong   strongly   structure   student   substituting   successful   such   suffer   suitable   summer   Summer   supply   support   supported   supports   Suppose   sustainable   svn   switch   synchronization   synchronizing   system   systems   Table   tablestyle   take   takes   tapping   target   task   Technologies   Technology   technology   tecnology   text   that   their   then   there   these   they   They   this   This   those   three   through   Through   thumb   thus   tilt   time   to   To   together   tons   tools   Topography   tor   torrent   touched   towards   track   tracks   traffic   trough   trust   trustworthy   turn   txtinfo   typically   Ubuntu   uclinux   ui   unauthorized   under   unistim   Unistim   unused   upload   usage   use   Use   used   user   Users   users   Using   using   usually   utility   V6   vandalism   various   very   via   video   Video   Videoconferencing   videoconferencing   visible   vocal   volume   W3   want   wants   waterproof   wav   way   We   we   webpage   website   well   what   What   whatever   wheel   when   where   Whereas   which   whith   Why   wide   width   wikipedia   will   Windows   wire   wireless   Wireless   With   with   without   work   works   world   worldwide   would   write   Written   www2   xtables   years   yet  

Clear message
Italiano English
Edit History Actions


Google summer of Code 2013


About the Google Summer of Code

From the Google Summer of Code 2013 webpage:

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. We work with many open source, free software, and technology-related groups to identify and fund projects over a three month period. Since its inception in 2005, the program has brought together nearly 6,000 successful student participants and over 3000 mentors from over 100 countries worldwide, all for the love of code.

Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all.

GSoC Project Ideas 2013

Distributed node monitoring and management application

We use different monitoring systems but we are not completely satisfied with any of them.

Problems we face:

  • Different monitoring systems are hard to maintain. When we change anything in our network we have to remember to change also the information in all the systems we use
  • One of the systems is proprietary, closed source and it works only with a very limited set of devices
  • We need to be able to diagnose problems quickly with a cross check on different protocols (SNMP, OLSR, BATMAN)
  • We need more flexibility
  • We need a decentralized system
  • We want it Open Source
  • We need network usage and traffic graphs

Solution proposed:

  • Develop a new pluggable distributed app for the map-server which can be deployed in different parts of the network which automatize the synchronization of the operations and eases our pain in the management of our network.
  • Maybe instead of reinventing the wheel we could integrate one of the existing open source monitoring applications with our map-server, the integration should take care of synchronizing the several systems in use.

Level 4: Web Developer
Technologies: Python, Javascript, HTML5, CSS, Relational Databases
Frameworks: Django, jQuery

Mapserver geo-referencing extension

The goal of this task is to make a Mapserver extention that help any new ninux member to orientate himself in his just discovered radio link world.
Based on SRTM (Shuttle Radar Topography Mission) data, freely distributed by NASA, this new proposed Nodeshot extension informs new joined ninux member about radio link feasibility.
* What are visible ninux nodes from my location?
* What are pan and tilt degrees needed to that visible node?
* Is Fresnel zone touched by mountain between me and you?
are some of the new answers that this extention must answer to.

Level 4: Web Developer
Technologies: Python, Javascript, HTML5, CSS, Relational Databases
Frameworks: Django, jQuery

Filesharing suitable for Community Networks

Many people want to share files in our community network but they step into some problems:

  • Existent major P2P solutions depend on the Internet ( like emule or torrent )
  • Most of major existent P2P solutions doesn't support ipv6
  • Folder sharing like samba doesn't provide efficient file search
  • People prefer to share depending on relationships, for example you want share some photos with your school companion but not with your headmaster.
  • Internet bandwidth on our network is going towards exhaustion
  • RetroShare cover just a part of our needs

To solve these issues we need to:

  • Add group support to RetroShare

  • File access policy is strongly based on users groups.
  • Add ipV6 support to RetroShare

Level 4: Semi-Professional

Audio Video phone call for mobile IP and fixed IP

Many VOIP tecnology are OLD and spread used but they suffer from the same problem as the email suffer before the use of era. Before one person use bangs to send one email and he need to know the path to reach the corrispondent, this was where crazy.

Now we are in the same situation we must know the provider of owr correespondent and use a specific tecnology to call.

Our goal is to elaborate a RFC to create a easy way to call people, and support the RFC with programs for android -- iphone - linux -- OSX -- Windows, and use just one URL to reach the correspondent.

This involve to integrate:

  • IPv4 mobile
  • IPv6 mobile
  • implement SRV DNS record in client (like a MX field for phone call)
  • IPsec
  • p2p calls

Secure Decentralized Communication for Smart Phone suitable for Mesh Networks

Many people want to send messages/VOIP/videoconferencing in our mesh network but they step into some problems:

  • Existent major videoconferencing solutions are not trustworthy ( managed by central company, not open source, wire tapping prone )
  • Existent major videoconferencing solutions depend on the Internet ( like skype or gtalk )
  • Most of major existent videoconferencing solutions have not a good mobile phone integration ( like skype )
  • Most of major existent videoconferencing solutions don't have support for ipv6 ( our network is primarily ipv6 )
  • Internet bandwidth on our network is going towards exhaustion
  • They doesn't want to learn to use another difficult VOIP app

To solve these issues we decided to implement Videoconferencing suitable for Mobile Phone and Mesh Networks:

  • Create a good app, fully integrated in android[/iphone/other] addressbook ( Seamless integration: call someone trough the network must be simple as call him with phone number without learn to use other apps or have different ui ).
  • Use RetroShare secure decentralized networking platform as backend

  • Offer strong privacy with encryption PGP and OpenSSL.

Level 4: Semi-Professional

Collaborative Music Composition

This project aims to realize a web-based social application for music composition.
It will allow the creation of jam session (non real-time) in this way: users will upload tracks (e.g. piano track) and then they can merge them with other tracks (e.g. bass track) that other users pushed in the system. Users can play a bunch of selected tracks creating a composition (e.g. bass+piano+vocal).
Using the linux audio plugin and a proper backend engine, they can also apply effects on tracks.
Conversely, if a user doesn't like an instrument track of a song, he can create his own version by substituting it with her own track.


  • It will use a web framework such as Django to manage users, file upload and dynamic content.

  • It will rely on Soundmanager a popular and portable javascript library (adopted also by SoundCloud) for the front-end and mp3/mp4/ogg/wav playing. By default this library supports loop creation, volume, pan, set position, mute, peak volume level, pause/resume all, eq data (FFT). It supports also HTML5 (iPhone friendly).

  • On the backend it will handle files using linux programs. It could add effects (such as reverb or delay) on tracks by interfacing with a LADSA compatible command line script. In this way we will reuse the tons of linux audio plugin.

  • Every track is under a kind version control (git or whatever) so to keep track of branches and merges. Git seems not suitable for

  • Given the heavy burden on the server that the server should manage, a cloud solution can be investigated. For instance we can use Ubuntu Orchestra and Juju.

Improve the ninuxoo search engine

We have started the development of a community-network-wide open-source search engine called ninuxoo. Written in Python, it is formed by a samba and ftp share crawler and of a cgi-based website, with a common database. We would like to enhance it by adding some features:

  • show results whith a number of hops distance, based on the IP address of the user that is performing the search. This needs to interact with the routing daemon (i.e. olsrd in our case) by periodically retrieving the graph of the community network (through the txtinfo or dot olsrd plugins) and running standard graph search algorithms (e.g. Dijkstra's)
  • add a "what's new" web page that shows the newest files found by the crawler. This needs changes to the database schema

  • reengineer the ftp crawling code

Programming Languages: python, mysql

PGP cryptography plugin for Jitsi is a promising IM software with builtin support for audio/video calls and conferences, desktop share, remote control and OTR cryptography.

We already use PGP to encrypt sensitive emails that contain login information to critical parts of our network, we developed a good web of trust and for this reason we would prefer PGP to OTR for our sensitive communications.

Since Jitsi is pluggable, this feature could be added as an additional plugin.

Technologies Java, OpenPGP

Mesh-Internet boost

Suppose you are the only one user of a large wireless mesh network. If you had several Internet gateway, how could use use all the bandwidth of all those gateway in order to download your files faster? Build the solution!

Our idea is to realize a module that take packets and send them to internet using multiple gateway via the Loose Source Routing option of the IP packet. With that option you can force packets to pass to one or serveral different router! Conversely nowadays packets usually do the same path to reach a destination, so if you are alone on a WCN with several internet gateway, right now you are doomed to use only the bandwidth of one gateway, typically the nearest one. Whereas the iptables target is not yet supported to put the loose source routing option, this option is supported by the Linux kernel.

  • improve this software to add the Loose Source Routing target to iptable

  • develop a software/script that take a list of gateway and send packets to them according to a given policy (round robin, using connection track etc)
  • develop a script that takes olsr information and populates the gateway list of the former point.

Node Security


Ninux's nodes are installed on the private roofs. Electronics devices (Poe power supply, ethernet switch etc...) are in a waterproof box closed to antennas mast. Due monitoring harware integrity against unauthorized access at the box,cable cutting and vandalism, we need a utility running on very low cost SoC (requirement: TCP Stack, Ethernet port and some GPIO for the sensor) integreted with our network monitoring.


  • Indentify the platform: cheap, simple to found in electronics stores,support Open Source (uclinux, Arduino etc...), Ethernet interface, accessible GPIO (at least 4), small size.
  • The sensors to manage: door sensor, cable cutting sensor, proximity sensor, shake sensor via GPIO.
  • Interfacing data with SNMP protocol.
  • Develop a plugin for Nagios and/or AirOS for manage the alarms.


Background: lots of cheap but good enough "plug computers" are available; they are perfect for home servers, but there is nothing that will fit Average Joe.

The idea is to do a little step towards the goal of realizing it: not a complete distribution that will fit every scenario, but a simple way to manage some service and configuration files through a web UI. The focus is on privacy related services (tor relay, privoxy, polipo, firewall) and basic networking (network configuration, dhcp/dns server) but of course there is room for everything.

  • Make some configuration tools
  • Make a middleware to manage configuration tools better
  • Make a WebUI for the middleware
  • Make this simple to install on a standard debian distribution (or openwrt)

MilkFish for Unistim

It's easy to find very cheap used Nortel Phones that work well with asterisk unistim channel. MilkFish is a VOIP proxy using SIP protocol ( The idea is to port asterisk unistim channel to Milkfish. The requirements are:

  • Small footprint for embedded system
  • Same functions of original project

Reference: FaByS

Decentralized Semantic Wireless Community Network

With the developing of a semantic version of Ninuxoo for NAS as a distributed local Servers, and implementing Linked Data on the most used applications (like Map Server), it may be possible to decentralize common services of a Wireless Community Network, such as monitoring and data research, knoledges about nodes status and much more...

Current status:
Frequently, in a Wireless Community Network most important net services are performed by few centralized - and stressed - servers.
This scenario is not sustainable and not replicable (due to costs of energy, time spent e and low services quality), and also easily involves the risk of general collapsing.
Also, the Community need to trust the owner of main Server, that may do a bad use of it...

However, these networks counts a lot of distributed NAS with preinstalled Server modules but yet unused.
Bingo! We have more distributed little-Servers!
Why few resources must to do big job when more resources can do little bit each one?

How to solve
Through developing a local version of Ninuxoo Search Engine and implementing Semantic Web and Linked Data on most used applications (like Map Server and Wiki), we can:

  • To relegate the global Ninuxoo crawling to local scans
  • To relegate the task of monitoring local area
  • Get real-time informations about nodes and their status
  • Get a light and more powerful structure of Network
  • Get all data that you need, now. As W3C's Semantic Web wants
  • Merge and test the power of IPv6
  • In future, develop more decentralized applications (like FOAF Social Networks) and so on...

Please examine these ideal schema:

Decentralized Semantic Wireless Community Network - Example of structure

Decentralized Semantic Wireless Community Network - Example of structure

Decentralized Semantic Wireless Community Network - Linked data schema

Decentralized Semantic Wireless Community Network - Linked data schema

More Info

About GSOC 2013: [|]

Info about ninux participation in previous years: