Już dawno miałem o nim napisać notkę jednak zawsze gdzieś mi to uciekało. Ale nie tym razem.
Język dot służy do opisywania schematów za pomocą tekstu. Pewnie brzmi to niewyraźnie, dlatego od razu przejdźmy do konkretów. Aby skorzystać z dobrodziejstw języka dot instalujemy pakiet graphviz.
# pacman -S graphviz
Następnie otwieramy nasz ulubiony edytor tekstu i zaczynamy pisać:
digraph linux {
Linux -> Debian;
Linux -> "Red Hat";
Debian -> Ubuntu;
Debian -> Knoppix;
Ubuntu -> Kubuntu;
Ubuntu -> Edubuntu;
Ubuntu -> Xubuntu;
"Red Hat" -> Mandrake;
"Red Hat" -> Fedora;
Mandrake -> Mandriva;
}
Tak przygotowany plik zapisujemy jako test.dot A teraz najlepsza część, czyli budujemy schemat
$ dot -Tpng test.dot -o test.png
TIP: Pliki możemy eksportować również do innych formatów
W efekcie powinniśmy otrzymać plik test.png, który wygląda tak:

Narysowanie czegoś takiego w Inkscape pewnie zajęło by Wam kilka minut więcej. Najlepszą według mnie zaletą języka dot jest to, składa on się ze zwykłego tekstu, dzięki czemu w łatwy sposób możemy generować te pliki przez różne mechanizmy. Np. jeżeli mamy bazę danych firmy gdzie jakaś tabela obrazuje zależności pomiędzy przełożonymi a podwładnymi wówczas możemy szybko napisać skrypt w PHP czy Pythonie, który z pomocą tej tabeli wygeneruje nam plik dot a następnie utworzy z niego ładny schemat.
Na tym jednak nie koniec. Język dot to prawdziwe bogactwo kształtów grotów i kolorów. Za pomocą kombinacji różnych tych elementów możemy dokładnie zamodelować to co chcemy.

Więcej przykładów znajdziecie w galerii.
Odkąd zagościł u mnie dżin używam tylko jego. Jest szybki i ma wszystko czego mi trzeba. No może prawie wszystko. Brakowało mi tylko snippetów czyli po polsku wstawek. To ostatnia rzecz jakiej brakowało mi do szybkiej i efektywnej pracy. Bo co klepać linie kodu, kiedy można klepnąć tabulator :-)
Co jakiś czas sprawdzałem czy pojawiła się już odpowiednia wtyczka zapewniająca taką funkcjonalność, ale póki co nadal jest to tylko pozycja na liście życzeń. Dopiero wczoraj znalazłem w dokumentacji, że większość jest już zrobiona !
W katalogu w którym zainstalował się Geany znajdziecie plik snippets.conf. U mnie pełna ścieżka to:
/usr/share/geany/snippets.conf
Teraz wystarczy skopiować go do naszego katalogu domowego:
$ cp /usr/share/geany/snippets.conf ~/.geany/
I już możemy dodawać do niego dowolne wstawki. W bloku [Special] możemy zadeklarować słowa kluczowe, których będziemy używać przy tworzeniu naszych wstawek. Np. żeby nie powtarzać często ładnego otwarcia bloku kodu {} deklarujemy to raz:
klamry=\n{\n\t\n}\n
a następnie możemy używać tego słowa kluczowego przy deklaracji naszych wstawek:
[PHP]
for=for ($i = 0; $i < %cursor%; $i++)%klamry%
Na początek zadeklarowałem sobie kilka wstawek z HTML-a. Jeżeli ktoś chce to niech się częstuje:
wget http://citizen.ovh.org/stuff/snippets.conf -O ~/.geany/snippets.conf
Efekt działania
Przeglądając wczoraj AUR wpadła mi w oko pewna nazwa – Paintown – jak się okazało nie na darmo :-)
Po angielsku nazywa się to open source, classic style fighting game, po polsku chodzone mordobicie. Paintown to klasyczna gra z czasów, kiedy gry były jeszcze towarzyskie, czyli grało się w nie z kumplem na tej samej klawiaturze :-) Ehh.. Amiga 500, automaty i setki „roboczogodzin” – to były czasy. Na szczęście powróciły! W Paintown znajdziemy takie tryby gry jak klasyczna planszówka (chodzone mordobicie) i tryb „Vs mode” czyli walka z pojedynczym przeciwnikiem. Grać możemy samemu, w dwie osoby na jednym komputerze czy też przez sieć.
Główni bohaterzy to składanka herosów z różnych gier. Na pierwszym planie Ryu z niezapomnianego Streen Fightera. Brakuje mi tylko Franko ;-)
Wszystko przyprawione klasyczną Amigową muzyką czyli pełen oldschool.
Dla Archowców:
$ yaourt -S paintown
Ostatnio wiele serwisów donosiło o nowym wydaniu (v1.0) programu do obsługi kamer – wxCam. Żaden nie wspomniał jednak że w nowej wersji dodano bardzo interesującą funkcję – nagrywanie przy wykryciu ruchu. Ale po kolei.
W repozytorium Archa paczki nie ma, nie ma też nic w AUR. Trzeba radzić sobie samemu. Główne wymagania to:
Revel kompilujemy standardowo:
# ./configure
# make
# make install
CImg kompilujemy tak:
cd examples
make olinux
w wyniku tego katalog wyżej powstanie nam pliczek CImg.h, który należy skopiować do katalogu ze źródłami wxCam.
wxCam kompilujemy standardowo:
# ./configure
# make
# make install
Gotowe. Teraz polecenie wxcam powinno odpalić nam program.
Klikamy Capture > Show movement detection areas i zaznaczamy interesujący nas obszar
Następnie klikamy Capture > Movement detection i możemy już rozpocząć nagrywanie. W przypadku braku ruchu nagrywanie powinno się automatycznie zatrzymać.
Przykład:
Możliwe jest też zaznaczenie kilku obszarów
Chociaż wxCam nie ma żadnego API do którego można by podpiąć jakiś „alarm” to jednak łatwo to zrobić. Wystarczy tylko napisać skrypt monitorujący wielkość pliku do którego nagrywany jest obraz. Jeżeli plik zacznie się zwiększać oznaczać to będzie, że wykryto ruch i można wykonać jakieś działanie.
Dodatkowo wxCam oferuje kilka filtrów obrazu np.:
i kilka innych
Jeżeli Firefox nie otwiera nam linków typu mailto: w domyślnym kliencie pocztowym, chociaż właściwa aplikacja obsługi poczty jest wskazana w naszym środowisku graficznym, trzeba go do tego zmusić!
Wchodzimy na about:config i tworzymy nowy klucz (string)
nazwa: network.protocol-handler.app.mailto
wartość: /usr/bin/thunderbird
Domyślnie chciał mi otwierać Evolution, ale zobaczyłem to dopiero zmieniając wartość klucza network.protocol-handler.warn-external.mailto na true.
Zaczęło się od tego, że wtrąciłem mały offtopic w temacie o uploaderze dla Picasa Web, kiedy tu znienacka zjawił się Marek Wiewórski z gotowym rozwiązaniem
Ale od początku. Do skryptu potrzebna będzie nam biblioteka flickyou Wystarczy że pobierzemy ją z na dysk, rozpakujemy, wejdziemy do katalogu i wpiszemy:
# python setup.py install
Flickyou do działania potrzebuje też innego modułu pythona — simplejson. Jeżeli więc go jeszcze nie posiadamy to:
# emerge -av dev-python/simplejson
Aby połączyć się z API serwisu Flickr należy zdobyć dwa klucze – key i secret, czego możemy dokonać na tej stronie
Kiedy mamy już klucze tworzymy w katalogu domowym plik .flikr.cfg o następującej strukturze:
[Auth]
api_key: KLUCZ_KEY
secret_key: KLUCZ_SECRET
Oczywiście zamiast KLUCZ_KEY i KLUCZ_SECRET wstawiamy odpowiednie numerki.
Teraz zabierzmy się za skrypt właściwy Nadajmy mu prawa do wykonania:
# chmod +x flickr.py
I przenieśmy do /usr/bin/ aby był widziany jako polecenie
# mv flickr.py /usr/bin/flickr
Od tej chwili mamy prawie działający skrypt. Prawie bo czeka nas jeszcze pierwsze uruchomienie. A wygląda to najprościej jak można.
$ flickr jakis_plik.png
Teraz jeżeli wszystko zrobiliśmy dobrze pozostaje nam potwierdzenie autentyczności programu posługującego się naszym kluczem API. Powinna otworzyć nam się przeglądarka tekstowa a naszym zadaniem jest zalogowanie się do serwisu Flickr i kliknięcie na link zezwalający naszemu skryptowi na korzystanie z API. Dokładniej wygląda to tak, że po zalogowaniu klikamy w jeden redirect a na następnej stronie znajdziemy już na środku link zezwalający. Po całej operacji można już zamknąć przeglądarkę i gotowe! Nasz skrypt powinien już działać jak należy.
Jak widać skrypt do razu podaje nam linki do miniaturki oraz pełnego rozmiaru. Po prostu idealne do zastosowania blogowego lub gdy chcemy szybko komuś pokazać jakiś screen.
Jako że przeniosłem się na gibkie Xfce wypadałoby skorzystać z jego zalet. Sprawa jest banalnie prosta. Odpalamy Thunara i klikamy Edycja > Konfiguruj akcje… Tutaj znajdziemy małe okienko gdzie dodamy upload grafiki na Flickr. Klikamy w plusik i wpisujemy co następuje:
nazwa: Flickr
Opis: Upload grafiki na Flickr
Polecenie: flickr.py %F > /tmp/flickr && geany /tmp/flickr
Ikonka: Ściągamy z http://yourkee.com/icon/flickr.png

Tutaj małe objaśnienie samego polecenia. Symbol %F wstawia nam ścieżki do wszystkich plików, które zaznaczymy w Thunarze. Jednak, jeżeli nie odpalimy całego polecenia w terminalu, to nie będziemy mieli podglądu na wyświetlane linki do miniaturki i pełnej grafiki, co nam się nie podoba ;-) Przekierujemy więc wyjście całego polecania do pliku /tmp/flickr a następnie, po zakończeniu uploadu otwieramy go naszym ulubionym edytorem. W moim przypadku jest to Geany ale równie dobrze możecie zrobić to Geditem czy czymkolwiek innym.
Teraz przechodzimy do zakładki Warunki pokazywania i zaznaczamy tam Pliki graficzne

Integracja zakończona! Teraz w Thunarze po kliknięciu prawym przyciskiem myszy na jakiś plik graficzny w menu kontekstowym powinniśmy widzieć opcję Flickr. Możemy też zaznaczyć w ten sposób kilka plików graficznych i wrzucić je jednocześnie.
Mirage czyli przeglądarka grafiki, o której wspomniałem ostatnio ma podobnie jak Thunar możliwość definiowania własnych czynności. Wystarczy kliknąć Modyfikuj > Własne czynności > Konfiguruj. Na tej samej zasadzie możemy więc dorobić tutaj upload na Flickr. Mamy możliwość, a nawet musimy przypisać każdej nowej akcji odpowiedni skrót klawiszowy. Ot taka dbałość o wygodę użytkownika ;-). Ja sobie przypisałem Ctrl+Shift+F
To by było na tyle. Miłego użytkowania i podziękujcie Markowi
PS. O konsolowym uploaderze do Picasa Web pisałem wcześniej
Niedawno jeszcze użerałem się z F-spotem który jak na złość nie potrafił przejść autoryzacji Picasa. W dodatku biblioteka libgphoto2 z której korzysta F-spot gryzła się z gnomowym automount’erem sprzętu przez co pingwin nie wykrywał mi aparatu. Zmuszony więc byłem odesłać F-spota na /dev/drzewo i poszukać alternatywy.
Z pomocą przyszedł Marcin Sochacki (Wanted) ze swoim bardzo wygodnym w użyciu skryptem opartym o Pythonowe API dla Googla
Skrypt wystarczy zapisać na dysku, następnie wyedytować plik i wpisać swój login oraz hasło
username = 'UZYTKOWNIK'
password = 'HASLO'
Teraz nadajemy skryptowi prawa do wykonywania
$ chmod +x picasa_upload.py
I dla wygody przerzucamy go rootem do /usr/bin aby stał się poleceniem:
# mv picasa_upload.py /usr/bin/picasa
Gotowe. Do dyspozycji mamy teraz polecenie picasa którego składania jest bardzo prosta. Jeżeli chcemy np. wrzucić na Picasa zdjęcia znajdujące w katalogu abc wystarczy że wejdziemy do niego i wklepiemy:
$ cd abc/
$ picasa Zdjecia-z-pikniku *.jpg
Skrypt założy nowy album o nazwie Zdjecia-z-pikniku i wrzuci do niego wszystkie pliki o rozszerzeniu .jpg które znajdują się w katalogu. Pice of cake!
Kilka tygodni temu trafiłem na chyba zapomnianą już stronę Gnome hacks . Po pobieżnym przeglądnięciu zawartości trafiłem na ciekawy skrypt, pokazujący jako tapetę aktualny stan oświetlenia Ziemi. Skrypt wykorzystuje pakiet xplanet (szukajcie w repozytorium swojej dystrybucji).
Skrypt jest dość prosty i można go pobrać z tego miejsca . Wszystko co należy zrobić to zapisać go na dysku, następnie nadać mu uprawnienie do wykonywania
$ chmod +x xplanet-gnome
Następnie wyedytować i zmienić ścieżkę gdzie będzie generowany plik wynikowy
PREFIX=/multimedia/wallpapers/
np. na nasz katalog domowy
PREFIX=/home/UZYTKOWNIK/
Można zmienić też czas aktualizacji na 5 minut
DELAY=5m
Teraz już tylko otwieramy menedżera sesji Gnome. System > Preferencje > Sesje i tam dodajemy nasz skrypt w zakładce programy startowe

Gotowe. Możemy już podziwiać widoki.
Dla Polaków na emigracji: za długość i szerokość geograficzną, dla której generowany jest widok, odpowiadają następujące linie.
LONGITUDE=15
LATITUDE=30
PS. Tak, nie było mnie – pracowałem. Ale wróciłem. W końcu blogowanie odstresowuje ;)
Muszę Wam się przyznać że ostatnio troszkę grzebałem... grzebałem w internecie. No i chociaż przypadkiem to trafiłem w dwa fajne miejsca.
Jabbin to otwarty jabberowy klient VoIP. Przypomina troszkę jabberowego Skype'a. Ostatnio dostała mu się nawet obsługa Googlowej biblioteki libjingle dzięki czemu można swobodnie krzyczeć WaZZUP do userów GTalka. Niestety developerzy Jabbina popełnili już na początku fatalny błąd, który jednak zabrnął tak daleko, że nie ma już od niego odwrotu -- użyli QT.
U mnie się nie zbudowało, poczekam na jakiś ebuild o ile takowy kiedyś nastąpi.
Pygoscelis to nie tylko łacińska nazwa pingwina, zwanego pospolicie Gentoo, ale również bardzo ładny dwupanelowy menadżer plików. Prawdziwy święty gral Linuksa, którego tak wielu niestrudzenie poszukiwało. Co prawda nie potrafi jeszcze radzić sobie z FTP ale to tylko kwestia bardzo niedalekiej przyszłości.
Swoją drogą tak właśnie powinny wyglądać strony różnych projekcików. Nic tylko ekran lizać.
Wczoraj pojawiła się nowa wersja bardzo fajnego programiku o nazwie gPHPEdit do kodowania w PHP-ie, HTML-u, CSS-ie jak i SQL-u.
Wersja ta co prawda reklamowana jest jako Version 1.0 Beta 1 ale w rzeczywistości jest to 0.9.91. Co prawda nie ma ona nowych ficzerów a jest jedynie, jak pisze Andy Jeffries - główny developer, wersją starająca się uporać z wszystkimi dotychczasowymi błędami, aby wersja 1.0 była już programem w pełni używalnym.
Użytkownicy Gentoo mogą mieć problem z kompilacją, która wysypuje się bez większych powodów. Rozwiązanie znalazłem na bugs.gentoo.org. Trzeba po prostu zmienić wartość zmiennej MAKEOPTS, która to definiuje ilość równoległych kompilacji przeprowadzanych podczas przygotowania pakietu.
MAKEOPTS="-j1" emerge -av gphpedit
Mi osobiście najbardziej w gPHPEdit podoba się logiczne zwijanie składni, czyli tzw. code folding, czym nie dysponuje jeszcze gedit
Pomyślałem sobie że wrzucę bo może ktoś jeszcze tego nie widział. LinuxDC++ to bardzo ładny i sprawny klient sieci Direct Connect zbudowany w GTK. Już nie trzeba męczyć się ze startym Valknut'em.
Co prawda nie ma go jeszcze w Portage ale jest już zgłoszony i powinien pojawić się lada dzień. Do tego czasu ebuildy można pobrać z:
http://dx.homelinux.org/gentoo/portage-overlay/net-p2p/dcpp/
Dziś ostatecznie pożegnałem się z Rhytmbox'em po czym kupiłem mu bilet powrotny (emerge -C) i tyle go widziałem. Jego miejsce zajął Quodlibet. Dlaczego? A no z pięciu głównych powodów:
Zaciekawiony dzisiejszym newsem GuessWhy'a postanowiłem sprawdzić jak wygląda mundial oglądany w trybie ASCII. Zgodnie z opisem na stronie 10 minut przed początkiem rzuciłem na konsolę magiczne zaklęcie.
nc ascii-wm.net 2006
Moim oczom ukazały się takie oto obrazki.
Telnetowcy mogą rzucić telnet ascii-wm.net 2006 Obraz idzie na żywo i równiutko z tym co TV. Może rozdzielczość nie jest zadowalająca zwłaszcza przy ujęciach z góry, ale ciekawostka jest niewątpliwa :)
1. Swiftfox - czyli Firefox skompilowany na konkretny procesor. Faktycznie, różnicę widać.
2. Xubuntu - czyli Ubuntu podane w sosie Xfce. Posadziłem na Pentium 466 i śmiga szybciutko.
3. Odkryłem że IE obsługuje jednak margin: 0 auto;, trzeba tylko wsadzić odpowiedni docktype <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Graliście kiedyś w Quake'a czy inną lepszą strzelankę? Fajnie używało się konsoli wyskakującej spod ~ tyldy? Oczywiście że fajnie, ale wszystkie one miały jedną zasadniczą wadę - nie obsługiwały bash'a :)
Tilda - Drop Down Terminal for Linux. I czego więcej trzeba? Szybka konsola wyskakująca spod tyldy i równie szybko znikająca.
Wiadomo, że jedna konsola często nie wystarcza, dlatego możemy posługiwać się również zakładkami.
Mamy też zgrabną konfigurację, która z pewnością przystosuję Tildę do naszych własnych potrzeb. Można pozmieniać sobie rozmiar, szerokość, pozycję startową, przezroczystość, wstawić w tło własną grafikę, zmienić czcionkę, pozycję zakładek i wiele innych rzeczy, klawisz wywołania też.
Ja używam matrix'owej wersji pełnoekranowej :)
Możemy mieć również różnie wyglądające tildy podbindowane pod różne klawisze.
Właśnie Gajim zrobił mi straszne świństwo. Skończyłem pisać dłuższą notkę, wciskam wyślij a ten oświadcza mi, że połączenie z serwerem zostało zerwane, a kiedy kliknąłem OK zamknął mi okno wiadomości nie pozostawiając po niej najmniejszego śladu! OMH! Nigdy wcześniej nie przepadła mi notka i to taka długa...
Wpadłem na to przypadkiem no i całe szczęście że wpadłem :] Jak sam nazwa wskazuje jest to Linuksowa odmiana kultowych Wormsów.
Dawno w nic nie grałem, ale to jest świetne. Od razu zapachniało mi to kultowością. No bo jak może być inaczej kiedy mamy pojedynek Firefox Team vs. GNU Team. I do tego znana z Wormsów ciesząca oko grafika. Tylko czekać kiedy będzie można pograć przez internet. Crazy Debians vs. PLD Mad Admin ;)
Nie wszystko jest jeszcze dograne, czasami np po nieudanym rzucenie liną zacinamy się i jedyne co pozostaje to oddać ruch przeciwnikowi. Nie możemy też (jak na razie) pograć z komputerem. Ale to wszystko rewanżuje nam polska wersja językowa, wspaniały interface, duża ilość broni no i oczywiście Linuksowy klimat począwszy do scenerii przez postacie a na broniach skończywszy. Nie będę się rozpisywał, trzeba zagrać samemu!
Witryna gry: http://www.wormux.org
Paczka dla Ubuntu: Klick
Paczki dla wielu innych dystrybucji (nawet dla Windowsa) oraz źródełka też tam znajdziecie, a wszystko na licencji BiJzTW.
Już się nie mogę doczekać...
Niedługo wschodząca gwiazda komunikacji Jabberowej zawita na moim biurku w swej najnowszej odsłonie. Codziennie sprawdzam i zacieram rączki patrząc na wszystko czego mi brakowało:
Mowa oczywiście o nim.