Thank you to anyone who has already donated - your generous donations helped make three months of treatment possible.
My brother Nate continues to fight stage IV Hodgkin's lymphoma. He's just 31, with a wife and baby girl. They have no active income (since he's been unable to return to work), no insurance, and cannot afford the treatment he needs. Nate and his family need your help. Please consider a donation, every dollar helps. Thanks.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
About You 1. My name is Thomas Martitz, you can always contact me at thomas.martitz@student.htw-berlin.de which I check multiple times per day. 2. My nick on IRC and the forums is kugel, I am subscribed to the rockbox-dev mailing list with my thomas.martitz@student.htw-berlin.de. 3. I'm attending at the HTW Berlin (University of applied science, http://www.htw-berlin.de/). I'm in the second year, focusing the Bachelor of Engineering in my course of studies, Computer Engineering. I definitely plan to get the Master of Engineering after then. 4. I own many DAPs, including some Sansas (e200, Fuze (v1 and v2), Clip) and two Samsungs (YH-925 and YH-J70). I also own a FriendlyARM mini2440 development board which runs Linux and Rockbox natively. This board will help me during this project. 5. I'm involved in Rockbox since 2007, hanging around, hacking on it and simply enjoying being part of the project since then. In early 2009 I was given commit access, enabling to submit code directly to the SVN repository. I worked in many areas, but most notably the Sansa AMS port where I wrote and optimized some drivers and the skin engine where I was the first to use it outside of the WPS with the base skin. I also touched many other areas with often small but noticeable changes. 6. I want to work on Rockbox because it's a fun project in all aspects and a compelling and useful software. I am actually working on with passion it for quite some time and I will continue to do so. The features it offers compared to the OF are exciting. In fact, some of its features even beat desktop media player or applications shipped with mobile devices which creates the desire to run Rockbox on those too. This is what my project will be about. 7. I'm living in Berlin, Germany. The timezone is GMT+1. I am be available to the community and my mentor in the morning when I use my laptop in the uni and in the afternoon and evening at home. 8. During the semester, my working hours would probably depending on when I come from the uni, but I prefer something between 14:00 - 22:00. I hope I can work some 35-40 hours per week, but that will depend on the work load the studies put on me. During my semester break I can work from 10:00 - 22:00, which means I would devote my entire sparetime to the project if needed. I'll be able to work at least 50 hours per week, possibly even more. The semester break begins on July, 27th. I'll somewhat busy with exams for the 3 weeks before, but I can schedule my exams so that they don't collide too much with my project. There's another exam period late September and I can choose between both periods for each exam. The semester break ends on October, 1st. 9. I have built Rockbox a lot. I am familiar with the development environment and most the tools involved. 10. I have a good grasp of the C programming language and the ARM assembly language. I also worked with other scripting languages such as shell scripts, pearl and ruby. 11. I have good deal of open source experience. I'm involved into Rockbox for 3 years and I participated in two DevCons. I also have commit access to another project, geany-plugins, which is a collection of plugins for use with the Geany IDE (which I use exclusively). I've contributed code to the plugins and Geany itself and hang around in the geany irc channels for quite some time. Both project got me accustomed to the open source culture. I'd even say I fell in love with it, because it's so fun to collaborate with other awesome hackers to produce good code and a useful software which can be used by everyone freely. About Your Project Abstract : Recent DAPs show that it's not sensible to replace the the entire factory OS with Rockbox on them. They have features which Rockbox cannot offer or don't make much sense given the platforms Rockbox runs on as of now or it's simply difficult to port Rockbox to them. However, many of todays mobile devices, most prominently smartphones, come with the ability to run third partly applications. Therefore, it makes sense to run Rockbox as an application on them, extending the already feature-rich OS with the stunning playback features, codec support and plugins of Rockbox. The goal of this project lay the grondwork for running Rockbox as an application and to port the application to a Linux desktop and a mobile device. Detailed Description : We can see the desire among the entire Rockbox community for a Rockbox application for several years now. People do not want to miss Rockbox on their smartphones for example. That led to experiments with the simulator. While the simulator works everywhere where SDL works, the experiments have shown that the simulator itself is not suitable for an application because it simulates an existing port. An application should rather be tailored to the device it runs on. The experiments have also shown that SDL is rather slow making the simulator not snappy enough to run on a mobile device. The goal should be to not depend on a possibly slow SDL port, instead we want to use the OS capabilities directly. An attempt was made in 2008, but it wasn't quite successful. We also received a GSoC application for 2009. The experience made will help me through the project. During the project, the application will be ported to a platform. This port should not be the end of the Rockbox application effort. In fact, this port should serve as an example port to aid others porting the application to other platforms. Describe your project in as much detail as possible (only relevant details, no need to mention e.g. that you will set up a build environment) Try to subdivide the project in logical sub-projects, and describe them separately I plan to divide the project into 2 major tasks: 1: Refactor the existing simulator code into a new port and creating an SDL Application Here I will port the uisimulator code into target tree. I will split it into an application and a simulator part, moving simulator specific bits out of the application and create a real sdl port compared to the existing arm or coldfire ports. This also means revisiting other code areas which have conditional compilation (ifdefs) for simulators and and reconsidering the need for this ifdefs and whether they are suitable for the application as well, for instance enabling arch-specific codec optimizations for the sdl application. I plan to port resulting application to my mini2440 board which runs Linux. I can directly compare it to a native Rockbox installation, so if I manage to get a similar user experience under the application I consider this part as succeeded. 2: Build a native application without SDL upon the groundwork laid above, Aim of this port is to remove the need for SDL, but instead rely on functions and libraries provided by the OS for threads and drawing. Special care about threads has to be taken because Rockbox heavily relies on cooperative threading, while the native OS threads are often of a preemtive kind. I'll probably target android, but other platforms such as Maemo (Linux) or Windows Mobile are possible too. I will probably buy a device specifically for this task. Benefit to the Rockbox project The benefit to the Rockbox project would be immense. It opens the door to many more use cases and users as it removes the biggest hurdle when porting to a new device: Being able to replace the OS by running custom code. As many devices nowadays are locked of some sort it is increasingly difficult to port Rockbox as a firmware replacement. With the Rockbox application it will also make sense to run it on a phone, as it seems highly unlikely that Rockbox will be able to make calls ever. We can provide the Rockbox application as an easy-to-install app for mobile devices which greatly extends the userbase. For sure it will also attract new developers which don't necessarily come from embedded systems for our project which is always good (and the idea behind GSoC afterall). Milestones and Project plan (this can follow the task subdivision, but this is not absolutely necessary) Subdivide the working period in several parts, not more than one to three weeks long. For each of these parts, describe what you plan to do in this time, and which deliverables will be finished at the end of it. We know and understand that there will inevitably be deviations from these time estimates, but please try to make them accurate as possible. 1. Do you expect that your project will need more work or maintenance after the GSoC period ends? What do you think are the chances of you sticking around and helping out with that and perhaps other projects? You and the Community 1. How do you propose you will be keeping everyone informed of your progress, problems, and any questions you might have over the course of the project? 2. What expectations do you have of your mentor(s) as well as the community itself? Misc 1. Is there anything else that we should know that might have us lean in you/your project's favor? |
Use Pastie in your quest to save humanity,
not in your evil plots to take over the world!
Legal
Created by
Josh Goebel
Monitored by
CopperEgg and
New Relic