Browsing the archives for the programowanie category.

Poprawiamy google app engine helper for Django.

linux, open source, programowanie

Pojawiła się nowa wersja Google App Engine SDK, wersja 1.3.1 – 2010-02-10. W wypadku używania Google App Engine Helper for Django w wersji r100 i wyżej wymienionego SDK pojawia się błąd podczas startu serwera.

import ipaddr
ImportError: No module named ipaddr
Rozwiązanie tego problemu jest proste, należy poprawić plik __init__.py w katalogu z kodem helpera. Znajdujemy fragment
EXTRA_PATHS = [
SDK_PATH,
os.path.join(SDK_PATH, 'lib', 'antlr3'),
os.path.join(SDK_PATH, 'lib', 'django'),
os.path.join(SDK_PATH, 'lib', 'webob'),
os.path.join(SDK_PATH, 'lib', 'yaml', 'lib'),
]
Po czym dodajemy linijkę aby wyglądał tak
EXTRA_PATHS = [
SDK_PATH,
os.path.join(SDK_PATH, 'lib', 'antlr3'),
os.path.join(SDK_PATH, 'lib', 'django'),
os.path.join(SDK_PATH, 'lib', 'ipaddr'),
os.path.join(SDK_PATH, 'lib', 'webob'),
os.path.join(SDK_PATH, 'lib', 'yaml', 'lib'),
]
Ma to być poprawione w nowej wersji helpera r102 ale ja jej jeszcze nie znalazłem a z svn nie chciałem pobierać. Chętnych zapraszam

svn checkout http://google-app-engine-django.googlecode.com/svn/trunk/ google-app-engine-django-read-only

No Comments

Jak dołączyć %changelog, %post_install i %post_uninstall do pliku spec używając distutils i setup.py

fedora, linux, open source, programowanie

Ostatnimi czasy moją głowę zaprzątał problem stworzenia paczki rpm dla mojego programu SynapticsConfig. Długo walczyłem z jednego powodu, chciałem użyć distutils a nie ręcznie tworzyć plik spec. Poniżej przytoczę problemy z którymi się borykałem oraz rozwiązania tych problemów. Wg. mnie dokumentacja distutils i pythona dotycząca zagadnień które poruszam jest dosyć skromna i wszelkie próby znalezienia rozwiązania dawały mierne wyniki. Całe szczęście mamy listy dyskusyjne oraz od źródłowy (fuck you propietary software!).

Continue Reading »

No Comments

W jednym domu stali Emacs, xdebug, httpd i SElinux

open source, programowanie

Tak się dziwnie złożyło, że w pracy złożono mi propozycję grzebania w php. Jako zapalony użytkownik emacsa wiedziałem, że jest możliwość zaprzęgnięcia do pracy emacsa. Nawet wiedziałem, że da się debugować kod php w przyjemniejszy sposób niż var_dump().

Z pomocą przychodzi xdebug, który został mi polecony przez Matlasa. Instalację xdebuga pominę bo jest prosta jak drut i można ją znaleźć w dokumentacji. Najważniejsza i najtrudniejsza rzecz to konfiguracja emacsa (jak zawsze zresztą).

A więc zaczynamy od instalacji GEBEN`a, następnie instalujemy CEDET, otwieramy port 9000 na firewallu. Tak wyposażeni możemy zacząć debugowanie. Ale szczerze mówiąc nie piszę tego posta aby opisać jak skonfigurować emacsa do tego (chyba, że ktoś sobie zażyczy). Powodem dla którego piszę ten post jest SElinux, który blokuje port 9000 dla apache, oczywiście tylko jeśli mamy serwer lokalnie na komputerze.  Poniżej wybrane informacje z raportu SELinux.

Summary:

SELinux is preventing /usr/sbin/httpd from connecting to port 9000.

Allowing Access:

If you want to allow httpd to connect to 9000, you can execute
semanage port -a -t PORT_TYPE -p tcp 9000
where PORT_TYPE is one of the following: http_port_t, ldap_port_t, dns_port_t,
mysqld_port_t, ocsp_port_t, postgresql_port_t, kerberos_port_t.

Rozwiązanie jest proste a mianowicie

semanage port -a -t http_port_t -p tcp 9000

Restart apache`a. Koniec.

2 Comments

Odpicuj backintime

linux, open source, programowanie

Jak wiadomo istnieją dwie grupy użytkowników, pierwsza robi kopie zapasowe a druga zacznie je robić. Ja przeszedłem do pierwszej i po dosyć długich poszukiwaniach znalazłem ciekawy program back-in-time, który załatwia za mnie tworzenie kopii zapasowych. Prosty i łatwy w obsłudze, idealnie nadaje się na desktopy. Jego jedyną wadą wg. mnie jest brak pakowania tworzonych katalogów z kopiami dlatego napisałem mały skrypt w pythonie, który załatwia to za mnie.

Jako argument bierze ścieżkę do katalogu w którym foldery musi spakować i po kolei pakuje do plików tar.bz2. Polecam dodanie do crontaba użytkownika root tak jak back-in-time.

Kod do pobrania, oczywiście dostępny na licencji GPLv3.

  • english
  • polish
3 Comments

Jak tłumaczyć łatwo w PyQt4 aplikacje

linux, programowanie

Interesuję się od pewnego czasu pythonem a od niedawna PyQt4. Dokumentacja jest naprawdę dobre zrobiona, co prawda nie jest to msdn ale jest dobrze. Postanowiłem się zabrać za tłumaczenie aplikacji przy użyciu właśnie PyQt4, może lepiej napisać Qt4. Nie potrafiłem znaleźć nic pomocnego w internecie więc zabrałem sie za czytanie książek i teraz wiem i mam zamiar się podzielić z ludźmi którzy mają taki sam problem jaki miałem ja: brak przykładów i jasnych instrukcji jak użyć funkcji tr() i translate().

Continue Reading »

No Comments

PyQt4 tutorial

programowanie

Zacząłem się uczyć samodzielnie Pythona. Chciałem też poznać troszkę programowania okienek. W ten sposób dotarłem do PyQt4. Na pierwszy rzut oka wygląda przyjemnie i według założeń ma ułatwić wieloplatformowość. Buszując po sieci w poszukiwaniu książek, samouczków znalazłem stronkę którą muszę polecić. Zbiór kilku fajnych tutoriali o PyQt4 i o tym jak tworzyć okienka w Qt Designer. Niestety jest to po angielsku. Ale naprawdę polecam żółtodziobom takim jak ja.

Mały update:

Autor artykułów (Tak się domyślam na podstawie nicka) o których piszę dodał komentarz z linkiem do polskiej wersji poradnika. Polska wersja tutaj.

  • english
  • polish
1 Comment

Moje językowe skojarzenia

programowanie

Zostałem wciągnięty do pewnej gry przez ten post, autorstwa Matlasa. Muszę przedstawić trochę swoich skojarzeń a na końcu wytypuję następnego.

Język Skojarzenie pozytywne Skojarzenie negatywne
Basic Pierwsze programy wpisywane z antycznych już czasopism. Niewiele to miało wspólnego z programowaniem. Potrafiłem zaprogramować głupie testy i działania. Kilka godzin klepania tekstu żeby zagrać w naprawdę prymitywną grę.
Ac logo Śmieszny zółw rysujący na ekranie. Według mnie naprawdę bezużyteczny język i stracone godziny na lekcji.
C Pierwsze naprawdę ciekawe rzeczy, które robiłem na uczelni. Zajęcia z dr Zadorą to totalna porażka. Praktycznie uczyłem się sam a on nic nie wiedział.
C++ Następny rozdział konkretnego programowania. Dużo ciekawsze i o dziwo prostsze. Szczerze mówiąc niewiele pamiętam a dziedziczenie do dzisiaj powoduje wymioty.
C# Ulubiony język, związany z ulubionym tematem: bazami danych. Krowiasty kombajn Visual Studio
ASP .Net Ciekawy język, dosyć prosty do samodzielnej nauki, co uczyniłem. Setki linijek kodu, płatny i dlaczego to nie php. Znowu ten kombajn VS.
AJAX Prosty i efekty ładne. Accordiony i inne dziwaczne stwory z bugami.
Python Właśnie się uczę więc wszystko git. Koszmar z IDE, piszę w konsoli.
JAVA Naprawdę wieloplatformowy, gdyby tylko nie te wersje Javy. Mulaste środowisko programistyczne na windows. NetBeans? czy jakoś tak.
Język Z Bez kompilatorów, na karteczce. Dr Kędzierski i jego kartkóweczki
VBScript Byłem najlepszy w grupie. Badziewny windows, niewietrzona sala przed zajęciami.

Koniec wynurzeń. Następnego wytypuję może Marcina Grelę ? Co Ty na to Marcinie?

3 Comments
« Older Posts