Znaczy: do Wilna, tak jak rok temu na EuroPython. Tym razem wybieramy się w większym towarzystwie, a jak podejrzewam reprezentacja Polski też będzie liczniejsza, niż w ubiegłym roku.
Do zobaczenia w Wilnie!
Opublikowany 3 lipca 2008 o 21:32, oznaczony etykietami: python.
Ponieważ PIDA zaczęła mnie wkurzać (co chwilę a to coś działa, a to nie działa), postanowiłem dać szansę KomodoEdit, mocno okrojonej, ale darmowej wersji niezłego Komodo IDE. Ponieważ mój nowy lapek ma 2GB RAM na pokładzie i mocny, dwurdzeniowy procesor, żerność Komodo nie była aż tak wielkim problemem jak dawniej. Obejrzałem dokładnie program i zacząłem zastanawiać się, jak do niego dołączyć to, do czego przyzwyczaiła mnie PIDA, to znaczy integrację z Pyflakes. Dla niezorientowanych: Pyflakes to program do statycznej analizy poprawności kodu Pythona, nieco mniej zaawansowany niż Pylint, jednak jednocześnie nie aż tak inwazyjny (oczywiście wiem, że Pylinta można tak skonfigurować, żeby nie sprawiał wrażenia faszystowskiego narzędzia).
Jak się szybko okazało, nie ma możliwości podpięcia Pyflakes tak, by uruchamiało się przy każdym zapisie bufora, jak dzieje się to w PIDA, jednak dla mnie ważniejsze było to, żeby działało, niż to, żeby działało identycznie. Postanowiłem przypiąć Pyflakes jako narzędzie zewnętrzne w Toolboksie Komodo. Oto skrócona recepta, jak to zrobić, żeby działało ładnie i produkowało fajne wyniki.
-
Toolbox -> Add -> New Command
-
Command (U):
/usr/bin/pyflakes %F
-
Run in: "Command Output Tab"
-
[*] Parse output with:
^(?P<file>.+?):(?P<line>\d+): (?P<content>.*)$
-
[*] Show parsed output as a list
A teraz opis słowno-muzyczny. Z menu Toolbox wybierz Add i następnie z podmenu New Command. Na zakładce Command w nowo otwartym okienku w pole Command wpisz polecenie uruchomienia Pyflakes ze ścieżką bieżącego bufora (u mnie: /usr/bin/pyflakes %F). Z listy Run in wybierz Command Output Tab. Zaznacz pole Parse output with i w pole polecenia parsującego wpisz wyrażenie regularne ^(?P<file>.+?):(?P<line>\d+): (?P<content>.*)$, które podzieli wyjście Pyflakes na 3 części. Zaznacz pole Show parsed output as a list, a Komodo wyświetli wyniki w postaci ładnej listy z 3 kolumnami — dwukrotne kliknięcie na każdej pozycji listy przeniesie kursor do odpowiedniej linii w edytorze.
Po tym wszystkim pozostaje jedynie przypisanie do tego jakiegoś wygodnego skrótu klawiszowego w tym samym okienku na zakładce Key Binding.
Opublikowany 30 czerwca 2008 o 07:54, oznaczony etykietami: programowanie python.
Claudiu Pap, (obecnie już były) portal manager Commune.ro wpisał w komentarzu do mojego pożegnania z Sensisoftem, że spodziewa się w tej sytuacji rychłej śmierci projektu. Bardzo to miłe z jego strony, ale to nie działa w ten sposób.
Wiele razy już byłem ogłaszany człowiekiem, którego nie da się zastąpić i wiele razy okazywało się, że z perspektywy firmy lub projektu nie jest to prawdą. Faktycznie, z pewnej perspektywy jest to prawda, bo każdy człowiek jest unikalny na skalę światową i ma niepowtarzalny zestaw umiejętności, osobowości, charakteru, wiedzy i doświadczeń. Patrząc pod tym kątem to i owszem, próba zastąpienia mnie jest skazana na pewną porażkę. Ale przecież w projekcie nie chodzi o cały ten komplet cech, a jedynie o pewien zestaw cech, który powodował że coś się udawało. Patrząc z tej strony, niezastępowalność nie jest już tak oczywista. Prawdopodobnie będzie trudno znaleźć kogoś, kto będzie w stanie przejąć moje obowiązki w sposób niezauważony, ale nie chodzi nawet o to, żeby się to odbyło w sposób niezauważony. Mój sposób dowodzenia nie był jedynym, który mógł doprowadzić do sukcesu. Przypadek sprawił, że był dość charakterystyczny i ekstremalny, przez co łatwo zapadł w pamięć i szybko został skojarzony z owym sukcesem na zasadzie analogii. Trudno oczekiwać, żeby akurat w tym przypadku (w odróżnieniu od tego, jak reszta świata jest skonstruowana) istniała tylko jedna dobra recepta na powodzenie (abstrahując od stopnia dobrości różnych recept).
Nasze drogi z Sensisoftem rozeszły się i teraz każdy musi sobie poradzić sam. Jestem przekonany, że tak jak ja potrafię zadbać o siebie, Sensisoft będzie w stanie zadbać o przyszły sukces projektu Commune.
Opublikowany 26 czerwca 2008 o 12:19, oznaczony etykietami: praca prawda (1 komentarz).
Kupiliśmy dziś nasz pierwszy samochód. Dobiegając 40-tki, po ponad 10 latach życia po ślubie staliśmy się wreszcie właścicielami własnego pojazdu. W wielkim stresie (pomimo dokładnego sprawdzenia przez osoby postronne) kupiliśmy dzisiaj przyzwoicie wyposażonego Forda Escorta 1.6 16v kombi z 2000 roku, ze 166 000 kilometrów. Do domu dojechał i nawet wszystko, co miało działać (klimatyzacja, yay!) działało. Teraz co paręnaście minut latamy do okna w kuchni, żeby sobie na niego popatrzeć. I w sumie pomimo tego, że nie jest mały, to na naszym parkingu przed blokiem wśród Fordów Mondeo, Opli Omega i Toyot Avensis wygląda bardzo pchełkowato. Ale zmieścimy się w nim, i jeszcze przez parę lat będzie nam w nim wygodnie.
Jutro mam sprawdzić w serwisie, kiedy było wymieniane coś, co się nazywa pasek rozrządu (brzmi poważnie, ale mam pewne wątpliwości) i jaki lano do niego do tej pory olej. A w sobotę wybywamy na wioskę.
Opublikowany 25 czerwca 2008 o 22:51, oznaczony etykietami: rodzinka wozik życie w Wołominie (2 komentarze).
Poprawiono najbardziej denerwujący mnie błąd w Django z ostatnich czasów i dzięki temu wróciło archiwum. Oh, my...
Opublikowany 25 czerwca 2008 o 22:35, oznaczony etykietami: blog django programowanie python (2 komentarze).
Dosłownie w ostatniej chwili zdecydowałem się na zmianę dostawcy hostingu na djangohosting.ch, pomimo że byłem zdecydowany na coś innego. Po sugestii Thomasa (dzięki!) przyjrzałem się usłudze dokładniej i postanowiłem dać szansę. Wykupiłem najtańszą opcję, wypróbowałem one-click-django-installer i oczywiście zameldowałem się po SSH. Już pierwsze pół godziny sesji przekonało mnie, że jest tam o wiele przyjemniej niż na Alwaysdata — nie ma żadnych myków z przestawianiem $HOME, no i zwiększanie opcji jest bardziej granularne (oddzielnie procesy, porty, pamięć i przestrzeń dyskowa), a cała infrastruktura w dużej mierze przypomina to, co jest na MegiTeam.pl, z paroma udogodnieniami:
-
można uruchomić serwer developerski django i w razie problemów mieć dostęp do pełnego tracebacka;
-
pełna kontrola nad uruchamianiem FastCGI;
-
łatwiejszy dostęp do logów Lighttpd (chociaż jest w nich równie mało, jak w logach nginxa na megiteam).
Ogólnie wygląda to bardzo dobrze, a przy tym jest trochę taniej.
Opublikowany 24 czerwca 2008 o 10:40, oznaczony etykietami: django hosting internet megiteam programowanie python (2 komentarze).
Dużo się ostatnio dzieje w Django — co chwilę ktoś commituje zmiany do repozytorium i można odnieść wrażenie, że opublikowanie daty wydania wersji 1.0 obudziło w developerach nowy zapał i chęć do posprintowania na zakończenie wyścigu.
To mylne wrażenie. Przytłaczająca większość pojawiających się w repozytorium zmian to są poprawki w dokumentacji, w docstringach oraz style fixes. A kod poprawiający rzeczywiste problemy czeka sobie na lepsze czasy.
Ten wpis był tytułem ochłodzenia emocji, gdyby ktoś widząc tempo commitów wnioskował z tego, jak dużo i szybko kod w Django jest poprawiany... ;)
Opublikowany 23 czerwca 2008 o 09:13, oznaczony etykietami: django free software / open source programowanie python (2 komentarze).
To był tydzień pełen przemyśleń, ale w końcu doszedłem do jakichś wniosków. Mój najbliższy projekt będę hostował na Alwaysdata. Co prawda całość serwisu jest po francusku, ale jakoś daję sobie z tym radę.
Ujęło mnie to, że jest:
-
tanio (€ 6 za miesiąc w najtańszej opcji);
-
dobry support na forum (po angielsku!);
-
dość duża wolność, jak na shared plan;
-
krótki ping, serwery stoją w OVH w Roubaix (Francja).
W związku z małą ilością dostępnego miejsca na dysku, będę musiał media i uploady na S3, ale nie powinno być to jakoś szczególnie uciążliwe.
Konkurent (djangohosting.ch) przegrał głównie przez zerowy wybór w dziedzinie bazy danych (tylko MySQL, bez PostgreSQL), ale nie była to przegrana autorytatywna. Dam mu szansę następnym razem. ;)
Opublikowany 22 czerwca 2008 o 22:11, oznaczony etykietami: django hosting internet programowanie python (3 komentarze).
Złożyłem szafę. Cały weekend szarpaniny ale półtorametrowa szafa wreszcie stoi. Bolą mnie ręce i nogi, ale cieszę się, że nie będę musiał tego już robić na urlopie. Będę za to musiał robić inne rzeczy, bo wraz z szafą przyjechała prawie 50 kilogramowa komoda...
Na szczęście wpadłem wczoraj na szatański pomysł i kupiłem sobie jakąś wkrętarkę. Bez tego pewnie odpadłyby mi ręce od wkręcania śrub.
Opublikowany 22 czerwca 2008 o 21:33, oznaczony etykietami: rodzinka życie w Wołominie (1 komentarz).