Wywiad z twórcą Deluge 4


Zatem Zach, jak zaczęła się twoja przygoda z komputerami i programowaniem?
Cóż, moja matka jest inżynierem oprogramowania w IBM, więc z komputerami miałem do czynienia już w bardzo młodym wieku. Pierwsze doświadczenie z programowaniem miałem w siódmej klasie, kiedy dostałem programowalny kalkulator TI-83+ i zacząłem pisać w BASICu, potem uczęszczałem na zajęcia z Visual Basic i C++ przez dwa lata, a potem w szkole średniej na zajęcia z Javy. Obecnie jestem na drugim roku na Uniwersytecie Louisville, na kierunkach Informatyka (Computer Science) i Inżynieria Komputerowa (Computer Engineering)

Czy Deluge jest pierwszym programem, nad którym pracujesz?
To jest pierwszy naprawdę duży program. Wcześniej robiłem parę mniejszych rzeczy, ale w ten projekt najbardziej się zaangażowałem. Cóż, nie jestem jedynym, który nad tym pracuje. Inny developer, Alon Zakai (znany również jako Kripkenstein), pomógł bardzo i zasługuje na większe uznanie, niż otrzymuje. Ponadto używamy biblioteki Libtorrent, więc nie musieliśmy zbyt dużo robić przy samym torrencie.

Jak się nauczyłeś programować i jak długo to zajęło?
Głównie z doświadczenia. Co prawda uczęszczałem na zajęcia, ale wiedzę o komputerach zdobyłem przez naukę i eksperymenty, włączając programowanie. Deluge to był pierwszy raz, kiedy użyłem Pythona. Uczyłem się w miarę, jak prace postępowały. Jak wcześniej wspomniałem, zacząłem programować w siódmej klasie, czyli około 8 lat temu.

Co sprawiło, że zdecydowałeś się napisać klienta bittorrent?
Brak dobrego, lekkiego klienta GTK+. Pomysł na Deluge (potem gTorrent) zapoczątkowała dyskusja na Ubuntuforums.org, na temat braku dobrego klienta GTK+. Tam spotkałem Kripkenstein i zaczęła się burza mózgów w celu stworzenia takiego klienta.

Jakie są zalety Deluge nad innymi klientami dla Linuksa?
Na razie nie jest ich za dużo. Deluge to miły, lekki klient, który oferuje przyzwoity zestaw opcji. Obecnie wspiera DHT, wznawianie pobierania częściowo ukończonych zadań i ściąganie wielu torrentów w jednym oknie. Podczas, gdy inne aplikacje, np. Azureus posiadają więcej opcji, to zazwyczaj dzieje się to kosztem większego wykorzystania zasobów systemowych. Nie chciał bym krytykować Azureusa, ale Deluge po prostu wykonuje swoje zadanie – ściąga plik i nie robi przy tym wielkiego szumu.

Jak oceniasz sukces Deluge i jak widzisz jego dalszy rozwój?
Myślę, że do tej pory idzie świetnie. Jestem zdumiony, jaką uwagę otrzymał Deluge. Ludzie często szukają mnie online, żeby podziękować za jego stworzenie, mówią też, że wcześniej nie znaleźli klienta na Linuksa, który im się spodobał. Oczywiście, chciałbym, żeby Deluge się dalej rozwijał i mam parę planów. Moim głównym celem jest poprawienie błędów i zwiększenie stabilności, potem można się zająć dodatkowymi opcjami.

Czy są jakieś opcje, które chciałbyś dodać?
Mówiąc o nowych opcjach, ostatnie wydanie Libtorrent wspiera Peer Exchange, więc prawdopodobnie to wykorzystamy. Ponadto gałąź rozwojowa Libtorrent ma możliwość szyfrowania, więc tego także należy spodziewać się w przyszłości. Kolejne dodatki, które chciałbym zobaczyć to wsparcie UPnP, które ma być dodane do Libtorrent, oraz interfejs webowy.

‚Andrew M’ spytał, czy będzie wersja dla KDE?
Nie chciałbym powiedzieć wprost nie, ale prawdopodobnie nie będzie. Obecnie Deluge dobrze działa pod KDE, zakładając, że masz zainstalowane potrzebne biblioteki, ale raczej nie dodamy interfejsu QT do niego. Jeśli chcesz mieć natywnego klienta dla KDE, prawdopodobnie najlepszym wyborem będzie Ktorrent.

Czy masz ulubione distro, na którym pracujesz?
Ubuntu, przez większość czasu.

Jak ciężko się pracuje z formatem bittorrent?
Cóż, my nie pracujemy z bittorrent bezpośrednio. To wszystko jest robione przez Libtorrent, a dokładniej przez nakładkę Kripkenstein’a, więc nie miałem do czynienia z tym bezpośrednio.

Inne klienty zdają się dodawać specyficzne opcje, czy to nie przyczynia się do zbyt ostrej konkurencji? Czy programiści czują, że muszą stworzyć „zabójczą” nową opcję?
Tak i nie. Po pierwsze, nie zamierzam dodawać żadnych opcji specyficznych dla Deluge, ale raczej stworzyć dobrą implementację istniejących opcji bittorrent. Problemem przy tworzeniu własnych dodatków jest to, że inne programy ich nie będą miały. Przykładem niech będzie implementacja DHT w Azureus, która umożliwia tylko łączenie się z innymi klientami Azureus.
Nie skupiam się na tworzeniu „zabójczych” opcji. Zamiast tego chcę stworzyć prostego klienta, który łączy w sobie najlepsze właściwości oferowane przez protokół bittorrent.

Czy planowany jest interfejs webowy (podobny do uTorrenta)? Czy będzie możliwość zaznaczenia/odznaczenia wszystkich plików z listy? Klikanie pojedynczych plików jest dość uciążliwe.
Tak, wiem że to jest uciążliwe i zamierzam to naprawić, kiedy dostanę szansę.
Co do interfejsu webowego, wspomniałem wcześniej, że chciałbym coś takiego zrobić. Bawiłem się interfejsem uTorrenta i byłem nim zachwycony. Chciałbym zaimplementować coś takiego w Deluge.

Czy twoja rodzina używa Linuksa, czy jest go ciężko wypromować w zdominowanym przez Windowsa środowisku?
Cóż, ja używam Linuksa, a moja mama używa obu obu systemów do pracy, tata korzysta z Windowsa, ale nie ma problemów, gdy musi użyć jednej z moich linuksowych maszyn do sprawdzenia poczty itp.
Kilka osób prosiło mnie, żebym „nauczył” ich Linuksa, zwłaszcza teraz, po wydaniu Visty. Większość z nich nie chce przejść na Vistę i szuka alternatywy.

Jakich programów i narzędzi deweloperskich używasz?
Używam prostego edytora tekstu i kompilatora, przynajmniej jeśli chodzi o Pythona. Moje środowisko się zmienia, w zależności od języka programowania, np. Eclipse do Javy, Monodevelop do C# i zwykły edytor tekstowy, albo Eclipse/CDT do C/C++.

Ostatnie pytanie: Jaką radę dałbyś początkującemu programiście?
Zacznij od pisania prostych programów, które robią coś prostego. Niech to będzie interesujące, ponieważ będziesz miał zabawę przy tworzeniu tego. Najlepszymi dostępnymi materiałami są źródła innych programów oraz inni programiści online. Analizuj kod różnych aplikacji, zobacz jak działają i pomyśl, jak możesz wykorzystać podobne strategie w swoich programach. W końcu, znajdź ten „super-program”, którego brakuje i napisz go. Dla mnie tym programem był klient bittorrent w GTK, ale powinieneś znaleźć coś, czego według Ciebie brakuje w Linuksie (lub jakimkolwiek innym systemie, którego używasz). Nie musisz mieć wielkiego doświadczenia aby zacząć, ale zacznie go przybywać wraz z rozwojem aplikacji. Umiejętności rosną znacznie szybciej, kiedy się pracuje nad prawdziwym programem.

full circle chciałoby wykorzystać okazję i podziękować Zachowi za to, że usiadł pod światłem jupiterów i dał się naświetlić!

Autor: Spyro

Źródło: full circle issue #1

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

4 komentarzy do “Wywiad z twórcą Deluge