GSOC2009
Google Summer of Code is a program that offers student developers stipends to write code for various open source projects. Google will be working with several open source, free software, and technology-related groups to identify and fund several projects over a three month period. |

Project Ideas
See also feature request tracker
Graphical User Interface
- Add an option to sfdoc to output spec files in the format defined for TKSU. This should make TKSU immediately applicable. Spec files can be generated automatically at the compile time.
- Rewrite TKSU in Python, possibly using TkInter
- See http://sourceforge.net/forum/forum.php?thread_id=1579059&forum_id=552249 for more discussions.
- Investigate alternative solutions.
Java API
- Add a Java interface to other supported interfaces
- Possibly use JNI
- Investigate possible connections with Mines JTK and JavaSeis
Extending Python interface
- Current Python interface provides elementary operations with RSF file objects, which represent multidimensional vectors. Extend the interface to allow for more operations.
- Investigate possible connection with SLIMpy.
Binary Packages
- Generate binary packages to simplify installation on multiple platforms.
- Given Madagascar's dependencies, and a standardized way of finding other package's dependencies come up with a way/apply a tool to determine the minimum number of packages that make a self-contained Linux distributions that runs Madagascar. Build such a distribution starting from an existing well-supported distribution. Build a virtual appliance from that distribution.
Geophysics / Numerical Analysis
- Implement an optimal algorithm for parallel transposes of arrays with 4 or 5 dimensions, up to a few tens of terabytes in volume, on a multi-node Linux cluster
- As a bonus, FFT one of the transposed dimensions
- Implement a hardware-adaptive transpose algorithm for a 1-node, SMP machine of 8 nodes or more. Investigate speed of transfers, size of caches, memory arrangement, etc, and make it hardware-adaptive. Bonus for out-of-core capabilities.
- Implement 3-D seismic data header storage using the fastest open-source database, then compare header I/O times with the classic approach of having a simple table. Which is the fastest way of implementing a large database knowing that the values it will hold are all bools, ints and floats?
Mentors
- Sergey Fomel
- Paul Sava
- Nick Vlad