Za to Xubuntu...

15 Mar 2012 18:59

W poprzednim poście pisałem o tym jak Ubuntu idzie w złą stronę. I cały czas tak myślę. Dodajmy do tego co pisałem ostatnio, że Ubuntu próbuje się skupić na wszystkim i wszystkich. Już nie wystarczy robić dobrej dystrybucji dla desktopów i laptopów (co i tak już zepsuli). Teraz Ubuntu będzie planuje rozwijać Ubuntu na telewizory, smartfony no i (niestety) serwery.

Jakiś czas temu zauważyłem, że dzielę z Linusem Torvaldsem odczucia dotyczące środowisk graficznych. Podobnie jak on, byłem wielkim fanem KDE 3, potem GNOME 2. Wynalazki takie jak KDE 4, Gnome 3, Gnome Shell czy Unity nie przypadały mi do gustu. Obecnie środowiskiem graficznym, które uznaję za sensowne (podobnie jak Linus) jest XFCE, którego byłem fanem (i użytkownikiem) od dłuższego czasu.

Korzystając z okazji i chęci eksperymentowania, zainstalowałem ostatnio Xubuntu Precise w wersji beta1 i ku mojemu zdziwieniu całość sprawuje się świetnie. Korzystam z szyfrowania katalogu domowego, a mimo wszystko całość zasuwa jak dziki skurczybyk.

Miałem problem z nieładowaniem się pulpitu po zalogowaniu, ale po wymianie lightdm na gdm już jest OK.

Dodam, że korzystam z doka, który nazywa się "Docky" (wywodzącego się z Gnome-Do, lecz teraz jest osobnym projektem), który też robi kawał dobrej roboty.

Podsumowując: cały świat Linuksowy jednak nie zapomniał się w holizmie i są wciąż projekty skupiające się na tym, co powinny robić. I ja to bardzo doceniam. I nie potrzebuję mieć jednej firmy, która dostarczy mi cały system, gdzie absolutnie wszystko będzie do siebie podobne i pasujące. Nie żebym nie chciał, ale to po prostu niemożliwe. Wystarczy, że do każdej rzeczy, którą robię wybiorę sobie jakiś komponent, który mi pasuje, a komunikacja między nimi nie będzie sprawiać problemów.

Filozoficzne myśli ostatnio się mnie trzymają. I wiem, że sporo ludzi docenia to co ja, więc fajnie było się tą myślą podzielić publicznie.

Comments: 0

Ubuntu idzie (według mnie) w złym kierunku

06 Feb 2012 22:31

Dzisiejsza notka będzie wielce narzekająca i pewnie nic nie wnosząca do Waszego życia, ale zauważyłem, że wiele osób ma podobne odczucia, do moich, więc postanowiłem się podzielić swoimi przemyśleniami.

Jakiś czas temu Ubuntu postanowiło postawić na Unity — nowoczesne środowisko graficzne z ultra fajnym dokiem jak i wyszukiwarką programów, które miało być hitem dla tzw. zwykłego użytkownika.

Niestety całe to Unity, pomimo kilku fajnych rzeczy, po prostu nie sprawdza się. I o ile wszystkie pomysły w teorii są bardzo fajne (np. dock a'la Mac OS) to w praktyce są zrealizowane po prostu źle.

Mam wrażenie, że nikt tego nie testował, ponieważ, kiedy pierwszy raz zetknąłem się z tym środowiskiem (a było już ono w Ubuntu w wersji wydanej, nie żadne alfa-bety) to miało mnóstwo błędów.

Najgorsze jest chyba jednak to, że poczyniono w jakimś wyższym celu mnóstwo założeń, jak chyba najbardziej kontrowersyjne, że dock będzie po lewej stronie i nie da się go przesunąć. Można się do tego przyzwyczaić? Można. O ile się korzysta z jednego ekranu. Jako power-user korzystam od dłuższego czasu z dwóch monitorów i ustawiałem je zawsze sobie w pionie: laptop (bo lubię pisać na jego klawiaturze) i nad nim duży "główny" monitor.

Z jakiegoś powodu pionowe ułożenie monitorów w Unity nie jest dobrze wspierane: a to nie da się przenieść okienka, a to maksymalizacja działa nie tak jak trzeba, a to po jakiejś operacji na oknie, wywalają się dekoracje okien, a to restartuje się Xorg. Pięknie! No to ułóżmy monitory w poziomie. Ale moment, przecież dok będzie zawsze po lewej stronie. Tylko na którym monitorze? Mam nadzieję, że na lewym. No ale wolałbym mieć mały monitor po lewej stronie, a dok na większym. Ok, dało się ustawić, tylko teraz znowu nie można przenosić okienek na mały monitor. Brrrrr. Najbardziej dostosowywalny i dostępny system na świecie (GNU/Linux) właśnie rządzi układem monitorów na moim biurku. Świetnie!

Ale do rzeczy. W ostatniej wersji Ubuntu (którą instalowałem moim rodzicom) jak się okazało w ogóle nie przewidziano sesji "Ubuntu classic — no effects"). Środowisko GNOME trzeba doinstalować ręcznie. Po raz kolejny gratulacje.

Powiem głośno: Unity NIE jest jeszcze użyteczne dla normalnego użytkownika. Jest nieintuicyjne i przeczy wszystkim przyzwyczajeniom użytkowników. Interfejs jest nieczytelny. Nawet dla ludzi niestykających się dotąd z komputerami. GNOME czy XFCE jest bardziej zrozumiały niż to Unity.

Następna rzecz. Ekipa Ubuntu testuje obecnie mechanizm przeszukiwania menu aplikacji. Zamiast kliknąć menu "Edycja" a następnie "Skopiuj", będziemy mogli nacisnąć Alt, napisać "Skopiuj" i dostaniemy listę akcji dostępnych przez menu aplikacji z tekstem "Skopiuj" w tym "Edycja > Skopiuj". Jakże przydatne, prawda? Idealnie wpisuje się to w trend upraszczania aplikacji, tak, aby aplikacja mając trzy guzikami i jedno menu rozwijane z czterema następnymi akcjami była jak najbardziej zrozumiała i użyteczna. Na pewno w gąszczu tych 7-miu akcji będę wolał nacisnąć Alt i wpisać co chcę zrobić zastanawiając się jeszcze, czy mam napisać to po polsku, czy po angielsku i czy użyć słowa "Wydrukuj", czy "Drukuj" (bo jeszcze tłumacze się nie dogadali jakiego aspektu używać).

Pewnie zastanawiacie się jaką bym widział przyszłość dla Ubuntu, gdybym nim kierował? Na pewno nie, ale i tak napiszę. Ubuntu nie powinno na siłę tworzyć jakichś nowych ULTRA-innowacyjnych rozwiązań, które pewnie są w zamierzeniu dobre, ale zrozumiemy to dopiero, gdy zaimplementuje je np. Apple. Ubuntu powinno właśnie dobierać to co już istnieje, filtrować i ulepszać. Powinno położyć kres niedopracowanym projektom jak Unity czy GNOME 3 i przeznaczać kasę i czas deweloperów na szlifowanie UI, tak aby korzystanie z Linuksa było naprawdę proste dla zwykłego użytkownika.

Istnieją też ciekawe wyzwania (no bo tamto wyżej przyznam brzmi nudnie). Ubuntu mogłoby zaoferować możliwość uruchamiania aplikacji Androidowych. Byłby to super ruch, powieważ wtedy Ubuntu stałoby się idealnym systemem na wszelakie tablety, netbooki i inne mini-komputery.

Wyobraź sobie: możesz sobie korzystać z Androidowych aplikacji, a kiedy trzeba uruchamiasz sobie najnormalniejszego Gedita, Eclipse'a, Pidgina czy Firefoksa, drukujesz na normalnej drukarce przez USB, wystawiasz serwer FTP albo grasz w Open Arenę.

Technicznie odpalanie Androidowych aplikacji na Linuksie jest możliwe, nawet całkiem. Wystarczy uruchomić wirtualną maszynę DalvikVM a w niej aplikacje APK. Aby działały, trzeba dostarczyć implementację biblioteki standardowej Androida (np. metody interfejsu użytkownika). Można nawet się pokusić o obsługę JNI (czyli APK-ów z fragmentami skompilowanymi do kodu natywnego) z wykorzystaniem QEmu i scratchboksa, aby móc swobodnie mieszać kod dla ARM i x86/amd64.

Skoro się da, to czemu nikt tego nie zrobił? Nikomu się nie chce? A może ktoś jest zbyt zadufany i nie będzie robił takich ustępstw w stronę "wrogiej" technologii? Nie mi oceniać. Mi tylko żal, wiedząc, że rozwiązanie jest tuż za rogiem, że nikomu na tym nie zależy.

Na koniec w związku z tym, że narzekam na domyślnie skonfigurowane Ubuntu podam jak wygląda (na dzień dzisiejszy) Ubuntu, które poleciłbym z czystym sercem znajomym:

  • Baza: Xubuntu, czyli Ubuntu z XFCE zamiast Unity
  • Przeglądarka: Firefox (bo Chrome jest zbyt Google'owy)
  • Klient poczty: Claws-mail (ewentualnie Thunderbird)
  • Komunikator: Pidgin (żaden Empathy nie ma szans dorównać prostotą i po prostu dobrością Pidgina) + wtyczka libnotify do ładnych dymków z wiadomościami
  • Panel: mały panel XFCE z godziną i systrayem (czytaj o tym później)
  • Panel2: Docky z listą aplikacji (polecam bardzo ten dok) a'la Unity, ale zrobiony mniej inwazyjnie, no i można go przesuwać :P
  • Docky potrafi komunikować zdarzenia takie jak przyjście nowego maila, albo nowej wiadomości, jeśli tylko aplikacja ustawi swojemu oknu hinta "URGENT". W claws-mailu jak i w pidginie są do tego odpowiednie ustawienia bądź wtyczki

Taki system działa naprawdę miodnie, jest szybciutki i zrozumiały dla normalnego usera. Jednocześnie nie zmusza go do zrozumienia jakichś skomplikowanych konceptów i po prostu działa. I tak powinno wyglądać Ubuntu.

Boli mnie konieczność posiadania systraya. Uważam, że jego funkcjonalność da się wkomponować w dok (który już potrafi łączyć pasek ze skrótami do aplikacji z listą uruchomionych aplikacji).

Zarówno Unity jak i Docky (i inne doki też) potrafią wyświetlać na ikonce danej aplikacji np. ilość nieprzeczytanych wiadomości, jak również wyświetlać customowe opcje w menu ikonki w doku. Jeden i drugi ma do tego specjalne API i to jest bardzo słabe, bo wymaga instalowania dodatku bądź do doku, bądź do aplikacji, a przecież nie o to chodzi.

Nie od tego jest FreeDesktop.org, żeby każdy programik robił swoje API. Jest potrzeba takiego API — trzeba je ustalić, choćby jakiegoś drafcika, żeby już było wiadomo w jaką stronę to wszystko zmierza, a nie czekać aż już będzie ich 10 (w dowolnie wybranym systemie pozycyjnym). Jest API do śmietnika, jest do miniaturek, niech będzie też do menu doka.

I tak powinno działać Ubuntu. Powinno patrzyć co jest potrzebne, żeby standardowy Linuksowy desktop był bardziej użyteczny i to urzeczywistniać. Pracując z FDO i wypracowując standardowe rozwiązania zamiast narzucać swoje.

Amen.

Comments: 0

BASH HTTP server evolves

31 Jan 2012 18:34

Some time ago, mainly for fun I created a HTTP server in just BASH and netcat. The aim was to instantly and simply share files between computers in local network with a one-line command:

quake@vaio /home/quake/files $ http_server.sh 8000

And voila, the files in directory /home/quake/files are accessible via a web browser (or a wget command) on every computer in local network.

Some time ago I learned I can achieve the same effect using simple Python one-liner:

python -m SimpleHTTPServer

This work for standard Python 2.x installations, for Python 3.x even simpler:

python -m http.server

No need for custom scripts, netcat or other fancy stuff, you need just a standard Python installation and it works ;-).

But recently I faced a challenge of copying many gigabytes of files over network. Copying files over SSH was too slow (data is copied from an ARM machine, not really blazing fast at encryption stuff). I tried to copy files over FTP, but I failed at configuring read-write FTP server in limited time. I wanted to avoid configuring other fancy file servers like Samba/CIFS. I could use NFS, which is both simple to configure and fast enough, but I decided to go more fancy.

I took my old http_server.sh, tweaked it a bit (including replacing lame cat "$file" | wc -c - with stat -c %s to determine file size and replacing gawk with awk in the script) and then created a specialised version of it: tar_server.sh.

tar_server.sh is a HTTP server based on http_server.sh that shows you list of directories inside of directory it was run from and allows you to download the directories as tar files. It does the taring on the fly, so you don't waste the disk space.

It's as simple as:

quake@vaio /home/quake/files $ tar_server.sh 8000

Then you can see the list of tar files to download at http://your_ip:8000/ . Suppose you have a directory /home/quake/files/backup. You can download it on some other machine using:

quake@other-machine /home/someuser/files $ wget http://your_ip:8000/backup.tar

Or to unpack on the fly:

quake@other-machine /home/someuser/files $ wget http://your_ip:8000/backup.tar -O - | tar -x

This way you can mirror part of your filesystem with almost no dedicated tools. The script is quite OS-independent and requires only netcat, awk, tar and stat commands, that are likely to found in any Unix-like systems.

Also the script proves BASH is still very useful tool and adapting simple scripts is easy and FUN :-).

Remember, the scripts (just like original version) can handle only one client at once, so if you want to do parallel stuff, you need to launch more of them on different port each.

Here are the scripts:

http_server.sh:

tar_server.sh:

Comments: 2

Reklamacja wg HTC

15 Nov 2011 20:36

Jak część z moich czytelników już wie, ekran LCD w moim HTC Desire rozlał się, ot tak, bez wyraźnej przyczyny. Rano działał, by po pół godzinie nagle pęknąć i się rozlać. Smutek, ale przecież od tego jest reklamacja, aby takie sprawy rozwiązać. Postanowiłem więc ową usterkę na gwarancji oddać.

Na początku się nieco wahałem, bo jak to wynika z mojego doświadczenia związanego z reklamowanymi produktami, producent zawsze stara się winę zrzucić na użytkownika. Jednak pomyślałem, że skoro firma jest niepolska, to pewnie ma wyższe standardy traktowania klienta, co zresztą potwierdził krótki research w internecie dotyczący wymiany pękniętych ekranów LCD w telefonach tejże firmy na gwarancji, z którego wynikało, że o ile faktycznie nie było w usterce winy klienta, to ową wymianę przeprowadzają.

Zadzwoniłem na hot-line HTC, gdzie opisałem sprawę. Wpierw zaproponowano mi restart ustawień telefonu, no ale co zrobić — procedury — tak samo w Netii zawsze mówili, żeby sprawdzić ustawienia Firewalla Windowsa, nawet jeśli dokładnie opisuję pomiędzy którymi routerami brzegowymi wg traceroute'a giną moje pakiety ;-). No nic, wyjaśniłem, że jestem świadomy, że to usterka mechaniczna, a nie softowa i już się nie upierali przy tym resecie ;-).

Potem poproszono mnie o wykonanie zdjęć ekranu, co uznałem za dobry znak — ktoś faktycznie przejmuje się moim losem i chce się zająć moim smutnym telefonem. Wykonałem zdjęcia, przesłałem i po niedługim czasie dostałem info, że mogą mi załatwić transport do serwisu, gdzie zostanie rozpatrzona gwarancja. Jeśli uszkodzenie wynikło z mojej winy (a wiem najlepiej, że nie), to będę musiał jednak pokryć koszty kuriera. W tym momencie robi się nieco niemiło, bo brzmi to jak typowy zniechęcacz klientów. Na pewno sporo ludzi się wystraszy ewentualnych kosztów, bo przecież nigdy nie wiadomo, czy producent reklamację rozpatrzy pozytywnie, czy nie.

No ale w moim przypadku nie ma się czego bać. Uszkodzenie wyraźnie nie było z mojej winy, skoro nawet tego telefonu w czasie gdy nastąpiło nie dotykałem, więc poprosiłem o zamówienie kuriera. Przygotowałem z 6 kartek różnych dokumentów (opis uszkodzenia, kartę zgłoszenia sprawy — co ciekawe wysłane w formacie TIFF — i kartę adresową dla kuriera), zawinałem telefon w bąbel folię i zostawiłem Marcie, aby przekazała tę paczuszkę kurierowi.

Nie ukrywam, że byłem ciekawy rozwoju sytuacji. Od dzisiaj mam dzięki kumplowi zastępczy telefon, ale jego milczenie podpowiedziało mi, że jeszcze sobie poczekam na jakąś odpowiedź. Jednak po powrocie do domu znalazłem na mailu informację z serwisu. Jednak szybka reakcja. Niestety wiadomość, którą dostałem to ani przyjęcie do serwisu, ani odpowiedź na zgłoszenie gwarancyjne, a kosztorys naprawy! WTF??!?!?!?! Trochę mnie zlewa ile kosztuje naprawa, bo ma za nią zapłacić producent, tak?

Dodatkowo proszą o wypełnienie danych do faktury i w przypadku nieodpowiedzenia w ciągu dni zastrzegają prawo do obciążenia kosztami. No i tu się robi chamsko.

Postanowiłem zadzwonić do HTC i wyjaśnić sprawę. Mówię o co biega, że wysłałem na gwarancji a dostałem kosztorys naprawy do zaakceptowania zamiast decyzji o rozpatrzeniu gwarancji i, że nie było to najmilsze. W infolinii dostałem informację, że skoro dostałem kosztorys to "na pewno" technicy sprawdzili telefon i "zgodnie z wytycznymi firmy HTC" przebadali telefon i stwierdzili, że uszkodzenie mechaniczne zaistniało z mojej winy. To dość daleko idąca dedukcja.

Potem nastąpiła wymiana poglądów na temat pęknięć ekranów LCD ("one NIGDY nie pękają same", ciekawe, a mój niby to co?), później na temat poinformowania mnie na temat kosztów kuriera. Rozmowa prawie nie miała końca, ale ja swoje, oni swoje.

Kilka faktów:

  • Pan, który pracuje w HTC "od wielu lat" jest pewien, że ekrany LCD "NIGDY nie pękają same"
  • Pani, która pracuje z tamtym Panem, która mi załatwiła kuriera dostała zdjęcia telefonu oraz jednoznaczną informację, że ekran LCD jest pęknięty i rozlany
  • ta sama Pani, miała wyraźną informację, że interesuje mnie wyłącznie wymiana ekranu na gwarancji producenta
  • Pani poinformowała mnie, że JEŚLI zostanie stwierdzone, że uszkodzenie nastąpiło z mojej winy, to będę musiał zapłacić za kuriera

Teraz zgodnie (mam nadzieję) z logiką i zdrowym rozsądkiem:

  1. Telefon ma pęknięty LCD, o czym Państwo HTC wiedzą
  2. Skoro ekrany LCD nigdy nie pękają same, to wiadomo, że pęknięcie nastąpiło z mojej winy
  3. Chcę telefon oddać na gwarancji, ale skoro usterka jest z mojej winy, to wiadomo, że gwarancja będzie odrzucona
  4. Jeśli gwarancja będzie odrzucona, to nie ma sensu proponować kuriera z zastrzeżeniem, że zostanę obciążony kosztami JEŚLI to będzie moja wina. Oni już wiedzą, że jest to moja wina, więc od razu wiedzą, że będę musiał zapłacić za kuriera, czego nie chcę, skoro telefon chcę reklamować, a nie naprawić na swój koszt.

To dlaczego to robią? Naciąganie klienta na koszty? Brak komunikacji w zespole? A może jednak każdy element ma z jakimś prawdopodobieństwem pęknąć, więc faktycznie gwarancja może być rozpatrzona pozytywnie — ale wtedy mówienie z całą pewnością, że ekrany LCD nie pękają jest bardzo nieprofesjonalne i nierzetelne.

Może miałem tylko pecha, ale wkurwienie na firmę zostanie i mój następny smartfon to już nie będzie HTC (którego musiałbym szczerze polecić, gdyby nie ten incydent).

Przypomina mi się też jeden raport na temat polskich sprzedawców i kupujących. O ile kupujący w Polsce są jednymi z najuczciwszych na świecie, to sprzedający na każdym kroku kantują kupującego. Ile razy już czytałem o tym, aby omijać polskie oddziały firm z daleka. A ile razy słyszałem o przypadkach dobrego traktowania klienta? Mnóstwo, ale nigdy w Polsce. A mówię o rekompensowaniu wadliwych laptopów PO gwarancji (Sony), wysyłanie baterii do telefonów komórkowych kurierem do domu klienta BEZ konieczności wysyłania dowodu zakupu (chyba Nokia), wymiana sprzętu wyraźnie uszkodzonego przez klienta łącznie z pokryciem kosztów przesyłki (bez konieczności przedstawienia dowodu, że faktycznie tyle to kosztowało) uszkodzonego urządzenia do US czy UK (Amazon).

I przypomina mi się jak raz kupiłem sobie laptopa sprowadzonego z US, wiedząc, że w ramach usterki nie mam żadnej gwarancji. Wtedy stwierdziłem, że szansa, że coś się faktycznie stanie jest niewielka, a ta gwarancja w Polsce jest gówno warta, bo w Polsce zawsze wpierają, że usterka jest winą klienta. Dzisiaj się jeszcze bardziej utwierdziłem w tym przekonaniu.

Comments: 3

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License