WTF KDE4?

17 lip

Zastanowiło mnie usuwanie plików w KDE4. A raczej przenoszenie, chociaż usuwanie też nie poraża szybkością. Proste testy naoczne wykonałem. Przed każdym testem stworzyłem 5000 plików:

$ for i in {1..5000}; do touch "$i"; done

I teraz proste eksperymenty:

  • rm -f * — time powiedział że 0.092s total.
  • mc, * (zaznaczenie) i F8 — na oko mniej niż 0.25s.
  • Dolphin/KDE4, S-Del (usuwanie) — około 3s (WTF? 300 razy wolniej niż rm).
  • Dolphin/KDE4, Del (przenoszenie do kosza) — około 121s! WTF³? 12000+ razy wolniej niż rm?. Ile można tracić czasu na rename() i dodanie jakiejś meta-informacji gdzieś tam do jakiegoś pliku?

Więc to stąd biorą się konsolowcy, którzy nie lubią interfejsów graficznych pod GNU…

Kategorie: kpina Tagi Technorati:

Haruhi

28 mar

Od, powiedzmy, dwóch lat próbowałem napisać jakiś syntezator, ale jakoś słabo mi to wychodziło. Przepisywałem od zera ze dwa razy i zmieniałem nazwę z 49 razy. W końcu tak od jakiegoś pół roku otrzymałem w darze flow. Flow się przydał, bo napisałem syntezator od zera znowu, ale tera tak porządnie prawie. W Qt3, potem przeniesiony na Qt4. Potem znaczy nie dawno. Ostatnio nawet daje się Haruhi używać, to też postanowiłem ją trochę rozpublikować bardziej.

Haruhi jest tragicznie niewydajna

Podejrzewam że mało komu uda się bezproblemowo skompilować w ogóle, bo nie zrobiłem żadnych skryptów do wykrywania bibliotek, a takie Qt to w Archu jest w /usr/lib/qt, a w Łubudubu już gdzieś indziej i trzeba grzebać w Makefile.sources, żeby zmienić. No chyba że się odpali wersję binarną (ale to jest cheating!). Presetów żadnych nie dostarczam. A bo mi się jeszcze nie chce, bo to trzeba jakoś przemyśleć, posortować, zdecydować. Należy sobie samemu skonfigurować.

Ani manuala, ani helpu — no nic!

Po uruchomieniu trzeba sobie wejść w Menu/Show event backend i skonfigurować wejścia MIDI. Potem pozostaje dodać unit Mikuru przyciskiem po prawej na dole, porobić jakieś połączenia na karcie Connections… i przy dużej dawce szczęścia będzie słychać jakiś dźwięk.

Haruhi jest dopiero w powikłaniach… w powijakach!

Zamów już dziś! http://haruhi.mulabs.org/

Gdzieś tam na stronie głównej wala się nawet jakieś demko, które złożyłem po kątach z jakichś starych nagrań. Kto żyw niech sprawdzi czy mu się uruchamia, a ja idę zjeść coś, wypiję kolę i napiszę jutro rano co jadłem na śniadanie. A potem wrócę do identyfikowania bugów, bo znowu jakiś znalazłem.

Wreszcie

24 sty

Muszę się pochwalić. Dziś czuję, że nadszedł ten dzień. Po wielu latach ciężkich robót i mizernych efektów oświadczam, że wreszcie umiem programować.

Co prawda bardzo słabo jeszcze, ale ciągle się uczę.

Kategorie: ogólne programowanie

Nieużywalność

27 gru

Jak poszedłem do trochę nowszej pracy, to przyszło mi zainstalować tam sobie Ubuntu. Bo na wiki są przykłady do Ubuntu, bo wszyscy mają już doświadczenie, itp, itd. No dobra, czemu nie. A jak Ubuntu to Gnome, bo KDE4 zupełnie mi nie odpowiada. A jak Gnome to nauka nowych rzeczy, bo po prostu inne środowisko, albo po prostu nie da się niektórych ustawić. To poużywałem i po krótkim czasie miałem listę rzeczy, które utrudniają mi pracę.

A jezcze wyjaśnienie słowa, którego przypadkiem użyłem w tytule: używalność jest jak jadalność. Da się używać, da się jeść. A użyteczność to synonim słowa przydatność. Niewygodny serwis może być jak najbardziej użyteczny (świetnie robi co ma robić, przydaje się), ale może być kompletnie nieużywalny (trudny w obsłudze). Używalność = usability, użyteczność = usefulness.

Na początek menu z listą programów w Gnome. Ktoś miał iście bajerancki pomysł, żeby zawsze na początku wyświetlać okna z bieżącego pulpitu. Niby pro-user, ale… nigdy przez to nie mogę znaleźć okna, którego szukam. Zawsze muszę skanować listę i skupiać się na tym, czego szukam, bo menu w zależności od aktywnego pulpitu wyświetla programy w innej kolejności. Inaczej mówiąc: muszę cały czas pamiętać, na którym pulpicie jestem, zamiast co na którym pulpicie mam. Ja pamiętam, że: 1 = vimy, 2 = przeglądarki, 3 = komunikacja, 4 = inne śmieci. Nie odwrotnie. A menu mi pokazuje radośnie np. Pulpit 3, potem 1, 2, 4. Albo Pulpit 2, potem 1, 3, 4.

Metacity. Mam okno jakieś w tle (np. KMaila), łapię za Nautilusa, biorę trzy pliki na krzyż i chcę przeciągnąć. Nie mogę, bo Nautilus zasłania tę właściwą część okna wiadomości. No to Alt-tab… Ale w KDE, bo w Gnome nie działa. Jak coś „dragnę”, to Alt-tab przestaje działać bo tak. Dlaczego?

Metacity/przełącznik programów pod Alt-tab. KDE 3.5 pięknym przykładem jak to powinno być zrobione: lista pionowa, ikony po lewej, po prawej wszystkie tytuły od razu widoczne. Dodatkowo mogę kliknąć myszą we właściwy, jeśli akurat mam rękę na niej — nie muszę doklikiwać 9 razy tabem. W Metacity? Lista pozioma samych ikon. Wyświetlany tytuł tylko bieżącej ikony — rewelacja. Jeśli mam 5 Vimów, to muszę „tabować” i czytać za każdym razem podpisy. Kliknięcie myszą w przełącznik okien oczywiście nie działa. Ktoś mówił, że Gnome jest pisane żeby było proste? To miał rację. Proste, ale nie używalne.

Metacity/przełącznik programów ala Compiz, z miniaturkami. Ekstra bajer, tylko że te miniaturki niczego mi nie przypominają, bo każda wygląda średnio tak samo. Jeszcze gorzej nawet z np. Firefoksem, bo z każdą ostatnio zostawioną kartą miniaturka będzie wyglądała inaczej. Podobnie ma się sprawa z miniaturkami obrazów w GIMP-ie, które są używane jako ikony otwartych okien. Raz że i tak nic na takim pyrtku nie widać, dwa że dziwi się człowiek tylko „co to za jakieś śmieci mi się pouruchamiały?”

Metacity config: zmiana rozmiaru okna środkowym przyciskiem: „kup se myszę trzyprzyciskową, nie są drogie”. Już lecę do sklepu normalnie. Raz że klawisz-rolka jest niewygodny, bo w każdej myszy ciężej się wciska niż pozostałe, dwa — kto normalny będzie zmieniał myszę dla środowiska? Trzy: to jest zahardkodowane. Chcesz zmienić — przekompiluj.

KWin z KDE4/przełącznik okien¹. W KDE4 ktoś pomyślał, że doda ekstra bajer w postaci płynnie przesuwającego się podświetlenia. Tzn. przesuwającego się z opóźnieniem. Kliknę 5 razy i okazuje się, że zbyt późno puściłem Alt, bo podświetlenie co prawda wskazywało na właściwy program gdy puszczałem, to jednak w rzeczywistości jego intencją było wskazywanie na następny. Takie przesunięcie fazowe. Inna kwestia to taka, że z domyślnym tematem tego podświetlenia właściwie nie widać, bo to tylko ramka.

Krunner z KDE4. Wszystko ładnie, pięknie, ekstra, cool, dobrze że się da ustawić inny sposób dopełniania niż ten domyślny (znaczy: dobrze, że nie usunęli tej możliwości z KDE4). Ale gdzie jest opcja „uruchom jako inny użytkownik”?

W miarę nowe Psi. W starym Psi (ja to chyba mam Pedrito) pisałem pierwszą literę i do kilku razy strzałkę. I wskakiwałem pod odpowiedni kontakt. W nowym po wciśnięciu klawisza wyskakuje „filtr”, którego działanie polega na tym, że po wpisaniu i odfiltrowaniu muszę złapać za myszkę i zaznaczyć jeden z odfiltrowanych kontaktów. Bo strzałki nie działają. Do tego na końcu muszę jeszcze ten filtr zamknąć. Było dobrze — zjebali. Choć na pierwszy rzut oka wydawałoby się, że to ficzer.

Tyle listowania. Laikowi takie rzeczy nie sprawią problemu, bo raz, że nie ma swoich przyzwyczajeń, dwa że i tak wszystko robi powoli, bez pośpiechu, bo i tak musi się skupiać na każdej czynności osobno. A mnie po prostu denerwuje, jeśli coś nie działa odpowiednio szybko, albo wprowadza mnie w błąd. Ja „nie mam czasu”.

Z innych wrażeń po przejściu na Gnome'a — jakieś błędy ze schowkiem w Vimie (choć to może być przypadłość Ubuntowego Vima), albo panele, których nie da sie ukryć (minimum 1px muszą mieć ze swojej zasady działania), albo same się pokazują w zupełnie nieoczekiwanych momentach. Albo dziwactwa Ubuntu. W mc zmienili zachowanie klawisza M-o (kopiowanie panelu). Teraz zamiast kopiować wchodzi mi w drugim panelu na katalog, który miałem zaznaczony w pierwszym i przesuwa kursor w pierwszym w dół. PO CHUJ? Może ktoś nie używał M-o, to stwierdził, że niepotrzebne, a zamiast tego da inny skrót, który jemu odpowiada? No dobra, jakby nie patrzeć to jest inna klasa zagadnień. Pomijam.

Z zupełnie innej beczki: tydzień mi zajęło zanim się dowiedziałem jak w Gnome zmienić motyw kursora myszy. Bez guglania. Na początku radziłem sobie przez zmianę za pomocą panelu KDE4, a sposób zmiany w Gnome odkryłem przez przypadek. ;-)

Kończę waćpanny, bo zaraz jadę na pociąg. Szczęśliwej podróży — dziękuję.


¹ Czemu nagle KDE4? Bo zamiast Metacity uruchamiam sobie w Gnome KWina. I tak sprawuje się o niebo lepiej.

Kategorie: kpina ogólne Tagi Technorati:

Buffet Crampon 4052

29 kwi

Nie mam pojęcia jak na nim grać. Ale nie ma takiej rzeczy, której nie można się nauczyć. ;-)

Kategorie: organki+muzyka sprzęt Tagi Technorati:

Uprawnienia plików w Subversion i ziomy

21 kwi

Jakby gdzieś, kiedyś, przypadkiem zdarzyło Wam się, że jakiś ziomal wrzucał do repozytorium pliki z atrybutami wykonywalności, a które owych atrybutów mieć nie powinny i na dodatek chmodowanie+svn ci nie pomaga, to jest na to rada jedna:

Domowy sposób na zrobienie L-ki ze zwykłego obiektywu Canona

04 kwi

Jako że niejeden posiadacz zwykłego obiektywu Canona tylko marzy o tym, żeby dostać do łapek jakąś porządną L-kę¹, nadciągam oto z pomocą.

Kategorie: fotografia Techblog Tagi Technorati:

Bardzo ciężki quiz PHP

02 kwi

W ramach rozluźniania się zrobiliśmy sobie test wiedzy na temat PHP. Test może wydawać się trudny, ale na doświadczonym pisarzu PHP nie zrobi wrażenia.

Kategorie: programowanie quizy Techblog Tagi Technorati:

Rails, javascript_tag, CDATA

26 paź

Standardowy trick używany przez webmasterów do osadzania Javascriptów w plikach XHTML to umieszczanie ich w sekcji CDATA XML-a. Problem w tym, że w HTML-u tego nie ma, więc stosuje się… komentarze:

<script type='text/javascript'>//<![CDATA[
…
//]]></script>

Operator wynikania w PostgreSQL

19 paź

Postanowiłem dodać sobie lukru syntaktycznego do bazy. Operatora wynikania to chyba w żadnym popularnym języku nie ma, bo w końcu x => y daje się zastąpić łatwo za pomocą !x or y, ale moim skromnym zdaniem, nie zawsze taki zapis jest natychmiast czytelny dla kogoś innego niż podmiot liryczny. No i ja, nieznawszy potęgi Postgresa, pisałem do tej pory różne ANDy i ORy, zaciemniając kod. Po przeczytaniu niedawnego wpisu depesza o auto-trimowaniu porównywanych stringów uznałem, że tak być nie musi. ;-)

Do rzeczy. Stworzymy funkcję dwuargumentową służącą jako operator, a potem stworzymy operator =>, który będzie używał tej funkcji.

CREATE FUNCTION operator_wynikania(boolean, boolean) RETURNS boolean as $$
  SELECT NOT $1 OR $2;
$$ LANGUAGE sql IMMUTABLE;

Słówko IMMUTABLE zaświadcza, że funkcja nie modyfikuje bazy i że zawsze zwraca te same wartości dla tych samych argumentów. Taka funkcjonalna funkcja, podpowiadacz dla optymalizatora.

CREATE OPERATOR => (leftarg=boolean, rightarg=boolean, procedure=operator_wynikania);

Finito. Szybko i bezboleśnie, mam nadzieję. Od teraz można się cieszyć prostym zapisem:

CHECK (area IS NOT NULL => (area ~ 'regexp'))

Long live PostgreSQL!
Na pohybel MySQL-owi. :þ

Kategorie: programowanie Techblog Tagi Technorati:

W krajach rozwiniętych…

07 paź

…np. w takiej Austrii, to mają wysoce zaawansowane budki telefoniczne zintegrowane z terminalami dostępowymi do Internetu.

Kategorie: ogólne rotfl

Skarby znikąd

22 wrz

Jak się dowiedzieli nasi fotoreporterzy, w graciarni mieszkania, w którym przebywamy, znalazły się przeróżne skarby, od japońskich papierowych parasolek do wielkiego ametyściora i lampy naftowej. Lampa jeszcze nieodkurzona, ale dzięki temu urok ma taki fajniejszy.

Ametyścior
Lampa z graciarni

Trzeba będzie naftę kupić.

Płaski zachód

Ostatnie zdjęcie not related, jak to na 4chanie mawiają.

Kategorie: ogólne

Ku nauce nutek

17 wrz

Na szybko zrobione. Karty do nauki są nudne. Gdyby tak jeszcze się dało obsłużyć MIDI przez ALSĘ z Javascriptu… ;-)

Nauczator nutek

O niczym. Kompletnie.

17 wrz

Ostatnio zadziwiająco nic się nie dzieje. Nie ma jaj na polibudzie, bo nie nie ma mnie na polibudzie. Urlop dziekański se wziąłem na sam koniec studiów, co poszło zadziwiająco łatwo. Aż zbyt łatwo. A parę dni temu złożyliśmy z zergiem podanie o przesunięcie terminu obrony do 30. września (podkreślam do kiedy). Zero problemów.

Co zamiast pisać tu, na Ziemi Joggerowej, to bardziej w mikroblogowanie wpadłem, na Blipie, który odpowiednio użyty wcale nie zaskakuje ludźmi klasy Fotka.pl. Mimo, że właścicielem jest Padu-Padu S.A. Bo jednak tam to se można pojedyncze złote myśli wstawiać, a na Joggera zawsze głupio tak było, krótkie wpisy dawać. A miniblog jakiś taki nijaki jest, i nie pasuje do szablonu. :þ

Jadę (idę) na Bakę. Cóż ja tam będę robił? Zdjęcia se będę pstrykał…

Kategorie: ogólne

Reklama torebek foliowych

19 sie

Ciekawe co na to odpowiedzą ekoterroryści. :D

Kategorie: ogólne