Romhacker's Guide to the Galaxy

Życie, wszechświat i cała reszta ;)

Subscribe to RSS feed

pwn2dict 2.4

, , , ...

Po paromiesięcznym przestoju przyszedł czas na kolejną, może nieco drobniejszą niż poprzednim razem, aktualizację pwn2dict. Prawdę mówiąc, zmiany były już gotowe w grudniu, ale przez natłok innych zajęć nie miałem czasu wydać nowej wersji.

Nową funkcją jest wstępny eksport do formatu dictd obsługiwanego między innymi przez program S60Dict. Konwersji do tego nowo dodanego formatu można dokonać za pomocą nowego przełącznika -d / --dictd, analogicznie do formatu tabfile. Korzystając z okazji poprawiłem też jeden drobny bug, który mógł wywołać problemy z indeksem haseł, jeśli z jakiejś przyczyny słownik zawierał puste definicje.

Poza tym, w tak zwanym międzyczasie postanowiłem utworzyć dla skryptu repozytorium na Gitoriousie. Jeśli z jakiegoś powodu potrzebujecie którejś starszej wersji albo chcecie prześledzić zmiany, teraz macie taką możliwość. Umieściłem tam też przetłumaczoną na angielski instrukcję użytkowania skryptu. Podczas prac nad skryptem i tak używałem Gita, więc był to dość oczywisty wybór.

Linki:
pwn2dict, Instrukcja obsługi

pwn2dict 2.3

, , , ...

Minęło ledwie półtora tygodnia od poprzedniej wersji, a już mam dla was kolejną i jest to aktualizacja dość znaczna!

Otóż jeden z czytelników zgłosił bowiem problem z bazami rosyjsko-polskiego słownika, uniemożliwiający otwarcie niektórych haseł. Co ciekawe, problem występował tylko pod StarDictem, ale nie pod GoldenDictem. Otóż, okazuje się, że mój kod sortujący hasła przez drobne niedopatrzenie układał hasła nieco inaczej niż tego oczekuje StarDict. Problem na dobrą sprawę nie występował przy polskich i łacińskich znakach, ale przy cyrylicy już tak. Potem okazało się, że podobny problem dotyka również umlautów w niemiecko-polskim słowniku (o którym więcej za chwilę).

Sama tamta zmiana jest moim zdaniem na tyle istotna, żeby podbić numer wersji, ale na tym jeszcze nie koniec! Poprawiając tamten błąd dostałem też weny do uproszczenia kawałków kodu zapewniającego działanie pod obydwoma wersjami Pythona, dzięki czemu skrypt jest trochę ładniejszy smile

Korzystając z dobrej passy przyśpieszyłem też kod formatujący hasła i definicje. Teraz standardowe encje nie są ręcznie formatowane. Skrypt zmalał o jakieś 150 linii i zyskał do 14% szybkości, jeśli wierzyć testom.

Na koniec (last but not least), dzięki wymianie zrzutów ekranu i fragmentów haseł z czytelnikiem (podziękowania dla Przemysława Kaplona) dodałem też wsparcie dla (jeszcze ciepłego!) niemiecko-polskiego i polsko-niemieckiego słownika PWN!

Potraktujcie to jako świąteczny prezent ode mnie smile

Skrócona lista zmian:
* Prawidłowe sortowanie haseł słownika rosyjsko-polskiego i niemiecko-polskiego w StarDict
* Optymalizacja szybkości - do 14% szybciej
* Obsługa niemiecko-polskiego i polsko-niemieckiego słownika PWN

Linki:
pwn2dict, Instrukcja obsługi

GCC 4.5.1

, , ,

Jakieś trzy tygodnie temu po uprzednim przestudiowaniu listy otwartych bugów postanowiłem zaktualizować GCC do wersji 4.5.1 i przekompilować system. Pamiętając burzliwą aktualizację do 4.1 i nieco mniej burzliwą do 4.3, spodziewałem się wielu kłód rzuconych pod nogi. Tymczasem była to prawdopodobnie najbardziej bezbolesna aktualizacja kompilatora, jaką kiedykolwiek przeprowadzałem. Może miałem dużo szczęścia, a może trafiłem po prostu na właściwy moment, ale z radością donoszę, że ŻADEN spośród ponad 950 pakietów w moim systemie nie wysypał się z powodu nowego GCC. Jedynym pakietem, który padł była stepmania w wersji cvs z zaprzyjaźnionego overlaya, a przyczyną usterki były zmiany w API ffmpeg, nie zaś zmiany w nowej wersji GCC. Cóż, wersja stabilna z portage i tak działa lepiej smile Krótko mówiąc, aktualizacja poszła jak po maśle. Nie zauważyłem w systemie żadnych niepokojących objawów. Nie uraczyłem też żadnych ewidentnych zysków z aktualizacji, ale cóż... smile

pwn2dict 2.2

, , , ...

Prawie równo pół roku od ostatniej aktualizacji udostępniam nową wersję skryptu. Główną zmianą jest tym razem dodanie pełnego wsparcia dla formatu PWN w wersji 2003, używanego w płytach dołączanych kiedyś do papierowych wersji słowników. Konwersja została sprawdzona na Słowniku Poprawnej Polszczyzny i Słowniku Języka Polskiego PWN (podziękowania dla Jakuba Cholewki za informację zwrotną), a także angielsko-polskim słowniku PWN Oxford 2003. Ponadto zostały poprawione usterki kosmetyczne w słowniku Słowniku Języka Polskiego w wersji dołączonej do Gazety Wyborczej. Jeśli ktoś z was dysponuje którymś z tych słowników i wcześniej nie mógł ich przekonwertować, teraz nic nie powinno stanąć na przeszkodzie smile

Nową wersję można pobrać tutaj bądź tam gdzie zwykle.

Czcionki w Operze 10.50+

, , , ...

Jako użytkownik Opery od wersji 4.x poczułem się mocno zmartwiony niefrasobliwym podejściem deweloperów Opera Software do kwestii czcionek w linuksowej wersji tej przeglądarki. Mniej więcej odkąd zaczęły się ukazywać pierwsze testowe buildy nowej serii Opery, cierpliwie czekam aż czcionki zaczną wyglądać "po ludzku". W różnych miejscach globalnej sieci informatycznej (w tym w komentarzach na blogu Desktop Team) nie brak zgłoszeń, że czcionki wyglądają gorzej niż w Operze 10.10, ale poprawek ani widu ani słychu. Problem dotyczy osób takich jak ja, które korzystają z nieco bardziej wyszukanych ustawień czcionek, konkretnie subpixel hintingu. Przyczyn zaś należy dopatrywać się w rozwodzie nowej serii Opery z Qt na rzecz własnego toolkitu. Wprawdzie deweloperom przyświecał szczytny cel - przyśpieszenie działania przeglądarki i lepsza integracja z różnymi środowiskami, ale w wyniku migracji nie obyło się bez różnych mniej lub bardziej uciążliwych usterek - w tym właśnie związanych z czcionkami. Opóźnienie w pracach nad wersją linuksową dodatkowo zaogniło problem.

W każdym razie, przez długi czas właśnie czcionki zmuszały mnie do pozostania przy Operze 10.1x. Wiedząc jednak, że nie mogę trzymać się jej bez końca, ostatnio zdecydowałem na aktualizację. Oczywiście zgodnie z oczekiwaniami wersja 10.62 nadal ignorowała ustawienia fontconfiga. Doświadczalnie doszedłem do wniosku, że istota problemu tkwi w wymuszaniu natywnego hintingu (BCI) zamiast autohintingu. Który z nich jest lepszy to kwestia gustu, ale osobiście przyzwyczaiłem się do tego, co oferuje autohinter, i na czymkolwiek innym moje oczy odczuwają wyraźne zmęczenie.

Biorąc pod uwagę opieszałość Opera Software i bezużyteczność ustawień fontconfig, postanowiłem zaatakować poziom wyżej - w kodzie źródłowym freetype. Mimo, że pierwszy raz zapuszczałem się w te tereny, sprawa okazała się dość prosta. Kilka linii kodu wystarczyło, żeby wymusić na stałe autohinter. Później dopisałem jeszcze warunek, żeby nie był używany dla grubych fontów (robią się trochę ZA grube).

Nie będzie to w żadnym razie kompletne HOWTO (zakładam, że czytający będą wiedzieli co z tym zrobić), ale oto co zrobiłem:
1) Skompilowałem freetype z zaaplikowaną moją łatką.
2) Skopiowałem /usr/lib/libfreetype.so.6.6.0 z tak spreparowanej paczki w bezpieczne miejsce.
3) W skrypcie /usr/bin/opera przed ostatnią linią dopisałem:
export LD_PRELOAD="/ścieżka/do/załatanego/libfreetype.so"


To może niezbyt eleganckie obejście dało mi w końcu jakąś namiastkę tego, czego szukałem - czcionki, od których nie krwawią mi oczy p Mam wrażenie, że nie wszystko wygląda tak samo jak kiedyś (nowa wersja jakoś inaczej dobiera rozmiary czcionek i nie tylko), ale efekt jest bardzo bliski temu, do czego przywykłem. Mam nadzieję, że komuś te informacje pomogą w uniknięciu wizyty u okulisty smile Tymczasem nadal będę czekał na wersję Opery, w która będzie respektowała bez żadnych obejść ustawienia czcionek.

KDE 4.5 RC1

, , ,

Jak widzicie, nie pisałem tutaj o drugiej becie i dwóch snapshotach, które pojawiły się w międzyczasie. Jednak nie oznacza to, że ich nie testowałem. Bardzo zwięźle podsumowując: prawie jak beta1, ale z paroma irytującymi babolami. Pozwolę sobie więc przedstawić listę ważniejszych zmian w RC1 w stosunku do wersji beta1, puszczając w niepamięć tamte buildy.

Jak więc działa wydana przed paroma dniami wersja RC1?
+ Menu w KDMie znowu działa, dzięki czemu można z niego normalnie korzystać.
+ Ikony oparte na libdbusmenu mają już normalnie działające menusy i wyświetlają się w nich ikony.
+ Plasma nie zapomina już ustawień pulpitu.
+ Linki z historii apletu Pastebin faktycznie działają.

Są to więc drobne, ale istotne zmiany na plus. Nowych bugów nie zauważyłem. Używam tej wersji już zupełnie komfortowo.

pwn2dict 2.1

, , , ...

Pamiętałem, że część was, szanowni użytkownicy, próbowała kiedyś uruchamiać skrypt za pomocą Pythona 3.x i dziwiła się, że nie działa. Ponieważ mam teraz Pythona 3.1 zainstalowanego obok poczciwego 2.6, postanowiłem zająć się tą sprawą. Efektem jest nowa wersja skryptu, która działa z Pythonem 2.6, jak i 3.1. Poza tym nie nanosiłem żadnych zmian w samej funkcjonalności. Skrypt dostępny tam, gdzie zwykle.

KDE 4.5 beta1

, , , ...

Trzy miesiące od wydania pierwszej stabilnej wersji KDE 4.4 mamy już pierwszą betę z serii 4.5. Jak zwykle nie mogłem poskromić ciekawości i skompilowałem ją zaraz po ukazaniu się tarballi smile Czas więc znowu na krótkie wypunktowanie zmian i moich obserwacji.

Plusy:
+ Powiadomienia zajmują mniej miejsca i w końcu działa ich przechowywanie i grupowanie. Wizualnie być może jest jeszcze trochę do poprawy, ale jest to krok w dobrym kierunku.
+ Zasobnik systemowy ma teraz mniej odcinający się od reszty panelu wygląd, co wydaje mi się miłą dla oczu zmianą.
+ Plasmoid "Informacja o urządzeniach" wyświetla się teraz w zasobniku systemowym, dzięki czemu można oszczędzić trochę miejsca na panelu.
+ KRunner również wygląda zgrabniej i działa szybciej.
+ Panel ustawień systemowych ma nowy układ, bez podziału na dwie zakładki i z nieco przemianowanymi i inaczej rozłożonymi panelami. Z początku będzie trudno się przyzwyczaić, ale teraz jest dużo przejrzyściej.
+ Okno wyboru tapety jest teraz dużo przyjemniejsze w użyciu.
+ Dodano jeden nowy efekt pulpitu, Glide, którego prawdę mówiąc nie miałem okazji sprawdzić w akcji.
+ Zapewne przez zmiany w stylu Oxygen zniknął błąd kosmetyczny w smplayerze (śmieci przy wyświetlaniu czasu na pełnym ekranie).

Minusy:
- Ze względu na opóźnienia w portowaniu KMaila do Akonadi nowa beta nie zawiera kdepim (choć nieoficjalnie w Gentoo jest większość paczek). Zostałem więc przy starym KMailu i zależnościach.
- Po aktualizacji zniknęły mi wszystkie ustawienia pulpitu Plasmy. Musiałem od nowa ustawiać tapetę i wrzucać plasmoidy. Na szczęście z panelem nie było takich samych przygód. [UPDATE: Zdaje się, że jest to skutek uboczny nowego zarządzania działaniami. Wystarczyło wybrać odpowiednie działanie w Activities i pulpit wrócił do normy bez potrzeby ustawiania wszystkiego od nowa. Nie zmienia to jednak faktu, że powinno to przebiegać jakoś gładziej.]
- Ponieważ miałem "Informację o urządzeniach" na panelu, a w nowym KDE dodano ten plasmoid do zasobnika systemowego, na dzień dobry miałem podwójne powiadomienia o włożeniu penkluczyka smile Poprawione oczywiście przez usunięcie starej kopii plasmoida.
- Tooltipy z podglądem folderów w "Widoku katalogu" z jakiegoś powodu pokazują tylko nazwę, zawartości już nie. Nie jestem w sumie pewien czy to nie działanie celowe. Stare zachowanie przez długi czas mnie irytowało aż w końcu do niego przywykłem. A teraz będę musiał się najwyraźniej odzwyczajać smile[UPDATE: Okazuje się, że teraz tooltipy pokazują się po naciśnięciu nowej ikonki pod plusem. Czemu jej nie zauważyłem? Używany przeze mnie temat jej nie posiadał, a puste miejsce nie zdradzało jej obecności smile Pomogło skopiowanie widgets/action-overlays.svgz z tematu Air.]
- Nowe Konsole miało mocno popsute menu, zarówno główne jak i to pod prawoklikiem, przez co nie miałem dostępu do podstawowej funkcjonalności. Skończyło się na powrocie do Konsole z KDE 4.4.3. [UPDATE: Kasując zapobiegawczo stare ustawienia Konsole przegapiłem jeden plik konfiguracyjny, sessionui.rc. Po jego usunięciu razem z konsoleui.rc wszystko wyświetla się jak należy.]
- Menu w nowym Klipperze działa tylko po naciśnięciu lewego przycisku (przedtem można było też kliknąć prawym) i uparciu nie chce znikać po kliknięciu na jeden z elementów. Tu również skończyło się na powrocie do starszej wersji. [UPDATE: Podbicie libdbusmenu-qt do wersji 0.3.3 usuwa jeden z problemów, mianowicie niedziałające menu pod prawym przyciskiem. UPDATE 2: Aktualizacja do wersji 4.4.81 rozwiązuje problem z nieznikającym menu.]
- Niektóre ikony zasobnika (przynajmniej te używające nowego standardu) nie chcą zniknąć po zamknięciu programu, do którego należą. Zdarzyło mi się to z nowym Klipperem i Amarokiem.[UPDATE: Okazuje się, że jest to bug w Qt 4.6.2. Aktualizacja do Qt 4.6.3 załatwia sprawę.]
- Menusy w kdmie nie reagują na kliknięcie, przez co są bezużyteczne. Na szczęście rzadko widuję kdma, więc nie jest to dla mnie żaden problem.

Werdykt:
Jak na pierwszą betę, nowe KDE działa dość solidnie. Wiele mniejszych i większych usprawnień sprawia, że praca jest w moim odczuciu wygodniejsza niż w KDE 4.4. Downgrade Konsole i Klippera zasadniczo usuwa wszystkie usterki, które uniemożliwiały mi normalną pracę. O ile kolejne wersje więcej naprawią niż napsują (*khem* KMail2 *khem*), będzie dobrze smile

GCC 4.4.3

, ,

Kilka dni temu lazy_bum natchnął mnie do spróbowania najnowszej wydanej wersji GCC czyli wersji 4.4.3. Zwykle czekam aż kompilator trafi do stable, ale niektóre dystrybucje już jakiś czas używają GCC 4.4, a prawie wszystkie związane bugi na bugs.gentoo.org są od dawna zamknięte. Postanowiłem więc wziąć byka za rogi i wczorajszy dzień zszedł na zwyczajową rekompilację systemu. O dziwo natknąłem się na o wiele mniej przeciwności niż przy aktualizacji do 4.1 czy 4.3. Z powodu niekompatybilności wysypały się tylko 3 pakiety (w tym jeden z wiadomego overlaya, a jeden naprawiony na następny dzień w portage). Ciekawskich informuję, że były to media-sound/gogo, app-i18n/scim-bridge i net-print/hplip. Poza tym nie stwierdziłem żadnych czkawek, a system zdaje się chodzić cokolwiek płynniej. A podobno może być jeszcze lepiej, jeśli dołoży się wsparcie dla graphite. Niewykluczone, że sprawdzę to w najbliższym czasie. Na razie kompilowania czegokolwiek mam po dziurki w nosie smile

Kelogviewer dla KDE4

, , , ...

Jakiś czas temu szukałem programu do przeglądania plików elog z portage. Wiedziałem oczywiście o istnieniu elogviewer, ale chciałem czegoś pod KDE. Bliźniaczy skrypt, kelogviewer, wymagał niestety KDE 3.5 i nie był od dawna aktualizowany. Pomyślałem sobie więc, że warto by go przeportować do KDE4. Ta sztuka, jak widać, mi się udała. Wrzucam go więc tutaj. Przy okazji usunąłem nawet parę wpadek smile

Moje zmiany:
* Kompletny port do PyKDE4 i PyQt4
* Poprawione wyszukiwanie
* Poprawione formatowanie sekcji
* Alfabetycznie posortowane filtry

Link: kelogviewer.py

Uwagi:
* Skrypt wymaga do działania PyKDE4 i PyQt4
* Elogi z paludisa nie są obsługiwane ze względu na nieco inny format
* Skrypt nie był testowany z Pythonem 3