Zdjęcia na Javie: FastPhotoTagger
Nie da się zaprzeczyć faktowi powszechnego wykorzystywania Javy. Taka jest nasza sieciowa rzeczywistość, że do poprawnego funkcjonowania większości serwisów internetowych, jeżeli chcemy z nich korzystać – musimy posiadać odpowiednią wtyczkę. Czy to wolna Java w postaci OpenJDK, czy własnościowe wydanie Oracle, niemal wszyscy mamy ją zainstalowaną. A to rodzi pytanie, skoro Java zalega nam już na dysku, to dlaczego nie wykorzystać jej do czegoś więcej niż tylko obciążanie komputera podczas przeglądania przeładowanych skryptami stron… Odpowiedzią będzie mój mini-cykl, który uświadomi niektórych użytkowników o istnieniu całkiem ciekawych programów, które możemy wykorzystać w amatorskiej pracy przy zdjęciach. Na początek – FastPhotoTagger.
Do prostych czynności najlepiej wykorzystywać proste narzędzia. Nie każdy znajdzie upodobanie w przedzieraniu się przez zorganizowany w kombinat zawiły interfejs upstrzony setkę opcji, przełączników i zakładek. Szczególnie, gdy chcemy sobie po prostu np. otagować zdjęcia. A FastPhotoTagger już z nazwy sugeruje, że potrafi edytować etykiety zdjęć i robi to szybko. I faktycznie, po uruchomieniu widzimy parę ikonek, główną kolumnę z podglądem zdjęć i kolejną z tagami. Program rozpoznaje i wykorzystuje do zmiany metadanych narzędzie ExifTool, a cały proces nadawania tagów to parę kliknięć.
Idąc na skróty – wybieramy folder ze zdjęciami (jpg, png, inne?), zaznaczamy te, którym chcemy zmienić dane EXIF, zmieniamy/dodajemy (prawa kolumna), zapisujemy. Gotowe. Jeżeli jednak będziemy chcieli popracować z programem nieco poważniej, to możemy udać się do ustawień, gdzie odnajdziemy możliwość tworzenia skrótów, odblokowanie do edycji specyficznych tagów, wskazać miejsce przechowywania naszych zdjęć (katalogowanie), opcje podglądu. FastPhotoTagger pozwala na utrzymywanie bazy danych, zawierającej informację o plikach i ich tagach, dzięki czemu, po skatalogowaniu zbioru będziemy w stanie szybko odnaleźć interesujący nas temat/motyw/cokolwiek. Osoby ambitne na stronie autora odnajdą obrazkowy kurs korzystania z programu.
I tak oto docieramy do konkluzji – ‘W porządku, narzędzie niczego sobie, chcielibyśmy je wypróbować ale skoro to wszystko w Javie, to jak to zainstalować i uruchomić?’. To nic trudnego – po prostu ze strony projektu pobieramy sobie archiwum tar.gz (czasem zip) zawierające plik .jar. Takie archiwum rozpakowujemy do, powiedzmy, katalogu ~/Programy. Udajemy się w to miejsce i widzimy folder (w tym przypadku) FastPhotoTagger, a w nim plik FastPhotoTagger.jar. I to już, teoretycznie dwukrotne kliknięcie na plik .jar powinno uruchomić program. Jeżeli jednak tak się nie dzieje, to:
Tę zasadę postępowania należy zachować dla większości projektów popełnionych w Javie. Niektóre z nich będą występowały w wersji paczki .deb, ale przeważnie, z racji na multiplaformować tych aplikacji, udostępniane jest zwykłe archiwum.
Jak widać, nie taka ta Java obrzydliwa, jak wieść gminna niesie. Obecne konfiguracje sprzętowe radzą sobie bez problemu z takimi aplikacjami (nie są one wyjątkowo ‘ciężkie’), programy w większości działają z otwartą implementacją Javy (przynajmniej te, które zaprezentuję), w wielu przypadkach odpada paczkowanie i ew. prze-paczkowywanie źródeł w formę strawną dla naszej dystrybucji. Daleki jestem od bezkrytycznej gloryfikacji Javy, lecz powyższe wywody miały za zadanie udowodnić, że nie musimy kisić Javy na dyskach naszych komputerów tylko na potrzeby reklam i formularzy na stronach WWW.
Nie chcę być niegrzeczny i być może to zbyt daleko idące wnioski, ale mam wrażenie, że Autor w tym artykule uparcie myli Javę z JavaScriptem. Osobiście rzadko spotykam się z apletami Javy podczas przeglądania internetu, za to formularze na stronach WWW w dużej części są walidowane JavaScriptem. Także zdanie “obciążanie komputera podczas przeglądania przeładowanych skryptami stron… ” wskazuje raczej na JavaScript, niż Javę.
Tak, przyznaję się, stosuję bardzo mocne uproszczenie, a wynika to z tego, że po zainstalowaniu plugina na potrzeby stron WWW w systemie ląduje również i interpreter Javy. Którego wykorzystujemy właśnie do uruchamiania tych aplikacji.
Dalej będę upierał się, że plug-in Javy ma niewiele wspólnego z JavaScriptem. Przeglądarkowy plug-in Javy jest wykorzystywany do uruchamiania appletów Javy, natomiast JavaScript jest obsługiwany przez większość współczesnych przeglądarek natywnie (bez potrzeby instalacji jakichkolwiek plug-inów). Są to dwa odrębne języki programowania (choć JS czerpie pewne inspiracje z Javy).
Nie mniej jednak cieszę się z prezentacji oprogramowania pisanego w Javie. Sam korzystam z niejednego takiego programu nie musząc się przejmować, pod kontrolą jakiego systemu operacyjnego będę go uruchamiał. =)