2008-09-10
Jedną z rzeczy których nie lubię w moim macbooku jest wysoka temperatura gdy
trzymam go na kolanach. Żeby utrzymywać ją w granicach 46°C, używam bardzo
prostej aplikacji napisanej w C,
która wykonywana jest co jakiś czas przez panel awesome. W
zależności od temperatury procesora i szybkości wiatraka, aplikacja zwiększa
bądź zmniejsza jego obroty. Rozwiązanie posiada jednak pewne wady. Przede
wszystkim brak możliwości ręcznego sterowania obrotami. Jakakolwiek zmiana
zostaje szybko zweryfikowana przez program. Do tego dochodzi sposób w jaki jest ...
2008-08-23
Chyba każde IDE umożliwia sprawdzanie poprawności kodu w locie. Ponieważ pisząc
w pośpiechu robię zbyt dużo prostych błędów (ale dowiaduję się o nich
dopiero gdy program wyrzuca nieobsłużony wyjątek), rozejrzałem się za czymś
podobnym dla Vim.
PIDA posiada między innymi
bardzo wygodną wtyczkę wykorzystującą pyflakes.
Czym jest pyflakes? Jest to skrypt napisany w Pythonie, który bez kompilacji
potrafi sprawdzić poprawność kontekstową interesującego nas kodu. Ponieważ od
PIDA czy gVim wolę Vim uruchomionego w xterm, nie pozostało mi nic innego jak ...
2008-08-17
Nie takie C API straszne
Jakiś czas temu, opisałem bardzo prosty przykład modułu Pythona napisanego przy
użyciu boost::python. Według autorów, biblioteka
pozwala na o wiele łatwiejsze pisanie modułów dla Pythona niż standardowe C
API. Ja mimo wszystko postanowiłem
poznać bibliotekę C aby samemu móc to ocenić.
Opisane poniżej przykłady, mimo że staram się jak najprzystępniej opisać każdą
linijkę, nie powinny być traktowane jako tutorial jak pisać w C API . Są to
jedynie proste przykłady, pokazujące jak taki kod może ...
2008-08-02
I Want The Mutt Of Feed Readers
Do tej pory, jako czytnik RSS służyła mi wtyczka do Firefoksa - Feed
Sidebar. Wcześniej
używałem Sage,
ale niestety nie działała ona z Firefox 3.
W poszukiwaniu dobrego czytnika sprawdziłem wiele aplikacji. Najbliżej
ideału był NRSS. Aplikacja napisana w C z
ncurses, od którejś wersji przepisana w dużej części do Pythona. Niestety
brakowało w nim jednej, dość kluczowej funkcjonalności - program nie pamiętał
które wiadomości już przeczytałem (sic!). Zostałem więc z Feed Sidebar.
Przeglądając poranne ...
2008-07-30
Każdy lubi pisać 'jednolinikowce'. Nikt jednak nie lubi ich czytać i nie ma się
co dziwić są brzydkie i nieczytelne.
Pisząc dziś parser PKGBUILDów,
stworzyłem klasę która go reprezentowała, udostępniając metody dla kolejnych
parametrów. Zazwyczaj metoda wyglądała tak:
def parse_pkgname(self, text=None):
return self._parse_simple(r'pkgname=([\-\w]+)', text)
Opcjonalnym argumentem jest text, czyli ciąg znaków, który będzie przetwarzany
zamiast pliku PKGBUILD. Metoda _parse_simple również musi uwzględnić ten
fakt i jeśli text == None, powinna parsować plik. Na początku, żeby ...