devcamp

Wreszcie jest! Od dawna czekałem na imprezę informatyków w moim mieście. Mam nadzieje, że uda mi się w tym uczestniczyć oraz poznam fajnych ludzi, którzy interesują się tym czym ja.
python ftw!

Wreszcie jest! Od dawna czekałem na imprezę informatyków w moim mieście. Mam nadzieje, że uda mi się w tym uczestniczyć oraz poznam fajnych ludzi, którzy interesują się tym czym ja.
Jakiś czas temu (jeszcze na starym blogu) pisałem, że porzuciłem irssi na rzecz weechata. Weechat jest na serio super, ale brakowało mi dobrego logowania (kilka lat logu w jednym pliku?! – po jakimś czasie nie da się tego czytać). Irssi nie miał działającego last.fm now playing plugin (pobiera dane z last.fm i wywala je w formie /me słucha Artysta – Utwór). Było kilka pluginów, ale żaden mi wtedy nie działał – dzisiaj postanowiłem się trochę pobawić i pomęczyć dalej ten plugin. Udało się, najpierw musiałem doinstalować pakiet libwww-perl a później zmienić trochę regexpa i mam działający plugin do lasteefema. Irssi z np (now playing) i dobrym logowaniem wygrywa. Config można znaleźć pod tym adresem ;-).
Nowa wersja Adium (wg mnie najlepszy komunikator na Mac OS X) – 1.3 wyszła. Zmiany są ogromne i bardzo mi się podobają. Tak jak wcześniej nie działała mi zmiana grup drag&drop, tak teraz działa pięknie. Nowe ikonki GG też są o wiele lepsze niż poprzednie.
Od jakiegoś czasu, gdy z powrotem wróciłem na ekg2 śledzę cały czas zmiany w Adium. Wg mnie jest to najlepszy program do komunikacji i bardzo szybko się rozwija.
Nie mogąc znaleźć dobrego kodera / dekodera Alfabetu Morse’a napisałem sobie własny.
Ma 2 tryby:
Format wejścia / wyjścia:
//-/./.../-/../.—/.//
Czyli:
/ -> odstęp „międzyznakowy”; // -> odstęp „międzywyrazowy”;
Użycie:
python mors.py
Wybranie trybu (0 lub 1)
Podanie tekstu do zakodowania / odkodowania
Źródła:
http://public.pagenoare.pl/mors.py
PS Kod mi się w niektórych miejscach nie podoba, ale nie mogę wymyślić jak napisać to inaczej.
Po przesiadce z apache na lighttpd zabrakło mi osobnej konfiguracji dla każdej strony. Coś jak .htaccess w apache.
Poszperałem, poczytałem i znalazłem bardzo przydatną funkcje configa, mianowicie include_shell. Skoro mogę ustawić w configu output z konsoli, to będąc programistą, czemu by sobie takiego skryptu nie napisać? Teraz pytanie – w czym? Wybór wpadł na basha (łatwe operacje na plikach – cat plik).
Po kliku minutkach pisania miałem gotowy skrypt. Sprawdzał /var/www/*/.rewrite, i jeśli ma więcej niż 0B, to wywala go (catem) na ekran. No dobrze… ale jak ja z każdego pliku zczytam, to to będzie globalnie, tak nie chciałem. Po kilku chwilach myślenia i przeglądania doca, dopisałem do swojego skryptu 3 linie. Taki banalny, lightowy if, który ustawia wartość w zależności od domeny. Kod prezentował się tak:
#!/bin/bash
for i in /var/www/*; do
if [[ -s "$i/.rewrite" ]]; then
a=${i##*/}
echo '$HTTP["host"] =~ "^'${a/./\.}'$" {'
cat "$i/.rewrite";
echo "}";
fi;
done
Umieściłem go w /usr/share/lighttpd/get_rewrites (dając prawa +x), a w /etc/lighttpd/lighttpd.conf dałem regułkę: include_shell „/usr/share/lighttpd/get_rewrites”. Niestety pozostał nadal mały problem – każda zmiana w tym pliku wymaga reload serwera, no ale, przynajmniej jest wg mnie czytelniej ;-).