Dlaczego nigdy nie byłem genialnym dzieckiem? Dlaczego zamiast ślęczeć nad Commodore C64 i pisać dema w BASIC-u, a później Assemblerze dla MOS 6510, zagrywałem się w Pirates! oraz The Great Giana Sisters? Teraz, gdy marzę o stworzeniu muzyki z wykorzystaniem SID-a, okazuje się, że te wszystkie lata spędzone nad grami będę musiał nadrobić.
Powoli zapoznaję się z interfejsem użytkownika trackera GoatTracker i wygląda na to, że bez podstaw teoretycznych oraz zapoznania się z samym SID-em nie mam co marzyć o napisaniu nawet najprostszego utworu. Sam podręcznik do C64 (HTML / ZIP-TXT) może być wystarczający do nauki, ale jeszcze nie jestem tego pewny.
Co do Google Summer of Code 2009 to wygląda na to, że szanse na akceptację mam niewielkie. Jest to jednak moja świadoma decyzja. Oto, czego chcę się podjąć:
- Stworzenie klienta oraz trackera BitTorrenta w Tcl-u - jest to projekt przedstawiony grupie zajmującej się rozwojem narzędzi związanych z Tcl-em, a ma on na celu m.in. stworzenie Tcl-owych bindingów dla biblioteki napisanej w C (Rasterbar libtorrent), a następnie stworzenie na ich bazie aplikacji w Tcl/Tk,
- Graficzna aplikacja do zarządzania serwerem MyServer - MyServer jest projektem rozwijanym w ramach GNU, a moim celem byłoby napisanie graficznej aplikacji w Pythonie/PyGTK (na bazie tego, co napisał do tej pory Ignacy Moryc) do jego konfiguracji.
Do ogłoszenia wyników (20 kwietnia) zostało jeszcze sporo czasu. Niemniej jednak, już teraz chciałbym przekazać kilka wskazówek dla uczestników przyszłych edycji GSoC. Oto i one...
Wybór organizacji. Lista organizacji, które dostają się do GSoC pojawia się na kilka dni przed możliwością aplikacji do GSoC. Należy jednak pamiętać, że przygotowania do GSoC trwają we wspomnianych organizacjach już na długo przed ukazaniem się ostatecznej listy zaakceptowanych grup. Warto zatem spojrzeć na dane z ubiegłych lat i sprawdzić, które z nich miały już okazję uczestniczyć w GSoC. Istnieje spora szansa na to, że w tym roku również się dostaną. Co do samego wyboru - wybór dużych organizacji mających wiele slotów (tj. mogących zaakceptować wielu studentów do GSoC) jest o tyle miły, iż zawsze znajdzie się coś, co daną organizację zainteresuje. Nawet jeżeli dany pomysł ma niski priorytet to jest duża szansa na to, że poświecą na to ten jeden slot - o ile oczywiście ich zainteresujemy. Problemem jest natomiast duża konkurencja (pod postacią wielu chętnych studentów) oraz konieczność znalezienia sobie mentora. W przypadku małych organizacji konkurencja jest zazwyczaj niewielka, ale... Rzadko kiedy można sobie pozwolić na wybór jakiegokolwiek tematu. Organizacje takie mają swoje listy priorytetów i często muszą wybierać, który z nich jest ważniejszy (na wszystkie i tak nie wystarczy slotów). Może to być spory problem, jeżeli napiszemy dobre zgłoszenie do GSoC, ale na projekt, który znajduje się na ostatnim miejscu na liście "ważnych spraw". Odpadamy wtedy jeszcze w przedbiegach.
Wybór projektu. Najczęściej na stronach danej organizacji można znaleźć listę projektów, które z chęcią rozdałyby w danym roku studentom uczestniczącym w GSoC. Oprócz krótkiego opisu znajduje się tam zazwyczaj namiar na potencjalnego mentora. To bardzo ważna informacja! Warto przeprowadzić wywiad na liście dyskusyjnej oraz bezpośrednio u mentora - sprawdzić, czy dany projekt jest organizacji bardzo potrzebny, czy też został on wprowadzony na listę "na doczepkę". Ocena tego, czy jest on postrzegany, jako trudny, czy też prosty bywa równie pomocna. Te pierwsze są zazwyczaj bardzo oblegane. Własny projekt również ma spore szanse na zaakceptowanie, o ile wcześniej zostanie odpowiednio dobrze obgadany na listach mailingowych organizacji oraz znajdą się osoby chętne pozostać mentorami.
Komunikacja z organizacją. Jak już wspomniałem - to niezwykle istotna sprawa. Im wcześniej, tym lepiej (nawet przed ogłoszeniem list zaakceptowanych jednostek). Warto pojawić się na listach mailingowych i w osobistych mailach do potencjalnych mentorów. Nie należy się bać ujawniania własnych pomysłów oraz pisania o tym, co się do tej pory zrobiło. Bycie komunikatywnym, pokazanie, iż jest się aktywnym i zainteresowanym projektem, bardzo pozytywnie wpływa na ocenę naszej osoby i znacząco zwiększa możliwość dostania się do GSoC. Przy okazji można poznać potrzeby danej organizacji, doszlifować pomysł na projekt, a nawet rozpocząć wybór narzędzi oraz potrzebnych do jego realizacji bibliotek/kodu itp.
Składanie aplikacji. Aplikacji można złożyć w sumie dwadzieścia, ale jest to fizycznie niemożliwe. Stawiamy na jakość, nie na ilość! Przed rozpoczęciem pisania należy zrealizować ww. punkty oraz zapoznać się z kodem do tej pory już napisanym. Nawet jeżeli popełnimy gdzieś błąd, ale z naszej aplikacji wynikać będzie, iż mamy pomysł na projekt oraz to, iż poświęciliśmy trochę czasu na zapoznanie się z tym, co do tej pory zostało już napisane, to mamy dużego plusa. Równie ważny jest szczegółowy harmonogram tego, kiedy i co mamy zamiar zrealizować wraz z celami, które chcemy osiągnąć. Tutaj wyjdzie nasza znajomość tematu oraz umiejętność zorganizowania sobie czasu. Pamiętajcie, aby wszystko, co piszecie było możliwe do realizacji. Nie obiecujmy złotych gór, ani nie sugerujmy, że napisanie połowy systemu operacyjnego zajmie nam zaledwie dwa dni. Jeżeli macie jakieś doświadczenie, jakiekolwiek, to też się nim pochwalcie. Musicie umieć sprzedać nie tylko swój pomysł, ale i samych siebie.
I najważniejsze - nie bać się pisać po angielsku! Należy pamiętać, iż większość mentorów nie wykorzystuje j. angielskiego, jako swego ojczystego języka. Nie będą zatem nikogo karcić za to, jak pisze po angielsku, o ile to, co pisze jest zrozumiałe. Wykazują oni najczęściej sporo dobrej woli i zrozumienia w tej kwestii - najważniejsze jest to, aby być komunikatywnym.
Mam nadzieję, że moje uwagi przydadzą się komuś w przyszłości. Ech... Co też się ze mną ostatnimi czasy dzieje. Nawet Earl Greya zacząłem z mlekiem pijać.