Zdjęcia na Javie: Picture Metadata Workplace 0.8b
Wydaje się, że twórcy oprogramowania wszelakiego popełnianego z wykorzystaniem Javy umiłowali sobie manipulowanie tagami oraz danymi Exif i IPTC naszych zdjęć. Przykładem na to jest – kolejny – edytor tagów i geotagów. Picture Metadata Workplace, bo to o nim mowa, jest w zasadzie projektem popełnionym na potrzeby wewnętrznego użytku autora. Ale pewnie ktoś doceni możliwość edycji tego na edycję czego ten program pozwala.
Słowo się rzekło – program jest w zasadzie bardzo monotematyczny. Zmienimy za jego pomocą takie parametry naszych zdjęć jak tagi i geotagi zaszyte w plikach jpeg (sic!). Tak, niestety – to edytor tylko dla osób tolerujących ten format. Picture Metadata Workplace jest pod tym względem dość przewidywalny, ale… Nigdy nie wiadomo co komuś jest potrzebne.
Program operuje na plikach ze wskazanego przez nas katalogu. Wyświetla zdjęcie i odczytane z jego wnętrza dane (za pomocą ExifTool). W pakiecie znajdziemy opcje umożliwiające regulację (poprawienie) czasu i strefy czasowej, ułożenia zdjęcia, poprawienie pliku GPX, edycję danych lokalizacji (OpenStreet), tagów i ocen, itp. A także, co może być istotne dla wielu byłych i obecnych użytkowników programu Lightroom, edytor pozwala na odczytanie i poprawienie zgromadzonych w bazie danych wygenerowanych przez Adobe Photoshop Elements Organizer.
Nie jest tych opcji zbyt wiele. Ale jak wspomniałem, nie każdy ma wymagania wykraczające poza zaprezentowany zestaw. Na dodatek program zachęca łatwością z jaką możemy go zdobyć. Wystarczy pobrać z repozytorium na Sourceforge, rozpakować i dwukliknąć na nazwie picmeta. Nie należy zapominać o pakiecie ExifTool – tzn. trzeba go mieć zainstalowanego (libimage-exiftool-perl w przypadku Ubuntu i Minta).
Ta dziurawa Java od Oracle mogła by wreszcie zdechnąć, oraz całe to JVM które trudno utrzymać, pisząc to w C. A razem z nimi wszystkie te Kotliny, Ceylony, Clojure, Groovy i Scale. Linus Torvalds Powiedział, że Java to paskudny język programowania i ja mu wierzę. Zniechęciła tylko mnie do programowania. Nie da się być odpornym na dziury na maszynie wirtualnej, Za Prawdę Powiadam Wam przyszłość to modułowość, mikroserwisy i języki takie jak Rust, Go, Swift czy Elixir. Monolity typu JVM i .Net powinny zdechnąć! https://www.youtube.com/watch?v=Aa55RKWZxxI
Go – jest słaby – sami twórcy tego języka powiedzieli że jest zaprojektowany pod słabych programistów Googla…
Swift – jest Apple-only (w praktyce) a wbrew temu co wydaje się posiadaczom iPhone, świat nie kończy się na Apple…
Elixir – działa na maszynie wirtualnej erlanga – jest to spoko ale tylko do konkretnych zastosowań.
Rust – jest niskopoziomowy – kiedyś zastąpi C – ale pisanie w nim to overkill chyba że piszesz system operacyjny, czy jakiś kodek.
O nawet nie wiesz jak bardzo się z tobą zgadzam. Nigdy jeszcze nie miałem tak, żebym korzytsał z jakiegoś programu okienkowego w javie i nie pojawiały mi się jakieś błędy i problemy za przeproszeniem z dupy.
Całkowicie świeży przykład z wczoraj:
https://stackoverflow.com/a/26606288
“In Java 7 and 8 there is a bug in Swing menus that causes it to be slow
when running an application remotely over X11 while other X11
applications are running. This issue was introduced in Java 7 and has
never been fixed. Does anyone have any suggestions on a workaround.
Using nxclient addresses this Swing menu issue, but introduces its own
unwelcome issues.”
…
“Turns out, in my case, the problem is that PC2 has 2 monitors. The
closest bug report I could find is: JDK-8004103 :
sun.awt.X11.XToolkit.getScreenInsets() may be very slow and it appears
to be still open.”
Innymi słowy jak masz podłączone więcej niż 2 monitory do komputera i uruchamiasz jakąkolwiek apkę javy z gui poprzez x11 forward to korzystanie z tej aplikacji jest praktycznie nie możliwe. Mało tego przez ten bug kilkając na menu w javie tracisz dostęp do całego lokalnego środowiska graficznego na 10-15s… Java taka piękna… Za każdym razem.
A jakie cuda się działy z programami napisanymi w Javie typu jDownolader, Eclipse, Aptana, NetBeans czy twory od JetBrains takie jak Intellij. Już pomijam to mozolne indeksowanie tego środowiska graficznego.
Czepiacie się javy w kontekście aplikacji desktopowych mimo że istotną rolę pełni ona w webie a nie na desktopie? 0_o
Niestety mylisz się, gdyż prawdopodobnie nie jesteś programistą lub developerem. Większość głównych środowisk programistycznych jest pisane w Javie i starociu Swing, właśnie są to aplikacje desktopowe. JavaFX na desktop, też jakoś nie zdobyła popularności. Pod Androidem Java praktycznie już jest wypierana przez Kotlin, często JavaScript, Elixir(napisany jest w nim WhatsApp na Androida), czy C++17 w duecie z QT5, czy jeszcze Monodevelop, Xamarin. A co do samego Web to jest Go, Rust, Swift, C#, Elixir i ostatnio modne mikroserwisy. A do lżejszych stronek Python, Ruby, Node.
No oki ale mam przez to rozumieć że java jest popularniejsza na desktopie niz w webie? Pytam całkiem serio ponieważ zajmuję się nią póki co czysto hobbistycznie.
A gdzie ja napisałem, że jest popularniejsza na desktopie? Narzekam tylko na to, że Ci programiści, jeszcze piszą w Javie desktopowe programy jak Eclipse, Netbeans, Rubymine, Aptana, jDownolader.
Jak by była taka idealna, nikt by nie narzekał, nawet nie radzi sobie z nullami tak jak Kotlin.