Michał Moroz

Abecadło smoczątka, dziennik niecodzienny

Komunikator nowej ery?

Czy tak będzie wyglądał komunikator przyszłości?

Post `Odpicuj sobie PSI', który ukazał się na blogu Dota skłonił mnie do zastanowienia się nad interfejsem komunikatorów internetowych - czy nie byłoby wygodniej dla użytkownika mieć garść (rozpoznawalnych) awatarów lub zdjęć swoich znajomych zamiast grupy identyfikatorów?

Zaletą tego rozwiązania byłaby szybkość szukania - wystarczy, że zerknę na okno komunikatora i wiem, kto jest dostępny. Kolejną to, że już nigdy nie będę musiał wpisywać identyfikatorów dla osób - to są ich awatary i ich zdjęcia, ja je tylko pobiorę z wizytówek.

Każde rozwiązanie ma swoje wady, także i to. Nie dość, że te awatary muszą mieć duże rozmiary (wystarczająco duże, żebym był w stanie spokojnie rozpoznać to, co się na nich znajduje, to bardzo łatwo będzie można się pomylić, gdy dwie lub więcej osób będą w posiadaniu identycznego awatara. Nie można przyjmować, że każdy będzie się chciał wyróżnić. ;)

Co do tego drugiego problemu, można go rozwiązać wypisując imię/nick kontaktu bezpośrednio pod awatarem. Jednak takie pole będzie zajmowało jeszcze więcej miejsca. W takim wypadku standardowe okienko komunikatora zaczyna być stanowczo zbyt małe. Co więc robić w takim wypadku?

Powyższe pociągnęło za sobą kolejne skojarzenie - gdzieś już widziałem taką listę ikonek z podpisami... No tak, przecież to mój pulpit i katalogi! Gnome domyślnie ma ustawione duże miniaturki dokumentów, wystarczająco duże, żeby można było je rozpoznawać! W takim razie, czy nie można by było tego wykorzystać jako graficznego interfejsu dla klienta Jabbera?

Wyobraźnia podpowiada mi dwa katalogi - jeden zawiera pełną listę użytkowników Jabbera, drugi tylko tych dostępnych. Dla każdego z nich będzie można utworzyć aktywator na pulpicie, czy też w dowolnym innym miejscu (np. katalog `Do zrobienia'). Domyślną akcją będzie rozpoczęcie rozmowy, w menu kontekstowym będziemy mogli znaleźć takie opcje jak przeglądanie historii, edycja dodatkowych notatek, wysłanie wiadomości. Wysyłka wiadomości będzie możliwa także za pomocą przeciągnięcia pliku tekstowego na kontakt, a przeciągnięcie innego pliku spowoduje jego przetransferowanie. Całość dopełnia aplet na pasku zadań wskazujący o nowych wiadomościach.

Prędzej, czy później, ktoś wykorzysta ten, lub podobny pomysł w takiej, czy innej formie. Linuksowcy, możecie być pierwsi! ;)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Linki w ekg2

Korzystanie z linków przesyłanych do ekg2, szczególnie, jeśli komunikator uruchomiliśmy na serwerze i łączymy się z nim poprzez ssh, jest dość niewygodnym zadaniem. O ile korzystając z iksowego terminala możemy zaznaczyć i przekopiować linka (bądź skorzystać z natywnej obsługi w gnome-terminal, czy modyfikacji rxvt), to przy używaniu komunikatora poprzez framebuffer console (czy ma to określenie jakąś polską nazwę?) musielibyśmy przepisywać linki ręcznie, a nie o to nam chodzi.

Z pomocą przyjdzie nam jak zwykle Python, w którym napiszemy prosty wykrywacz przesyłanych nam linków, oraz program urlview napisany przez Michaela Elkinsa, który pozwoli wyświetlić je w banalnie prostym interfejsie opartym na ncurses i uruchomić je za pomocą dowolnej przeglądarki.

Skrypcik znajdzie się tutaj - wszystko co robi, to sprawdzanie za pomocą prostego wyrażenia regularnego, czy w danej wiadomości znajduje się link; jeśli tak, zapisuje go do ~/.ekg2/links.

Następnie edytujemy plik ~/.urlview i wpisujemy tam sposób uruchamiania naszej najlepszej przeglądarki:

Opera (na workstacji):
COMMAND opera -newpage %s
Elinks (na serwerze):
COMMAND elinks %s

Ustawienia te są przykładowe - dla elinksa możnaby postarać się o uruchamianie przeglądarki w nowym oknie screena, o ile nie jest już uruchomiona, w przeciwnym przypadku otwierać tylko nową kartę.

urlview ma jedną, bardzo wielką zaletę - żaden wyświetlony w nim link się nie powtarza - więc gdy dostaniesz dziesięć powiadomień na Joggera, w programie zobaczysz nadal tylko jeden link.

Teraz już wystarczy uruchomić odpowiednie polecenia:

Aby uruchomić urlview na workstacji:
$ ssh serwer cat ~/.ekg2/links | urlview
Aby uruchomić urlview na serwerze:
$ urlview ~/.ekg2/links

Wypadało by także co pewnien czas, na przykład co tydzień lub co miesiąc czyścić plik ~/.ekg2/links.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Wsparcie dla Meebo me w ekg2

Kilka dni temu, Piotr Konieczny opisał komunikator internetowy, oparty na sieci Jabber, z interfejsem w postaci strony www. Nie byłoby w tym nic dziwnego, gdyby nie dwa rozwiązania, niespotykane na innych serwerach. Istnieje możliwość transportu innych jabberowych kontaktów. Jest także widżet o nazwie Meebo me, który umieszczony na stronie www, staje się anonimowym klientem Jabbera, oferującym szybki kontakt z posiadaczem konta Meebo.

Korzystając z komunikatora Meebo, autoryzacja tych kontaktów odbywa się automagicznie, i można niezwykle prosto porozumieć się z nimi. Ale wymaga to otwartej karty przeglądarki. Korzystając z innych komunikatorów1, sprawa już nie wygląda tak prosto. Każdy kontakt trzeba ręcznie zautoryzować, co jest męczące przy większej popularności Twojej strony.

W ekg2, prawdopodonie najlepiej programowalnym komunikatorze obsługującym sieć Jabber, całą czynność da się zautomatyzować. Właśnie dlatego powstał projekt meebome-ekg2.

Skrypt co dziesięć sekund sprawdza, czy pojawił się nowy kontakt, którego serwerem jest guest.meebo.org. Jeśli tak, autoryzuje go i dodaje do listy jako GuestX, gdzie X to pierwszy niezajęty numer. Następnie, jeśli kontakt ten staje się niedostępny, usuwa go z listy. Oczywiście, cała operacja nie narusza innych kontaktów. Bardzo wygodne.

Przykład działania skryptu, zmniejszony

Więcej informacji można znaleźć w pliku README.

  • 1 Aby dodać kontakt Meebo do listy kontaktów w innym komunikatorze, należy użyć JID: login@meebo.org, oraz zezwolić na przesyłanie nieszyfrowanego hasła (ang. allow plaintext logins).
Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Cała prawda o gadu-gadu

Jeśli ktoś nieznajomy odezwie się do Ciebie, zaczynając z wielkiej litery, używając poprawnego języka, możesz być pewnym, że jest botem, który wysyła linki do stron z wirusami - a twórcy tych wirusów niech wyciągną z powyższego wnioski.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

ekg2-20060123 (ekg reaktywacja)

Jeżeli wybrałeś akurat tą paczkę na instalację, tutaj znajdziesz patch, dzięki któremu plugin ncurses w ogóle chce się skompilować. Inna sprawa, że nie musi to działać na wszystkich architekturach. SOA#1. ;)

Na x86 i Ubuntu Hoary'm działa. Na Mandrivie znów coś z perlem nie chce współpracować. Ale perl nie jest mi niezbędny. Poza tym na Mdv przeprowadzałem tylko testowe kompilacje, ekg2 tam nie używam.

Update: Niedziałający perl to tylko wynik mojego niedopatrzenia. Poza tym wersja z CVS kompiluje się poprawnie i zawiera plik ekg/char.h (potrzebny do obsługi Unikodu, nadal w fazie eksperymentalnej), którego to tak brakowało w feralnej paczce.

Update 2: Nie tylko w niej. ekg2-20060124 także wykazuje brak wspomnianego pliku. Wygląda na to, że trzeba będzie zgłosić to na ekg2-devel, jak radzi Zdzichu.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Bdąg. Reboot. Ekg2 i dźwięki.

Wreszcie wyklepałem sobie serwer i udającego, że mu się udaje, klienta. Serwer działa w bardzo prosty sposób - demonizuje się, akceptuje masowo klientów, czyta z rurki fifo to, co do niej napisano i śle to klientom. Klient reaguje na razie na jedno polecenie i jest bardzo kaleki w swoim działaniu. Ale chyba wreszcie będzie okazja, żeby pouczyć się trochę o buforach kołowych.

Po co mi to? No cóż - nie mam nie miałem dźwięku w ekg2. Po pierwsze - przyznam się, ale nie pamiętam, jaki układ leży na płycie głównej, a system nie chce go wykryć. Po drugie - i tak nie mam zewnętrznego miksera audio, a wejście LineIn karty na workstacji jest zajęte przez wyjście tunera tivi (który, żeby bardziej pomieszać również jest kartą). Zamiast kombinować, co by tu zrobić, poszedłem na łatwiznę i przypomniałem sobie co nieco o gniazdkach i demonach.

A dziś, dwie godziny i jakieś czterdzieści minut temu, nastała nowa epoka. Ktoś wyłączył prąd i poprzednia, pięćdziesięciodniowa zakończyła się w tragiczny sposób. Szkoda.

Patrzę na ten tekst - jakiś strasznie niezrozumiały dla normalnego zjadacza chleba jest. Starzeję się, przestaję być przenośny.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

ekg2 i Gajim

Coś mi się widzi, że zacznę używać obu komunikatorów naraz.

ekg2 jest bardzo wygodnym, konsolowym klientem Jabbera i nie tylko, dzięki czemu mogę łączyć się na niego przez ssh. Przy okazji za pomocą screenaction.c ze stronki gophiego i sterowania poprzez rurkę uzyskałem wygodne automagiczne przełączanie statusów. Brakuje mi tylko miksera audio i skonfigurowanej karty dźwiękowej na moim serwerze. :)

Gajim ma za to wsparcie dla utf-8, tematy w wiadomościach (a na razie nie jestem skłonny ćwiczyć protokołu xmpp dla tego jednego ficzera :P ) oraz kilka innych dodatków.

Zauważyłem, że za pomocą obu programów mogę korzystać z transportów na Jabberze. Psi i Gajim się zawsze gryzły o to.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

ekg2 i Ubuntu

Tego się nie spodziewałem. Nie dość, że nie ld nie mógł znaleźć paczek perlowych, to make clean wystrzeliło mój serwer na księżyc, bo nie znalazło folderu, który nie został stworzony z powodu wywalenia się ld.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Skype - otwórz się!

Po ofensywie Google z GoogleTalk, Skype nie czekało długo na odpowiedź. Skype opens its platform to the web. Ciekawe, co na to konkurencja?

Ładnie to wygląda, dokumentacja, specyfikacja. Jest nawet klient w Pytonie pokazujący sposób korzystania z ich API (pod Linuksa oczywiście). Miło, będzie na czym zawiesić oko. :)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Gajimowe antypiksele

Na razie dwa, o ile wpadnę na jakiś fajny pomysł, to zrobię więcej.

gajim.png

Ten antypiksel jest przenaczony dla wszystkich użytkowników Gajima, prosty, normalny.

gajim-svn.png

Ten antypiksel, jak sama nazwa wskazuje, zrobiony został specjalnie dla tych, którzy codziennie ściągają nowe snapy Gajima. Niestety - nie udało mi się wykonać mojego pomysłu, tak, jak bym sobie tego życzył, mam jednak nadzieję, że komuś się spodoba.

Prawdopodobnie jeszcze trochę poeksperymentuję w najbliższym czasie. :)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Notka kontrolna

Niedługo pewnie zaczną się prace nad nową wersją JeMeNa. Na razie cały czas trwają prace przygotowawcze i rozważania nad różnymi aspektami technicznymi.

Możliwym jest, że w najbliższym czasie wystawię publicznie mój szablon joggerowy. Jednak nie jestem tego tak bardzo pewien. Ostatnio nie mogę jakoś zmobilizować sił do niczego.

TODO: Przypatrzeć się GoogleTalkowi w najbliższym czasie, będąc na Win. Kolejny komunikator, korzystający z XMPP, ale ma trochę więcej ficzerów i wydaje się prostszy od typowego (Gajim/Psi).
Requires Windows XP/2000, minimum 56k (broadband recommended)
Że jak? Czyżby nici z komunikatora?

Nowy Gajim nie chce działać pod Windowsami. Nie można odebrać żadnej wiadomości, bo dwuklik na kontakcie daje tylko brzydkie logi z tracebacka. Zostaję przy 0.71.

Czas się zabrać za coś konstruktywnego. :)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Ale o co chodzi

W ulubionym szelu:
$ gajim
Na tym komputerze brakuje pythonowych dowiązań do D-Bus.
Nie można użyć D-Bus.

GLib-ERROR **: file gmain.c: line 1898 (g_main_dispatch): assertion failed: (source)
aborting...
/usr/local/bin/gajim: line 26:  6643 Killed                  python gajim.py $@

Przecież nigdy nic się nie działo? Jak to możliwe?

htop mówi, że mam około 200 procesów u siebie. ps aux dopowiada, że każdy jest uruchomiony po kilka razy, w dodatku używają równych przydziałów pamięci i procesora. users wskazuje na pięciu mnie działających w systemie. who dodaje, że czterech mnie zostało włączonych w tym samym momencie, a pierwszy (pozostały) minutę wcześniej. W /var/log/messages wyraźnie pisze, że ten pierwszy został poprawnie zalogowany. A reszta?

Dzisiejszy dzień mojej workstacji też nie służy. Zobaczym, co bedzie po restarcie.

reboot

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane
Na górę
Reklamy Google