środa, 6 grudnia 2017

Przenosiny…

Witam w ostatnim poście na tym blogu.

Od tego miesiąca moja twórczość trafi na współtworzony przeze mnie portal EbookTechPL. Poruszana tam tematyka obejmie większy obszar niż wpisy, które popełniałem tutaj.

Poza wieloma nowymi tekstami znajdą się tam także nowe wersje wpisów z tego blogu. Nie będzie to zwykłe „kopiuj-wklej”, a nowe opracowanie. Jednak gdy któryś z obecnych tu tematów będzie tam poruszany, to wersja stąd „wyparuje”.

Dotyczy to głównie słowników, spolszczenia, jakiś tam modów itp.

Nowy artykuł tam pojawi się równolegle z usunięciem posta tu. Bez zbędnych opóźnień.

środa, 27 września 2017

Moja idea słownika angielsko-polskiego dla Kindle

O co chodzi?

W 2014 roku w Kindle Store pojawił się The Great English-Polish Dictionary (Wielki Słownik Angielsko-Polski) przygotowany głównie przez profesorów Dariusza Jemielniaka i Marcina Miłkowskiego. W 2015 miał konkretną aktualizację. Działanie i możliwości słownika dość obszernie zaprezentował na swoim blogu Vroo (Robert Drózd) we wpisie Porównanie WSAP z BuMato

Skoro już wspomniałem darmową alternatywę to napiszę jeszcze, że wg oficjalnych informacji zawiera on tłumaczenia dla ok. 150 tys. haseł, tymczasem WSAP ma ich 200 tys. (licząc tylko zideksowane hasła, pod którymi może być kilka definicji). W jednym i drugim przypadku to dużo, ale jak się okazuje nie wystarczająco dużo.

Rozgrzewka

Przy normalnych tekstach WSAP radzi sobie bardzo dobrze, ale schodki zaczynają się jak mamy do czynienia z różnymi neologizmami czy slangiem. Tymczasem to właśnie słówka z tej grupy mogą być najmniej zrozumiałe. Parę merytorycznych uwag pojawiło się też w komentarzach pod wpisami na temat tego słownika u Vroo.

Postanowiłem na własny użytek coś z tym zrobić. Szybko przekonałem się, że korzystając z materiałów udostępnionych na wolnych licencjach nie osiągnę zamierzonego celu. Próbowałem użyć wiktionary i jeszcze jakiś otwartych opracowań, ale nie wytrzymały one prób w realnym (niesprzyjającym) środowisku. Ostatecznie treść „pożyczyłem sobie” z serwisu LING.PL, czyli tego związanego z autorami słownika WSAP.

Okazało się że treść umieszczona w serwisie jest bardzo łatwa do analizy – wystarczy podstawowa znajomość grep-a, sed-a, perl-a (nie udało mi się tego uniknąć) i podobnych prostych narzędzi. Sama zawartość zawiera kilka różnych błędów (np. posklejane słowa), ale są one specyficznie formatowane, co pozwala na skorygowanie ich na etapie oczyszczania bazy tekstowej.

Runda wstępna

Vroo zwracał uwagę na kilka nieoczywistych słów. Dla formalności zweryfikowałem je u siebie. Kilka zrzutów poniżej:

W przytoczonym wpisie Vroo pisał:

sporo słów Martin po prostu stworzył, np. „sellsword” jako synonim najemnika i szukanie ich mija się z celem.

Nie bardzo wiem czemu mija się z celem, szczególnie jeśli takie słówko wystąpi odseparowane (np. jako pozycja jakiejś listy), bez kontekstu. Oczywiście na okoliczność właśnie tego typu haseł zdecydowałem się na budowę prywatnego słownika.

W komentarzach pojawiały się natomiast różnego rodzaju pretensje związane z frazami wieloczłonowymi, odmianami itp. U mnie wygląda to tak:

I na koniec przedstawiciel slangu, czyli coś co „przelało czarę goryczy” i ostatecznie przesądziło o stworzeniu tego „potworka”…

Narada przed werdyktem

Robert pisał również:

Natomiast trzeba jeszcze podkreślić, że w tej akurat książce było trochę słów, których nie ma żaden ze słowników na moim Kindle (w tym Oxford i Merriam).

Chciałbym się dowiedzieć jakie to słowa i czy mój słownik sobie z nimi poradzi.


Dalej pisał zaś:

Widać tu wyraźnie różnicę między słownikiem wygenerowanym automatycznie, a takim, który od początku do końca miał opiekę redaktorską.

Częściowo zgadza się. WSAP ma dobrą opiekę redaktorską, zawiera zapis wymowy, ale z drugiej strony przegrywa zasobnością słownictwa.

Werdykt

Wyżej omówiony „słowniczek” ma 445 920 bazowych haseł (1 222 552 lokacji, bez wstępów, przedsłowia, posłowia i innych zbędnych elementów), a licząc wszystkie warianty wychodzi blisko 3 mln słów/zwrotów (być może nawet więcej, liczyłem zgrubnie). Jak doliczymy do tego odmiany to wchodzimy w absurdalne liczby (większe niż oficjalnie podawana ilość słów w języku angielskim). Nadal z pewnością są „luki”, ale teraz WSAP i moja implementacja tworzą kombinację pokrywającą wszystko z czym się spotkałem w jakichkolwiek tekstach.


Może kiedyś doczekamy się WSAP Extended, który będzie miał tak duży zasób słów i profesjonalną obsługę redaktorską? Po uporządkowaniu i dołożeniu wymowy byłby to prawdziwy „potwór”!

piątek, 25 sierpnia 2017

Wyłączenie oświetlenia w czytnikach Kindle PW i VOYAGE

W tym poście poruszę swoją metodę na nieobecną w domyślnym FW opcję całkowitego wyłączenia oświetlenia w czytnikach Kindle Paperwhite 1/2/3 i Voyage.

Pierwsza faza

Do systemu dodałem polecenie ;loff (light off) wywoływane, jak zwykle, w polu wyszukiwania. Jego działanie jest oczywiste (zgodne z nazwą) – wyłącza oświetlenie. Efekt mija po np. zamknięciu okładki lub wciśnięciu przycisku zasilania, tak więc jest to rozwiązanie doraźne.

Działanie przedstawia poniższy film. Nie najlepszej jakości, jednak wszystko co trzeba jest widoczne.

Druga faza

Doraźne rozwiązanie nie wyczerpuje zagadnienia, więc dodałem sobie do systemu skrypty, które przy ustawieniu suwaka oświetlania na 0 – dbają o to, by to faktycznie było 0. Skrypty te wywoływane są przy takich zdarzeniach jak włączenie czytnika, włączenie ekranu czy otwarcie okładki.

Podsumowanie

Brak możliwości wyłączenia oświetlania to jedna z najbardziej niezrozumiałych decyzji nt. opcji czytnika. Chociaż na co dzień nie ma potrzeby całkowitego wyłączenia „światełka”, to jednak zaskakuje brak takiej możliwości. Wśród szeregu modyfikacji, dostosowujących czytnik do moich własnych preferencji nie pominąłem skorygowania i tego elementu.

niedziela, 18 czerwca 2017

Różne poziomy mobilności…

Ten luźny wpis powstał na skutek wielu pytań jakie dostaję nt. tego, dlaczego preferuję Voyage nad inne czytniki i, bez względu czy udzielam odpowiedzi krótkiej czy długiej, niemal zawsze jako jeden z głównych powodów podaję jego wymiary. Jest to jedyny czytnik high-end, który załapuje się do pierwszej z kategorii wymienionych poniżej, w przeciwieństwie do choćby PaperWhite, Oasis czy czytników innych niż Amazon producentów. Nie przedłużając przedstawię krótko swoje umowne kategorie.

Urządzenia ultramobilne

Do tej kategorii zaliczam wszystko od naręcznych zegarków do granicy, którą ustalam na bazie dwóch warunków: urządzenie (wraz z etui) musi mieścić się do tylnej kieszeni jeansów (i oczywiście wewnętrznej kieszeni kurtki/marynarki itp.), a także niedużych saszetek, czy damskich torebek oraz jego waga (wraz z etui) nie przekracza 0,35 kg. Po prostu ma to być urządzenie EDC niewymagające do przenoszenia teczki/torby/plecaka czy też płaszcza/kurtki w dużymi kieszeniami. Voyage jest na styku zarówno w kwestii rozmiaru, jak i wagi (z okładką Origami). Bardziej pasują do tej kategorii różnego rodzaju smartfony itp.

Urządzenia mobilne

Tu zaliczam większość czytników i tabletów. Jako granicę wyznaczam możliwość swobodnego przeniesienia takiego urządzenia w biwuarze A4 i wagę nieprzekraczającą 1 kg. Te warunki spełniają niemal wszystkie czytniki poczynając od Oasis, a kończąc na drogich 13,3" modelach (choć tu pełna mobilność jest już dyskusyjna). Za wzorcowe urządzenia tej kategorii uznaję np. PB InkPad czy Apple iPad. Tego typu urządzenia można spokojnie przenieść w wewnętrznej kieszeni płaszcza (takiej mieszczącej kartkę A5 w pozycji poziomej), choć częściej używa się do tego celu jakiejś teczki. Do tej kategorii zaliczam też większość aparatów fotograficznych i inne urządzenia podobnych rozmiarów. Ogólnie to urządzenia które zabiera się intencjonalnie, ale jednocześnie nie są specjalnie kłopotliwym bagażem. Czasami doliczam do tej kategorii ultrabooki, ale po uwzględnieniu, że raczej przenosi się je wraz z zasilaczem, to bardziej pasują do trzeciej kategorii.

Urządzenia semimobilne

Tu sprawa jest prosta – wszystko o wadze nieprzekraczającej 5 kg, co możliwe jest do uruchomienia bez przewodowego zasilania (czyli posiada jakiś wbudowany akumulatorek lub jest zasilane z akumulatorków/baterii). Poza oczywistą pozycją – laptopy – zaliczam tu nieco cięższy sprzęt foto/video (wraz ze statywem itp.). To urządzenia, które do przeniesienia wymagają dużej torby/teczki lub plecaka.

Konkluzja

Fakt że czytnik taki jak Voyage mam niemal zawsze przy sobie, sprawia że mogę spokojnie utrzymywać czas dziennej lektury na poziomie do 2 do 4 godzin (najczęściej gdzieś w środku tego przedziału). To jest czas jaki spędzam łącznie w różnego rodzaju pojazdach, poczekalniach czy zwyczajnie na ławce w parku. Takie coś nie przejdzie np. z Oasis (zbyt szeroki), nie wspominając o większych czytnikach. Naturalnie nie biorę pod uwagę urządzeń z ekranami LCD, bo takowe zwyczajnie nie nadają się do dłuższego czytania.

I na koniec mała uwaga: laptopy z procesorami desktopowymi, zasilane dwoma zasilaczami, ważące po 7 kg i więcej, to nie są urządzenia mobilne, a przynajmniej nie bardziej niż zwykłe blaszaki.

czwartek, 12 stycznia 2017

Przez chmurę czy po kablu?

W tym wpisie podejmę temat sposobów dostarczania e-booków na czytniki Kindle.

Podstawowe założenie to skupienie się na formacie KF8 (AZW3) z całkowitym ignorowanie starego formatu MOBI 6. Przyczyny takiego założenia są oczywiste – MOBI 6 (obecny w pliku hybrydowym) i EPUB (niestety też często obecny w pliku hybrydowym) to zwykły balast, całkowicie niewykorzystywany przez czytnik. Dla e-booków, które posłużyły do testów na potrzeby tego artykułu nie ma to dużego znaczenia – pliki są relatywnie małe. Zdarzają się jednak „zawodnicy wagi ciężkiej”, czyli e-booki zajmujące po kilkadziesiąt MB – wtedy balast może dokuczyć.

Poniżej omówię dwie (i pół) metody na wrzucenie książki na czytnik i co wynika z wyboru jednej lub drugiej.

Temat był już podejmowany przez Roberta Drózda – Mailem czy po kablu? Porównanie dwóch metod wrzucania książek na Kindle – jednak wpis ten ma już kilkanaście miesięcy (od ostatniej aktualizacji) i jest tam kilka stwierdzeń, z którymi nie mogę się zgodzić, choćby takie – cytat: „Przesyłanie po kablu może w pewnych sytuacjach dać po prostu ładniejszy wygląd książki”. Jest ono semantycznie prawdziwe, ale przy poprawnym pliku nie ma możliwości by książki wyglądały inaczej, przynajmniej dopóki interesuje nas wersja KF8 (i tylko taka).

Omawiane metody

Przez chmurę, czyli wysyłając na przypisany do czytnika adres mailowy z akceptowanych adresów nadawcy (zdefiniowanych w ustawieniach na koncie w Amazon) lub poprzez aplikację „Send To Kindle”.

Po kablu, kopiując po prostu e-book do katalogu „documents” (może być do podkatalogu w tym katalogu).

Po kablu z wykorzystaniem programu Calibre – nie stosuję, ale dla porządku wspomnę. Szczególnie, że taka metoda jest wskazana dla osób nietechnicznych, a jednocześnie daje przyzwoity rezultat.

Ograniczenia

Czasami nie ma wyboru. Do przesyłki po kablu potrzebujemy… kabla. Zdarza się (jednym rzadko, innym częściej), że akurat nie mamy żadnego „pod ręką”. Z kolei do odebrania książki dostarczonej bezprzewodowo potrzebujemy albo czytnika w wersji z 3G, albo dostępu do sieci WiFi (w warunkach miejskich nie powinno być z tym problemu, ale…). W takich sytuacjach korzystamy z jedynej dostępnej metody.

Co daje wybór wysyłki do chmury?

Przede wszystkim synchronizację pomiędzy różnymi czytnikami i programami Kindle (np. na Androida). Synchronizowane są zarówno notatki i podkreślenia, jak również postęp czytania.

Sam fakt umieszczenia książki w chmurze pozwala na odroczone czytanie, bez „zaśmiecania” pamięci czytnika czymś, co będzie czytane np. za pół roku.

Automatyczna wysyłka na mail może być realizowana bezpośrednio przy zakupach w księgarniach, co pozwala na dostarczenie książki np. wprost ze smartfona, bez udziału komputera.

Pliki jakie trafiają na czytnik z chmury są mniejsze niż takie same wrzucone po kablu – konkretne przykłady w dalszej części tekstu.

Chmura Amazona modyfikuje przesłane pliki, między innymi optymalizując je pod docelowy czytnik i wycinając elementy niezgodne z formatem (np. nieużywane style, skrypty itp.). To dla niektórych wada, ale niezaprzeczalnie tak obrobiony plik jest najlepiej przystosowany do odtwarzania na czytniku.

Co daje wybór kabla?

Złudne poczucie prywatności.

Poza tym: nic. Chyba że…

Przesyłając e-booki po kablu, poprzez program Calibre, można w łatwy sposób zapewnić sobie przyzwoity wygląd tekstu, okładkę (wyświetlaną w Bibliotece czytnika) i numery stron bez dodatkowych kombinacji. Calibre jednak jest dość agresywnym programem i nawet przy tak niewinnym wykorzystaniu dorzuca do pliku informacje o sobie. To małe przewinienie w porównaniu z tym, co robi przy konwersji (Sieczkarnia calibre w akcji. Porównanie do kindlegena.), ale i tak irytujące.

Ofiary… czyli pliki testowe

Do testów wybrałem dwie książki z serwisu Wolne Lektury:

  1. Groźny cień Arthura Conana Doyle'a;
  2. Wehikuł czasu Herberta George'a Wellsa.

Pobrałem pliki MOBI i dla wyrównania szans, na potrzeby przenoszenia po kablu, wypakowałem wersje KF8 narzędziem mobiunpack.py. Do chmury wysyłałem pliki takie jak były pobrane z serwisu WL.

W obu przypadkach wygląd e-booków był identyczny, a przykładowe screeny poniżej:

Czcionki wydawcy i jak widać skład jest elegancki – justowanie, podział wyrazów, polskie zwyczaje typograficzne (np. wcięcie akapitowe o wielkości 1,5 firetu). Dawniej wiele osób miało krytyczny stosunek do plików z Wolnych Lektur (np. TUTAJ), ale to już przeszłość. Dziś WL to jedno z niewielu miejsc w sieci (wliczając księgarnie), z których mogę komfortowo czytać książkę bez „przemielenia” jej choćby narzędziem epubQTools.

Okładki, numery stron…

W skrócie: nie ma. Bez względu na to czy wrzucam pliki AZW3 (wypakowane z hybrydowych MOBI) po kablu, czy pobieram książki z chmury.

Obie te niedogodności poprawiam sobie skryptem Extra Kindle Tools. Podobnie zadziała też ExtractCoverThumbs (tym razem pliki mają fałszywy ASIN wygenerowany w Calibre, ale nie zawsze tak będzie). W przypadku obu tych narzędzi generowanie stron działa bezproblemowo, natomiast generowanie okładek jest bezproblemowe tylko dla wersji wrzuconej po kablu. W przypadku wersji z chmury, aby zobaczyć okładki, potrzebny jest hmmm… patch o którym wspomniałem w poprzednim artykule – bez niego zarówno EKT, jak i ECT okładkę wygenerują, ale czytnik jej nie wyświetli.

Używając eksperymentalnej opcji (--patch-azw3) w nowych wersjach ExtractCoverThumbs, można mieć okładki dla książek z chmury, bez używania powyższego patcha, kosztem synchronizacji – przy używaniu tylko jednego czytnika ma to sens. Osobiście czytam wyłącznie na Voyage, choć sam dostęp do biblioteczki Kindle (pozycji w chmurze) mam jeszcze na trzech innych urządzeniach.

Inne elementy…

Wszystko co jest związane z wyglądem e-booka, przy prawidłowym składzie, działa tak samo, bez względu na drogę dostarczenia na czytnik. Takie elementy jak dzielenie wyrazów, blokowanie „sierotek” czy sposób formatowania akapitów są zdefiniowane w pliku i nie ulegają żadnym zmianom przy wysyłce mailowej.

Skoro więc nie widać różnic, to dlaczego wybieram wyłącznie metodę bezprzewodową? Chodzi o optymalizacje dokonywane w chmurze, które między innymi objawiają się rozmiarem pliku jaki finalnie trafia na czytnik. Dokładne liczby:

Pozycja:      MOBI hybrydowy (z serwisu):      AZW3 z mobiunpack.py:      Plik z chmury:
Groźny cień      847 790 B (828 kB)      597 193 B (583 kB)      457 132 B (446 kB)
Wehikuł czasu      654 992 B (640 kB)      509 793 B (498 kB)      338 836 B (331 kB)
…i dla podkreślenia różnic…
Airport City. Strefa okołotniskowa jako zagadnienie urbanistyczne. Monografia.
     40 800 303 B (38,91 MB)★      21 739 164 B (20,73 MB)      8 348 660 B (7,96 MB)

★ W trakcie pisanie tego artykułu próbowałem pobrać tę pozycję jeszcze raz. Plik MOBI pobrany prosto z księgarni ma rozmiar 18 784 863 B (17.91 MB), ale…
…pliku tego nie można rozpakować skryptem mobiunpack.py, a Kindle Previewer nie wyświetla go – w obu przypadkach komunikat informujący o tym, że wskazany plik nie jest plikiem MOBI, a program file podpowiada, że to… EPUB. Tak więc „poprawili”. Oczywiście upewniłem się co pobieram, więc o przypadkowym kliknięciu nie tam gdzie trzeba nie ma mowy. Tylko dla formalności wspomnę, że oczywiście czytnik nie widzi takiego pliku.

Podsumowanie

Jeszcze niewiele ponad pół roku temu, w czasach wersji FW 5.7.4 czy jakoś tak, używałem niemal wyłącznie metody „po kablu”. Dziś 99% książek wrzucam przez chmurę. Ten brakujący 1% to sytuacje, gdy nie mogę tego zrobić z przyczyn technicznych, czyli w praktyce kiedy jestem przez dłuższy czas (kilka dni) bez dostępu do sieci (WiFi).

Dla przesyłek do chmury istnieje sztywny limit 50 MB na mail, ale Amazon najwyraźniej mnie lubi, bo spokojnie przesłałem (tydzień temu) książkę ważącą 65 MB i doszła bez problemów (oczywiście na czytniku odpowiednio mniejsza). Albo to był jakiś bug, albo ograniczenie nie jest takie sztywne.

wtorek, 3 stycznia 2017

Extra Kindle Tools

Przedmowa

Extra Kindle Tools to narzędzie, które pozwala na zrobienie porządku na czytniku Kindle, bez konieczności podłączania go do komputera. Na pomysł stworzenia takiego narzędzia „wpadłem” w połowie grudnia 2016 roku. Źródła znajdują się na github-ie (github.com/AthameBook/EKT/).

Projekt pierwotnie bazował na PC-owym narzędziu ExtractCoverThumbs stworzonym przez Roberta Błauta (znanego też jako quiris), który w swoim projekcie korzystał m.in. z pracy Johna Howella (obsługa formatu KFX) czy Charlesa M. Hannuma oraz Pawła Jastrzębskiego (autorów kindle_unpack).

ExtractCoverThumbs miał jednak z mojego punktu widzenia kilka wad, z czego najpoważniejsza dotyczyła uzależnienia działania od obecności numeru ASIN (bez tego tytułowy „cover” nie powstawał) oraz działał z poziomu komputera.

Aktualną wersję, o możliwościach znacznie rozbudowanych względem ExtractCoverThumbs (z oryginalnego kodu pozostał głównie pomysł…), przygotowała @Becky, znana z forum eksiazki oraz z tłumaczenia interfejsu Kindle na język polski. Ja w tym układzie robiłem za „natręta”, który zasypywał pytaniami quirisa oraz dopingował pracę @Becky. No dobra, moja rola nie była do końca tak bezproduktywna – przygotowałem niezbędny składnik całości – pythona 2.7 działającego bezpośrednio na czytniku wraz z modułem Pillow.

Beczka dziegciu…

Extra Kindle Tools to nie jest samodzielne narzędzie. Do działania wymaga pythona wraz z niestandardowym modułem. O ile na PC nie stanowi to żadnego problemu, o tyle na czytniku już nie jest tak miło. Do tego trzeba zastosować jakiś „wyzwalacz” lub powiązać wykonanie z jakimś zdarzeniem. Osobiście dodałem do systemu polecenie „ekt”, które wykonuje skrypt.

Niedogodność to brak generowania okładek dla niektórych e-booków w formacie KFX – tych które informacje o okładce mają w części zaciemnionej DRM-em. Na szczęście to mniejszość w Kindle Store, ale i tak irytuje. Oczywiście nie wygeneruje okładki, jeśli takowej nie ma zaszytej w pliku (jeden przykład w filmie demonstracyjnym).

Dodatkowo domyślnie cierpi na tę samą złośliwość, zafundowaną przez Amazon, co ExtractCoverThumbs – od wersji oprogramowania Kindle FW 5.8.5, wszystkie własne pliki pobrane z chmury trafiają na „czarną listę” – nie można dla nich wygenerować okładki, a dokładniej można, ale czytnik z niej nie skorzysta (nie wyświetli się w Bibliotece).

Osobiście stosuję pewien skomplikowany mod, który niweluje ten efekt, ale niestety zrobiłem go dość intuicyjnie, przy okazji kilkanaście razy brickując czytnik (nawet kiedy już wiedziałem co robić) – po prostu modyfikowany plik (/opt/amazon/ebook/lib/kaf.jar) jest z jednej strony wrażliwy na zachowanie integralności (nie można bezkarnie w nim „grzebać”), a z drugiej jest niezbędny do prawidłowej pracy czytnika (ładuje się jako jeden z pierwszych). Co gorsza jest nieprzenośny pomiędzy różnymi egzemplarzami czytnika, chyba że pochodzą one z tej samej partii produkcyjnej tzn. poprawny plik z PW3 zadziała na niektórych innych PW3, ale nie na każdym.

Z uwagi na powyższe problemy taki mod funkcjonuje aktualnie na tylko dwóch czytnikach w Polsce i z dużym prawdopodobieństwem także na Świecie. Przydałby się jakiś hacker, który zrobi to porządnie, bo brak okładek dla PDOC-ów jest strasznie irytujący. Nawet pomimo domyślnego upośledzenia w tym względzie, Extra Kindle Tools to nadal przydatne narzędzie, o czym poniżej.

Beczka miodu…

W przeciwieństwie do ExtractCoverThumbs, Extra Kindle Tools działa nie z poziomu komputera, a z poziomu czytnika. Przez to nie tylko uniezależnia nas od kabla, ale też może korzystać z danych ukrytych w systemie, a niedostępnych z poziomu PC. Dzięki temu działa niezależnie od obecności numeru ASIN (ExtractCoverThumbs pomija takie pliki) i generuje okładki dla każdej książki, dla której to możliwe (pomija PDF-y i wymaga jedynie tego by jakakolwiek okładka była w pliku).

Po ExtractCoverThumbs odziedziczył także generowanie numerów stron – zgrubnym algorytmem, nie przez pobieranie tej liczby z serwisu Lubimy Czytać – to spowalnia drastycznie pracę, a efekt i tak nie jest precyzyjny, bo księgarnie często dodają stronę lub dwie z informacjami o „znaku wodnym” – co przekłamuje wynik, a dla publikacji zawierających grafiki czy tabelki, strony i tak nie będą się pokrywać – słowem: więcej wad niż pożytku.

Ma jednak więcej funkcji – przede wszystkim moduł czyszczący czytnik z:

  • folderów .sdr będących pozostałością po usuniętych już książkach;
  • pustych folderów;
  • okładek dla książek, których już nie ma na czytniku;
  • plików tymczasowych (.partial, _ASC itp.);
  • plików wininfo_screenshot*.txt tworzonych wraz z zrzutem ekranu.

W skrócie – dba o porządek na czytniku.

Działanie w praktyce

wtorek, 8 listopada 2016

Jak zrobić JailBreak na Kindle – metoda 2016 – polska instrukcja

Przedwstęp

Wpis powstał jako odpowiedź na wiadomości, które otrzymywałem od różnych osób. Było ich ho-ho-ho i jeszcze trochę i we wszystkich, autorzy podkreślali, że nie znają angielskiego. W tej sytuacji postanowiłem zrobić polski opis całej procedury.

Metoda ta, zgodnie z nagłówkiem, działała do wersji 5.8.7 (2016). Obecnie nie zadziała, podobnie jak wszystkie pozostałe metody na odblokowanie oprogramownia Kindle'a.

Wstęp

Opisywana metoda może być zastosowana dla czytników 6-tej, 7-mej i 8-mej generacji Kindle, z wyłączeniem najnowszego (w chwili pisania postu) modelu PW3 32 GB (wersja japońska).

Sama metoda przeznaczona jest dla czytników z FirmWare >5.6.5. Może być zastosowana także dla starszych wersji FW, ale w takich przypadkach są prostsze i szybsze sposoby.

Przygotowanie

  1. Czytnik powinien być zarejestrowany.
  2. Wszelkie kody: na czytnik i dla kontroli rodzicielskiej powinny być wyłączone.
  3. Akumulatorek powinien być naładowany przynajmniej w 50% - bezpieczniej >70%.
  4. Po każdym kroku odłączenie czytnika od komputera i restart.
  5. Podczas całej procedury czytnik powinien być w trybie off-line (airplane mode).

Procedura krok po kroku

  1. Przywrócenie ustawień fabrycznych.
  2. Pobranie odpowiedniego obrazu fabrycznego:
  3. Instalacja pobranego obrazu tak samo jak każdej aktualizacji wgrywanej „po kablu”.
  4. Pobranie fabrycznego JB: Factory JailBreak
  5. Instalacja JB, po odłączeniu czytnika od komputera, poprzez wykonanie polecenia:
    ;installHtml
    wpisanego w pole wyszukiwania wprost z ekranu głównego czytnika (nie z otwartej książki!)
  6. Pobranie i instalacja ([HOME] -> [MENU] > Settings -> [MENU] > Update Your Kindle) zabezpieczenia przed usunięciem JB: JB-hotfix
  7. Pobranie i instalacja „po kablu” najnowszej dostępnej aktualizacji czytnika.
  8. Pobranie KUAL-a: KUAL, rozpakowanie i skopiowanie pliku KUAL-KDK-2.0.azw2 do katalogu documents.
  9. Pobranie MRPI: MR Package Installer, wypakowanie i skopiowanie otrzymanych katalogów na czytnik.

Suplement

Instalacja pakietów BIN przy użyciu MRPI
  1. Pobrany pakiet BIN kopiujemy na czytnik do katalogu mrpackages.
  2. Odłączamy czytnik od komputera(!).
  3. Uruchamiamy KUAL i wybieramy pozycję: Install MR Packages.

Gdy instalator wykona pracę, czytnik odświeży interfejs. Niektóre hacki (większość?) wymagają do działania dodatkowego restartu czytnika (z menu).

Alternatywne wgranie JB + bridge

W związku ze zgłaszanymi różnymi problemami (m.in. przez użytkownika Andrzej Andrzej w komentarzach pod postem) przygotowałem alternatywny instalator. Zamiast pojedynczej instalacji JB i potem bridge'a (hotfix) można od razu wgrać paczkę JB+hotfix. Nazwa taka sama jak dla fabrycznego JailBreaka i sposób instalacji (oraz moment) również identyczny. Tylko zawartość inna. Po wgraniu na system „initial”, trzeba jeszcze zrobić jeden lub dwa (dla pewności) restarty czytnika i dopiero potem można instalować aktualizację do najnowszej (lub innej wybranej) wersji. Po tych zabiegach JailBreak przetrwa każdą aktualizację. „Zaszkodzi mu” jedynie przywracanie ustawień fabrycznych.

środa, 28 września 2016

Pliki towarzyszące e-bookom w Kindle - przegląd.

W aktualnej wersji systemu (FW) Kindle trzyma wszystkie pliki pomocnicze załączane do książek w katalogu mającym taką samą nazwę jak e-book, ale z rozszerzeniem SDR.

1. Co towarzyszy plikom AZW3 (MOBI KF8)?

  • apnx – bardzo przydatny plik; bez wchodzenia w szczegóły, są tu zapisane informacje o numerach stron – niekoniecznie odpowiadają stronom w edycjach drukowanych;
  • asc – pliki zróżnicowane; zawierają informacje pojawiające się w określonych momentach lub przy wykonaniu określonej akcji; nazwa pliku jednoznacznie wskazuje to, czego dotyczy np. StartAction, EndAction, XRAY;
  • azw3f – zawiera informacje o tempie i kolejności czytania; wykorzystywany np. przy przewidywaniu czasu potrzebnego na dokończenie rozdziału oraz do poprawnego wskazania miejsca docelowego dla przycisku "Wstecz" (przy czytaniu nieliniowym);
  • azw3r – zawiera informacje o tym, czy e-book był już wcześniej otwierany, o istnieniu przypisów oraz ustawienia dla marginesów, układu strony, a także rodzaju i rozmiaru wybranego fontu (tylko dla danej książki);
  • meta – metadane; podstawowe – na użytek synchronizacji;
  • mf – metadane; bardzo rozbudowane; są tu informacje przydatne i dla czytnika i dla chmury;
  • phl – plik zawierający Popular Highlights – najczęściej zaznaczane fragmenty, udostępnione przez osoby czytające tę samą książkę i synchronizujące dane z chmurą;
  • previewData – pliki pomocnicze; nazwa wskazuje czego dotyczą – najczęściej XRAY;

wpis będzie rozbudowywany...

poniedziałek, 27 czerwca 2016

Słownik polsko-esperancki

Budowa

Podobnie jak poprzednio, wykorzystując pracę Pana Włodzimierza Dutkiewicza, opracowałem słownik polsko-esperancki. Tu również źródłem był słownik udostępniony na wolnej licencji przez Pana mgr Jerzego Wałaszka (http://eduinf.waw.pl/esp/util/vortaro/index.php). Odmiany zaś pochodzą z serwisu sjp.pl.

Efekt

  • format MOBI, poprawnie działający na Kindle – przechodzi wysyłkę mailową;
  • zawiera okładkę;
  • rozmiar: 8,2 MB (8 627 064 bajtów);
  • ilość bazowa słów/zwrotów: 128 067 (w tym kilkaset wielowariantowych);
  • działają odmiany;

Link do pobrania

SŁOWNIK

niedziela, 26 czerwca 2016

Nowy słownik esperancko-polski

Budowa

W oparciu o zachętę oraz z wykorzystaniem pracy Pana Włodzimierza Dutkiewicza opracowałem nową wersję słownika esperancko-polskiego. W tej wersji źródłem był słownik udostępniony na wolnej licencji przez Pana mgr Jerzego Wałaszka (http://eduinf.waw.pl/esp/util/vortaro/index.php). Bazę słów udostępnioną przez Pana Włodzimierza potraktowałem swoimi skryptami, które utworzyły bazę odmian (wg mojego zamysłu bliźniaczo podobnego do tego co zrobił Pan Włodzimierz), przeorganizowały trochę hasła (zespojenie kilku takich samych haseł z róznymi definicjami, w jedną z wariantami itp.) oraz zmieniły trochę wygląd znaków specjalnych.

Efekt

  • format MOBI, poprawnie działający na Kindle – przechodzi wysyłkę mailową;
  • zawiera okładkę;
  • rozmiar: 7,1 MB (7 459 264 bajtów);
  • ilość bazowa słów/zwrotów: 127 838 (w tym kilkaset wielowariantowych);
  • działają odmiany;
  • pokrycie języka literackiego: blisko 100% (sprawdziłem losowo ponad 100 słów – wszystkie znalezione w słowniku).

Link do pobrania

SŁOWNIK

niedziela, 5 czerwca 2016

Słownik esperancko-polski

Budowa

Baza słów i tłumaczeń pochodzi z otwartoźródłowego programu Esperantilo. Z drobną poprawką, dwóch odkrytych błędnych tłumaczeń. Baza odmian to praca własna, wykonana bez głębszej znajomości języka, za to z wskazówkami od internauty używającego nicku "fringel". Przygotowałem ją wykorzystując fakt istnienia jednoznacznych końcówek dla rzeczowników, przymiotników czy czasowników (tu uwzględniłem też imiesłowy), które przy odmianie uwidaczniają się jako przyrostki dołączone do podstawowego morfemu. Takie podejście pozwala na zbudowanie poprawnej i dużej objętościowo bazy odmian. W czasie rozbudowanych testów nie natrafiłem na brak odmiany istniejącego hasła.

Efekt

Krótka charakterystyka:

  • format MOBI, poprawnie działający na Kindle – przechodzi wysyłkę mailową;
  • zawiera okładkę;
  • rozmiar: 1,1 MB (1 121 064 bajtów);
  • ilość bazowa słów: 30 089;
  • działają odmiany;
  • pokrycie języka literackiego: > 99% (na próbce 1000 kolejnych wyrazów z losowej powieści).

Przykłady działania





Link do pobrania

SŁOWNIK

piątek, 3 czerwca 2016

SJP dla Kobo i PocketBook

Ostrzeżenie!

Słowniki te zbudowane są na bazie strony sjp.pl. Aktualne w chwili pisania tego postu. Ze względu na ograniczenia formatów słowników zarówno dla czytników Kobo, jak i PocketBook, są one zbudowane inaczej niż wersja dla Kindle. Nie posiadam aktualnie żadnego z czytników tych marek, więc nie gwarantuję w 100% poprawnego działania. Nie pogniewam się jeśli będę dostawał jakieś informacje zwrotne na temat funkcjonowania słowników.

Ogólna charakterystyka

122946 haseł, w tym wiele zawiera w sobie więcej niż jedną niezależną definicję. Pochodna budowy słownika na stronach sjp.pl. Osiągnięcie większej estetyki wymaga ręcznych zmian, co przy ciągle "żywym" projekcie (strona sjp.pl zmienia się) jest mało sensowne.

Wersja dla Kobo ma rozmiar 5,4 MB, a dla PocketBook'ów 5 MB. Zawartość taka sama, różnica wynika z innej metody kompresji.

Gotowce do pobrania

Wersja dla Kobo:
Słownik języka polskiego dla czytników Kobo

Wersja dla PocketBook'ów:
Słownik języka polskiego dla czytników PocketBook

czwartek, 19 maja 2016

Wgranie czystego systemu w dowolnej wersji – instrukcja dla początkujących

Jeśli ktoś namieszał sobie w systemie modami, których działania nie rozumie lub zwyczajnie chciałby zrobić downgrade, bo nie podobają mu się zmiany wprowadzone w nowszej wersji, to ma taką możliwość.

Co będzie potrzebne?

  • dostęp do roota,
  • RescuePack (oba te elementy opisałem w poście o JB),
  • oryginalny plik *.bin z aktualizacją – w dowolnej wersji przygotowanej dla odświeżanego czytnika.

Kolejne kroki

  1. Wrzucamy RP do systemu Kindle.
  2. Tworzymy na partycji użytkownika (główny katalog przy podłączeniu czytnika do komputera) pusty plik o nazwie ENABLE_DIAGS.
  3. Restartujemy czytnik, który uruchomi się w trybie diagnostycznym.
  4. Wybieramy kolejno:
    • (o)–Misc individual diagnostics
    • (o)–Utilities
    • (o)–Enable USBnet
  5. Podłączamy czytnik do komputera i logujemy się przez SSH i wykonujemy polecenia:
    • # mkfs.ext3 /dev/mmcblk0p1
    • # mkfs.ext3 /dev/mmcblk0p3
  6. Kończymy połączenie SSH i na czytniku wybieramy:
    • (x)–Exit
    • (x)–Exit
    • (USB EXPORT)–USB device mode
  7. Kopiujemy plik *.bin (z systemem w wybranej wersji) do pamięci Kindle i restartujemy czytnik (w dowolny sposób).
  8. Po restarcie wgra się wybrany system, a czytnik ponownie wystartuje w trybie diagnostycznym. W tym momencie osobiście odbudowuję RP (część na partycji main).
  9. Aby dokończyć czyszczenie po starych śmieciach warto usunąć wszystko z partycji użytkownika:
    # mkfs.vfat -F32 /dev/mmcblk0p4
  10. Wyłączamy bootowanie w trybie diagnostycznym:
    # /usr/sbin/idme -d --bootmode main
  11. Restartujemy czytnik i mamy świeżutki system.

Podsumowanie

Jak widać procedura jest bardzo prosta, bezpieczna i powtarzalna. Jedynym warunkiem powodzenia jest poprawne działanie sprzętu. Taka sekwencja to najprostszy debrick dla Kindle PW (każdej wersji), Kindle Touch 2014 oraz Kindle Voyage. Dla Kindle Oasis procedura wygląda inaczej. W starszych czytnikach prościej użyć narzędzia Kubrick (dla Kindle Touch 2011, Kindle Classic i Kindle 3 (Keyboard).

poniedziałek, 9 maja 2016

Moja wizja Voyage 2

Mocno zawiedziony nowym czytnikiem Amazona, już po pierwszych doniesieniach naszkicowałem sobie oczekiwany przeze mnie wygląd Voyage 2 oraz snułem zestaw przypuszczalnych funkcji. W tym miejscu zaznaczam, że brałem pod uwagę jedynie to, co już znajduje się na rynku, więc odpuściłem takie fantazje jak kolorowy ekran itp.

Wizualizacja

Wyposażenie?

Takie elementy jak procesor czy RAM mogłyby pozostać na obecnym poziomie, choć zamiana i.MX6 na i.MX7 wydaje mi się sensowna. Wydajnościowo nie ma dużych różnic, ale zużycie energii byłoby odczuwalnie niższe.

Chciałbym mieć jednocześnie czujnik oświetlenia i akcelerometr działający tak jak w Oasis – oba z możliwością wyłączenia. Do tego 6 diod (wystarczy) – po dwie na bokach i po jednej na górze i dole.

W środku – tak jak na grafice: płyta główna pod ekranem oraz fragment obok ekranu pod czujnikiem i przyciskami. Akumulator o pojemności ~2000 mAh w grubszej części czytnika na niemal całej wysokości.

Przyciski, albo takie jak w Voyage, albo mechaniczne o rozmiarach widocznych na grafice. Mogłyby być też takie jak w starym dobrym Classicu. Przydałaby się możliwość wyłączenia zmieniania stron przez dotknięcie ekranu przy korzystaniu z przycisków – ustawienie zmieniane np. poprzez przytrzymanie obu przycisków przez 2 sekundy.

Dodanie BT 4 LE i akcesoriów takich jak np. słuchawka do audiobook'ów (oczywiście w parze z TTS) – to być może zostanie odblokowane w Oasis, choć obecnie szanse są minimalne – technicznie nie ma tu przeszkód.

Wymiary zewnętrzne zamieszczone na grafice to max. Nie zaszkodziłoby zmniejszenie wszystkich marginesów o 1 mm (ale nie bardziej). To byłby rzeczywiście najmniejszy i jeden z najlżejszych Kindle, bez upośledzania w postaci akumulatorka o śmiesznej pojemności 245 mAh.

Sam ekran 300 PPI wystarczy, ale osłaniające go szkło oczekiwałbym, że będzie miało chropowatą fakturę (tak jak w PW1/PW3).

Przy takiej budowie czytnik powinien być wodo- i pyłoszczelny.

W sprawie oprogramowania przydałoby się dodanie możliwości programowego pogrubiania fontów (coś co jest dobrze rozwiązane w czytnikach Kobo). Poza tym w Kindle niczego nie brakuje, dlatego tylko z rozpędu wspomnę, że wcale nie tęsknię za np. reflow (mało użyteczny).

W sumie:

Prosty mały czytnik, czerpiący najlepsze rozwiązania znane z Classic'a, Paperwhite'a i Voyage.

Kindle Oasis i dlaczego nie przesiądę się z Voyage

Przedwstęp: jakim jestem czytelnikiem?

Krótko ujmując – wszechstronnym. Korzystam z czytnika uśredniając 1,5–2 h dziennie. Od czasu do czasu (np. podczas długiej podróży) jest to >5 h. Bardzo rzadko mniej niż 1,5 h. Często w zamkniętych pojazdach, w ciemnych pomieszczeniach lub zwyczajnie w nocy.

Na Kindle używam najczęściej formatu MOBI KF8, z fontem Bookerly Plus (pogrubienie +15 do wewnątrz w matrycy 1000×1000) w rozmiarze 7,96 lub 8,29 (w jednostkach, gdzie 1 pt = 1/100"), z marginesami 2 mm góra i boczne oraz ~5 mm dolny. To standardowe ustawienia dla beletrystyki.

Bardzo często korzystam z PDF-ów – w znakomitej większości składanych z myślą o czytniku 6". To głównie teksty naszpikowane matematyką, nutami lub diagramami z gier (szachy, go itp.). Czasami na szybko przeczytam jakiś nieoptymalizowany PDF w trybie kolumnowym lub, rzadziej, reflow.

Poza testami nie korzystam z komiksów, ani innych obrazkowych książek, czy też skanów.

1. Jakie są cechy wspólne Oasis i Voyage?

  1. Ekran: 6" E-Ink Carta 300 PPI – najważniejsza część czytnika; dotykowy; jakość druku laserowego.
  2. Procesor: 1 GHz Freescale i.MX6 SoloLite.
  3. RAM: 512 MB.
  4. Pamięć masowa: 4 GB, z czego ~3 GB na książki i inne pliki osobiste.
  5. Łączność: WiFi lub WiFi + 3G.
  6. Bliźniacze oprogramowanie w wersji 5.7.4.

2. A jakie różnice?

Cecha: Kindle Voyage Kindle Oasis
Diody doświetlające: 6 LED 10 LED
Przyciski: tensoryczne
po obu bokach
mechaniczne
przy jednym boku
Rozmiar: 162x115x7,6 mm 143x122x3,4-8,5 mm
Waga: 180-188 g 131-133 g
Czujnik oświetlenia: Tak Nie
Akcelerometr: Nie Tak
Pojemność akumulatora: 1320 mAh 245 mAh
+ 1290 mAh w okładce
Etui w zestawie: Nie Tak, 3 kolory do wyboru:
czarny, orzechowy, czerwony;
pełni funkcję powerbank-u
Cena: od: $199.99
EUR 189,99
od: $289.99
EUR 289,99

Najważniejsza różnica to kształt czytnika – symetria w Voyage i ergonomiczne wyprofilowanie w Oasis. Przy trzymaniu jedną ręką nowszy czytnik jest zdecydowanie wygodniejszy. Ma na to wpływ także waga, co w połączeniu ze skupieniem środka ciężkości po stronie ręki daje wrażenie trzymania czegoś bardzo lekkiego.

Załączone do Oasis etui nie chroni plecków czytnika – po stronie z przyciskami. Chroni jedynie ekran. To ogromny minus.

Dodatkowe diody dały zupełnie nic – oświetlenie jest równie dobre jak w Voyage.

3. Czyli w sumie...

Wracając do meritum – w Oasis brakuje czujnika oświetlenia – kompletnie niezrozumiałe. To funkcja z której korzystam non stop na Voyage.

Nie jestem przekonany też do przycisków – tensory w Voyage działają bardzo dobrze – nie potrzebuję mechanicznych. Poza tym mimo zwiększenia ramki po stronie przycisków, te są nadal bardzo blisko krawędzi – kolejne niezrozumiałe rozwiązanie.

Akumulator wewnętrzny jest nieprzyzwoicie słaby – do tego stopnia, że Amazon software'owo zainterweniował, wprowadzając głębokie uśpienie i możliwość całkowitego wyłączenia diod.

Kierunek rozwoju (a właściwie zwoju) bardzo mnie rozczarował.

poniedziałek, 24 sierpnia 2015

Formaty e-book'ów

Bez zbędnych wstępów: formaty e-book'ów podzielę na kategorie:

1. Dokumenty o "sztywnym" wyglądzie (ang. fixed-layout).


To przede wszystkim PDF. Synonim e-book'a. Jako jedyny istniejący format posiada wszystkie cechy – wsparcie dla: DRM (tego nie lubimy), obrazów, tabel, dźwięku, a nawet wideo. Jest formatem interaktywnym (obsługuje hiperłącza). Wspiera reflow (nie zawsze). Jest otwartym standardem. W skrócie same zalety – jedyny problem polega na tym, że czytniki najczęściej mają ekran w rozmiarze 6", a większość PDF-ów jest projektowana pod format A4 (ew. Letter). Kindle bardzo dobrze sobie radzi z tym formatem (więcej w innych wpisach).

DVI – domyślny plik wynikowy LaTeX'a. Można łatwo konwertować do PDF.

PostScript – PS. Pierwowzór PDF. W czytnikach nie ma zastosowania. Można bezproblemowo przekształcić na PDF.

DjVu – format używany w archiwach bibliotek cyfrowych. Wg mnie mało użyteczny. Na dodatek mam osobiste uprzedzenie, bo wszystkie porównania z PDF mające na celu potwierdzenie, że pliki DjVu są mniejsze od PDF, przy tej samej jakości, są po prostu oszustwem – porównywane PDF-y nie były w żaden sposób optymalizowane, zaś DjVu jak najbardziej – po optymalizacjach PDF wyniki są już nieco inne. Można konwertować do PDF.

XPS – format oparty na XML. Kolejny który lepiej przekształcić do PDF. Obecnie otwarty standard nie mający sensownego zastosowania.

1+ Dokumenty obrazkowe.


Comic Book – obrazki JPG lub PNG spakowane w jedno archiwum 7z (CB7), ace (CBA), rar (CBR), tar (CBT) lub zip (CBZ). W celu przeglądania na Kindle wystarczy wypakować i umieścić w jednym wspólnym podkatalogu w katalogu images (jak takiego nie ma, to trzeba samemu stworzyć).

2. Dokumenty o elastycznym wyglądzie (ang. reflowable).


PRC, MOBI – jeden z dwóch współczesnych formatów tzw. czytnikowych. Format stworzony przez MobiPocket (obecnie część Amazon). Oparty na HTML. Domyślny format Kindle dla książek spoza Kindle Store. Obecnie wypierany przez nowsze, lepsze: KF8 i KFX.

EPUB – standardowy format e-książek. Łatwo konwertowalny do formatów natywnych Kindle. Oparty na (X)HTML i CSS.

iBOOK – format książek dla ekosystemu Apple. Zmodyfikowany EPUB. Brak możliwości konwersji, ze względu na trudny do obejścia DRM (Apple FairPlay).

AZW – domyślne rozszerzenie dla książek w Kindle Store. W środku może być MOBI lub plik Topaz (PDF) z dodatkiem DRM. Obecnie wypierany przez nowsze.

AZW3, KF8 – nowszy format Kindle (Kindle Format 8). Ósma rewizja MOBI. Obsługuje podzbiór (X)HTML 5 i CSS 3. Dużo bardziej zaawansowany. Obecnie domyślny.

AZK – format Kindle tylko dla urządzeń Apple. Możliwości podobne do tych z KF8.

KFX – Kindle Format X. Dziesiąta rewizja MOBI. Zaprojektowana od zera. Wspiera inline dzielenie wyrazów, kerning, ligatury i inne elementy typograficzne, dotychczas dostępne tylko w PDF (i pokrewnych).

TXT – po prostu tekst. Ubogo formatowany. Obsługiwany przez Kindle.

(X)HTML – format będący sercem plików EPUB, MOBI i kilku innych. Nie obsługiwany bezpośrednio na Kindle. Możliwa konwersja oficjalnym narzędziem (kindlegen).

DOC, DOCX – pliki Worda. Znane i nielubiane. Do konwersji.

RTF, ODT – tekst bogato formatowany. Wystarczający do ładnego wyświetlenia beletrystyki. Ładnie konwertuje się do MOBI i KF8.

2+ Przestarzałe.


Open eBook (OPF) – protoplasta EPUB-a. Raczej na wymarciu.

Broadband eBooks – BBeB. Znany z pierwszych czytników Sony – pliki LRF i LRX (z DRM). Pojawienie się tego formatu dało pretekst do stworzenia biblioteki libprs500, która ostatecznie przekształciła się w calibre.

FictionBook – FB2 i FB3. Bardzo dobry format oparty na XML. Możliwości podobne do EPUB i KF8 (z wyjątkiem DRM – tu go nie ma). Niesłusznie traci na popularności.

Microsoft LIT – format używany przez Microsoft Reader. Wspiera DRM. Porzucony przez producenta i słusznie.

CHM – kolejny format Microsoft'u. Formalnie skompresowany HTML z DRM.

TomeRaider – TR2 i TR3. Mało popularny, niezbyt zaawansowany format. Bardzo ograniczone możliwości (coś w pół drogi pomiędzy TXT i FB2 lub EPUB).

PDB – to nie jest jeden format, a rozszerzenie używane (w kontekście e-book'ów) przez 2, dawniej bardzo popularne, formaty: Plucker (PalmOS) i iSiloX. Wspierały DRM, z czego ten drugi nie został przełamany. Pierwszy można konwertować. Drugi jest na to odporny.


To oczywiście nie jest pełna lista, szczególnie w podpunkcie o przestarzałych można by dorzucić kilka (lub kilkadziesiąt) pozycji. W przypadku czytników znaczenie mają jedynie EPUB, MOBI (i jego następcy) oraz PDF.

sobota, 22 sierpnia 2015

[☆☆] Zmieniamy wystój wnętrza

Jak już mamy za sobą włamanie do systemu, to najwyższa pora na wykonanie kilku modyfikacji przydatnych dla polskiego użytkownika, podzielonych na 3 kategorie:

I. Oczywiste, przydatne dla każdego:


1) Odblokowanie trybu reflow w PDF

Pobieramy plik i kopiujemy go do pamięci Kindle. Logujemy się przez SSH i przełączamy system plików na tryb RW (do zapisu)
mntroot rw

oraz umieszczamy zmodyfikowany plik w odpowiednim miejscu:
cp /mnt/us/Reader-plugin-en_GB.jar /opt/amazon/ebook/lib/

Restartujemy czytnik i od tego momentu w menu otwartego PDF-a pojawi się pozycja: "Text-only Display" aktywująca tryb reflow.

2) Podmieniamy klawiaturę na taką zawierającą wszystkie polskie znaki oraz przy okazji ulepszającą "kropkę"

Tu są dwie opcje – jedna z wykorzystaniem systemu Debug – druga nieco dyskretniejsza, ale też bardziej skomplikowana. W obu przypadkach pobieramy plik i umieszczamy go w pamięci Kindle.

W pierwszym przypadku uruchamiamy tryb Debug wpisując przy połączeniu SSH:
idme -d --bootmode diags

i restartując czytnik.

Po uruchomieniu systemu, nadal przy połączeniu SSH, logujemy się, w taki sam sposób jak przy wgrywaniu JB i podmontowujemy system main w katalogu /mnt/mmc
mount /dev/mmcblk0p1 /mnt/mmc

oraz podmieniamy plik z klawiaturą
cp /mnt/us/keyboard.cramfs.img /mnt/mmc/usr/share/

po czym odmontowujemy /mnt/mmc
umount /mnt/mmc

i opuszczamy tryb Debug
idme -d --bootmode main
reboot


Druga, subtelniejsza droga wygląda tak – logujemy się przez SSH i kolejno:
mntroot rw
cd /etc/upstart/
mv kb.conf kb.bak
killall -9 kb


(teraz najprawdopodobniej framework się zrestartuje – jeśli tak, to połączamy się ponownie i dalej

umount /usr/share/keyboard
cp /mnt/us/keyboard.cramfs.img /usr/share/
cd /etc/upstart/
mv kb.bak kb.conf
reboot


II. Warte wykonania, choć niekonieczne


3) Zmniejszenie domyślnych marginesów

Robimy dokładnie to samo co w przypadku reflow z tym, że potrzebujemy pliku.

Moja wersja pozostawia dla górnego i dolnego marginesu domyślne wartości, zaś boczne modyfikuje tak, że największy odpowiadał najmniejszemu ze standardowej wersji, a pozostałe są odpowiednio mniejsze. Dzięki temu na ekranie mieści się sporo więcej tekstu, a pozostawienie marginesów wertykalnych na domyślnym poziomie pozwala na testowanie własnoręcznie przygotowanych plików (jestem także składaczem e-book'ów) w warunkach domyślnych (modyfikacja tych marginesów jest możliwa tylko poprzez podmianę pliku i nie można tego dokonać na działającym systemie). Zmiana zabezpieczona jest przed przycinaniem marginesów w podglądzie PageFlip (poprzedni moderzy o to nie zadbali) oraz dotyczy każdego typu plików czytanych przez Kindle (MOBI 7, KF8, PDF).

III. Wynikające z indywidualnych preferencji


4) Podmiana czcionki

Sposób wgrania taki sam jak dla podmiany klawiatury, ale tylko ta pierwsza droga (z czcionek korzystają kluczowe elementy systemu i próba podmiany "na żywca" skończy się semi-brick'iem).

Odpowiedni plik należy wgrać do właściwego katalogu
cp /mnt/us/fonts.cramfs.img /mnt/mmc/usr/java/lib/

Moja modyfikacja jedynie pogrubia (wytłuszcza) czcionkę Bookerly (domyślna była dla mnie zbyt cienka).

5) Zmiana domyślnych wielkości czcionek

To w zasadzie nie jest hack, a zwykła funkcja systemowa: Tworzymy plik FONT_RAMP w pamięci Kindle, a jako zawartość wpisujemy 8 liczb rzeczywistych reprezentujących wielkość czcionki wyrażoną w jednostce big point (punkt PostScript). Pod linkiem przykładowy poprawny plik.


Uzupełnienie: wszystkie te modyfikacje dotyczą systemu, w którym wybrano język interfejsu Angielski (Wielka Brytania). Linki prowadzą do plików, które bezpiecznie można wgrywać w Kindle Voyage i Kindle PaperWhite 3 z oprogramowaniem 5.6.X. Dla starszych czytników właściwe pliki krążą po sieci.

środa, 19 sierpnia 2015

[☆☆☆] Włamujemy się do środka i dorabiamy zapasowe klucze

Prawie wszystkie modyfikacje działania oprogramowania Kindle wymagają obecności w systemie tzw. jailbreak'a. W starych czasach hack'i wgrywało się przez fałszywe update'y. Niestety to już przeszłość. Amazon dobrze zabezpieczył oprogramowanie w wersjach 5.6.X, a co gorsze z każdą aktualizacją (5.6.2, 5.6.5) dochodzą nowe utrudnienia. Skończyły się dobre czasy...

No ale jeśli potrzebujemy samodzielnie ustawić marginesy (domyślne są wg mnie zbyt duże), dodać polskie "ogonki" do klawiatury, uruchomić reflow w PDF-ach czy też wprowadzić jakiekolwiek inne zmiany, to odblokowanie czytnika jest koniecznością.

Co będzie potrzebne?


  • sam czytnik: dowolny z FW 5.6.X (PW 1, PW 2, PW 3, Touch 2014, Voyage...),
  • konwerter USB-TTL: TTL-232RG-VREG1V8-WE (zastępczo może być FTDI Basic 3.3V),
  • program minicom (ewentualnie w Windows HyperTerminal),
  • python lub KindleTool (Archiwum NiLuJe),
  • jailbreak, usbnet i RescuePack (w załączniku).

Przygotowanie:


1) Konfiguracja minicom-a:
Ustawienia portu szeregowego -> Urządzenie szeregowe: /dev/ttyUSB0
Sprzętowa kontrola przepływu: Nie


2) skopiowanie (rozpakowanego) katalogu z załącznika do głównego folderu użytkownika (w Kindle /mnt/us)

3) hasło root do trybu Debug:
python -c 'import hashlib,sys;print "fiona%s" %hashlib.md5("%s\n" %sys.argv[1]).hexdigest()[13:16]' NR_SERYJNY_KINDLE

lub:
kindletool info NR_SERYJNY_KINDLE

Uzyskanie roota:

4) Odnalezienie pinów portu szeregowego (w Voyage oznaczone na zdjęciu).
Po kolei: GND, RxD, TxD. Podłączamy konwerter:
GND <-> GND,
RxD <-> TxD,
TxD <-> RxD

Uwaga! mało miejsca, niewygodny manewr.

5) Restartujemy Kindle i przerywamy autostart (dowolnym klawiszem).
Jak już przejmiemy kontrolę nad uboot'em, ładujemy system Debug:
bootm 0xE41000

a potem kolejno:
Reboot or Disable Diags -> Exit to login prompt

Logujemy się jako:
user: root
password: to uzyskane w punkcie 3.

6) Montujemy główny system:
mount /dev/mmcblk0p1 /mnt/mmc

wchodzimy do niego:
chroot /mnt/mmc

i ustawiamy hasło roota dla systemu main:
/usr/bin/passwd (lub, w innej wersji softu: /usr/sbin/passwd)

Restartujemy czytnik (polecenie reboot).

Wgranie hack'ów:

7) Spokojnie pozwalamy by załadował się główny system Kindle.

Logujemy się jako:
user: root
password: to ustawione w w punkcie 6.

Ustawiamy główny system plików do zapisu
mntroot rw

i instalujemy kolejno:
cd /mnt/us/tools/jb
sh install-bridge.sh

cd /mnt/us/tools/usbnet
sh install.sh

cd /mnt/us/tools/rescue
sh run.ffs

8) Restartujemy czytnik, odpinamy kabelki i składamy wszystko do obudowy.

Podsumowanie:


Od teraz możemy uzyskać prawa root'a uruchamiając na czytniku usbnet – polecenie ;un w polu wyszukiwania i logując się przez SSH:
ifconfig usb0 192.168.15.201 && ssh root@192.168.15.244

* zamiast usb0 system może używać nazwy zmienionej przez udev; odczytamy ją np. wywołując ifconfig -a lub dmesg.

Plik ENABLE_DIAGS w głównym folderze użytkownika (w czytniku) i restart czytnika uruchomi system Debug z włączonym usbnet (za ten stan rzeczy winę ponosi RescuePack).

Samo uruchomienie systemu Debug można też wymusić poleceniem:
idme -d --bootmode diags

Powrót do systemu Main
idme -d --bootmode main

i restart czytnika.


Załącznik:
Kindle Tools

wtorek, 18 sierpnia 2015

Jak i gdzie zamówić Kindle

Słowo przedwstępne:

Nie będzie tutaj prowadzenia małych dziewczynek za rączkę. Tylko konkrety. Z góry zakładam, że osoby tu zaglądające wiedzą co to znaczy rejestracja, e-mail, czy karta płatnicza.

Oficjalne zamówienie do Polski:

To jedyna pewna metoda, do tego by mieć fantastyczną roczną gwarancję. W skrócie polega ona na tym, że jak czytnik nie działa poprawnie to dostajemy nowy. Nieważne czy go utopiliśmy, przejechaliśmy po nim samochodem, czy jest inny powód niepoprawnego działania.

W tym momencie możemy oficjalnie zamawiać na amazon.com następujące czytniki: Po prostu wchodzimy w wybrany link, wybieramy Add to Cart, teraz w zależności od tego czy mamy już konto, czy dopiero zakładamy: logujemy się lub rejestrujemy (uwaga! trzeba podać numer karty płatniczej), wybieramy adres dostawy, opłacamy towar i czekamy na przesyłkę.

Amazon da nam wybór płacenia w dolarach lub złotówkach. Stanowczo nie polecam tej drugiej opcji, bo oferowany kurs przeliczeniowy jest po prostu skandaliczny (stracimy na tym).

Nieoficjalne zamówienia:

Tu w zasadzie nie ma różnicy skąd pochodzi czytnik. Opcje równie (nie)dobre to:

1) zamówienie z amazon.de. Wymagane wsparcie pośrednika, który udostępni nam niemiecki adres. Jednym z popularniejszych jest MailBoxDE.com. Opcja dobra jeśli chcemy przyoszczędzić (najtaniej, ale trzeba pamiętać o dodatkowych kosztach) lub po prostu chcemy czytnik, którego nie ma w wersji międzynarodowej (np. Voyage).

Wybieramy czytnik: Do wyżej wymienionych kwot trzeba jeszcze dodać ok. 12-14 € za fatygę pośrednika. W czasie zakupu podajemy adres do wysyłki udostępniony przez pośrednika i to w zasadzie tyle. Gwarancja dla takich czytników będzie zawsze bezproblemowa, jeśli dysponujemy niemieckim adresem. Jeśli jest inaczej mogą być problemy z realizacją gwarancji, jednak Kindle są mało awaryjne, a różnica w cenie skłania do podjęcia ryzyka. W tym przypadku czytnik nie różni się od takiego kupionego na...

2) Ebay, Allegro itp. Jeśli nie chcemy użerać się z pośrednikiem i ogólnie kombinować z niemieckim oddziałem Amazona, to może być dobra opcja. Warto zwrócić uwagę czy sprzęt znajduje się już w Polsce i czy był dostarczony jako Gift. Jeśli trafimy na wersję niemiecką (ponad 80% aukcji), to mamy czytnik taki sam jak przy zamawianiu z amazon.de. Różnica polega na tym, że pośrednikiem jest wystawiający aukcję, a całość opłacamy w PLN. Cenowo wychodzi nieznacznie drożej. Możemy też trafić na wersję amerykańską – wtedy cena będzie zbliżona od amerykańskiej i może być niższa niż przy zamawianiu indywidualnym (ktoś "zapomni" opłacić VAT, cło i inne "oszustewka"). Gwarancja oczywiście tylko na terenie USA, ale jeśli będzie to czytnik, który oficjalnie ma wersję międzynarodową, to gwarancja też może być międzynarodowa (zależy od indywidualnej decyzji konsultanta, przy czym najczęściej jest ona korzystna dla klienta). Najgorzej jeśli trafimy na wersję japońska – wtedy gwarancji nie mamy, chyba że dysponujemy jakimś adresem w Japonii i tam rejestrujemy czytnik.
Dobrze jest też pilnować by sprzedawca miał pozytywne opinie i ogólnie aukcja spełniała warunki Programu Ochrony Kupujących – tylko tak na wszelki wypadek.

3) Kupno w jakimś sklepie stacjonarnym (lub internetowym) – pojawia się w różnych marketach i dyskontach. Jak cena będzie dobra to można się skusić. Wersja taka sama jak z portalu aukcyjnego (najczęściej niemiecka).

poniedziałek, 17 sierpnia 2015

Prolog

Na tym blogu znajdzie się kilka zapisków dotyczących e-czytników (na dziś wyłącznie Amazon Kindle) oraz e-book'ów od strony twórcy - tu również ukierunkowanie na formaty Kindle, ale "przy okazji" potknę się o EPUB, a także PDF, ODT, RTF i różne inne.

Jeśli chodzi o same czytniki to wyznaję zasadę, że jak czegoś nam brakuje, to musimy sobie to zaimplementować sami. W związku z tym wszystkie moje czytniki są modyfikowane (programowo). Tego też będą dotyczyły wpisy.

Wyznaję zasadę, że poważna publikacja (nawet amatorska) musi opierać się na przejrzystym źródle. Duża "para" pójdzie w takie przygotowanie e-book'ów, by nie było do czego się przyczepić.

Nie używam i nie polecam programów, które robią głęboko idące modyfikacje (czytaj: robią "sieczkę" w kodzie). Najpopularniejszym z tego typu programów jest calibre (strasznie wkurzający typ - bardzo szybko zaśmieca pamięć czytnika - na szczęście umiarkowanie) - stanowczo nie polecam, przynajmniej do konwersji - można natomiast czasami użyć do dodania podziału wyrazów (tylko jeśli nie mamy mniej inwazyjnego narzędzia) czy do zdjęcia DRM. Niemile widziane są też programy (i skrypty), które koniecznie muszą pozostawić wzmiankę o ich użyciu w kodzie.

Środowisko pracy to w 97% Linux z całym dobrodziejstwem konsoli. Pozostałe 3% to OS X i program Kindle Previewer (jedyna metoda na pliki AZK, oraz na wiarygodny podgląd e-book'ów w bezpiecznych warunkach). Czasami mogę też wspomnieć o jakiś programach komercyjnych, które nie mają ani darmowego odpowiednika (dobrej jakości), ani też wersji linuksowej. W tym przypadku środowiskiem pracy także będzie OS X. Użytkownicy OKIEN również skorzystają, bo narzędzia są w zasadzie takie same.

Wpisy będą ukierunkowane na sprawy ściśle techniczne. Mogą się tu także znaleźć jakieś recenzje, komentarze do różnych ruchów na rynku i trochę "prywaty". Stanowczo nie dopuszczam tu rozwodnienia w kierunku przeglądu ofert księgarni, różnych promocji i innych bzdurek, chyba że to będzie jakaś rewolucja, której nie sposób przemilczeć.

Poruszane kwestie kieruję do osób nie bojących się komputera, a dokładniej takich dla których słowo korzeń nie kojarzy się tylko z ogródkiem, a cegła tylko w placem budowy. Dla kompletnie początkujących istnieją w polskiej blogosferze świetne serwisy.