pagenoare's devblog

python ftw!

Entries in the Category “Informatyka”

Adium 1.3

written by pagenoare, on Aug 26, 2008 1:53:10 PM.

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.

Alfabet Morse’a w Pythonie

written by pagenoare, on Aug 19, 2008 3:49:35 PM.

Nie mogąc znaleźć dobrego kodera / dekodera Alfabetu Morse’a napisałem sobie własny.

Ma 2 tryby:

  1. Deoduj (0)
  2. Koduj (1)

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.

Pseudo .htaccess w lighttpd

written by pagenoare, on Jul 31, 2008 6:15:08 PM.

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 ;-).