Instalacja Gitweb w Ubuntu
Ostatnio pisałem o rozproszonym systemie kontroli wersji jakim jest Git. Dziś opiszę moje próby uruchomienia na serwerze działającym pod kontrolą Ubuntu aplikacji Gitweb czyli webowego interfejsu pozwalającego na przeglądanie repozytoriów Gita. Gitweb Pierwsze co trzeba zrobić to zainstalować Gitweba:
aptitude install gitwebNastępnie go konfigurujemy edytując plik
/etc/gitweb.conf (zakładamy, że repozytoria Gita znajdują się w katalogu /home/uzytkownik/git):$projectroot = "/home/uzytkownik/git"; $git_temp = "/tmp"; #$home_link = $my_uri || "/"; $home_text = "indextext.html"; $projects_list = $projectroot; $stylesheet = "/gitweb.css"; $logo = "/git-logo.png"; $favicon = "/git-favicon.png";Teraz spróbować można dwóch sposobów serwowania Gitweba: przez nginxa lub Apache’a.Nginx Na swoim serwerze mam mocno okrojonego Apache’a (minimalna ilość aktywnych modułów, spore zmiany w domyślnej konfiguracji), który służy [...] read more »
Git jest git
Rozproszone systemy wersjonowania
Postanowiłem jakiś czas temu sprawdzić jak pracuje się z rozproszonymi systemami kontroli wersji (do tej pory używałem tylko Subversion a więc systemu scentralizowanego). Pierwszym rozproszonym systemem, o którym w ogóle słyszałem był Mercurial ale kiedy zacząłem coś o nim czytać trafiłem od razu na porównania z systemami Git oraz Bazaar. Okazuje się, że nie jest tu tak prosto jak w świecie systemów scentralizowanych gdzie rządzi Subversion, które zastąpiło CVS. Tu systemów jest kilka (trzy najpopularniejsze wymieniłem) i każdy ma swoich zagorzałych fanów i propagatorów. Po przeczytaniu artykułu Git vs. Mercurial i porównania wydajności trzech systemów na stronie Bazaar (z którego wynika, że Git jest najszybszy) oraz po założeniu konta na serwisie GitHub (serwer z bardzo fajnym interfejsem webowym hostujący projekty wykorzystujące Gita) zdecydowałem się zacząć przygodę z rozproszonymi systemami kontroli wersji od Gita właśnie.
read more »Autouzupełnianie komend w bashu
Wiadomo, że dużym ułatwieniem przy pracy w linuksowej konsoli jest klawisz Tab: podwójne wciśnięcie listuje dostępne ścieżki a pojedyncze je uzupełnia oszczędzając nam wpisywania wszystkiego z palca. Można jednak tą funkcjonalność znacznie rozszerzyć i zmusić basha by uzupełniał nam również parametry i komendy konsolowych programów. Na przykład wystarczyłoby wpisać: aptitude i i raz wcisnąć Tab a bash automatycznie uzupełni komendę i na ekranie będziemy mieli: aptitude install Aby mieć tak przyjaznego basha należy zainstalować pakiet bash-completion: aptitude install bash-completion i wyedytować plik /etc/bash.bashrc, trzeba odkomentować w nim linie: if ;then . /etc/bash_completion fi W Ubuntu ten pakiet jest domyślnie zainstalowany i bash jest skonfigurowany, [...] read more »
Blokowanie aktualizacji lub instalacji pakietu w Debianie
Jeśli z jakichś powodów nie chcemy żeby dany pakiet został zauktualizowany podczas aktualizacji systemu możemy wymusić pozostawienie wybranej jego wersji. Należy w tym celu wyedytować plik /etc/apt/preferences i dodać od niego następującą sekcję: Package: nazwa-pakietu Pin: wersja Pin-Priority: 1001 Więcej informacji w tym temacie znaleźć można na http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.pl.html w sekcji “3.10 Jak zachować określone wersje zainstalowanych pakietów”.Nie udało mi się niestety przy pomocy tej metody zablokować pakietu przed instalacją. Aby to zrobić trzeba wykonać następujące polecenie: echo "nazwa-pakietu hold" | dpkg --set-selections Aby przywrócić możliwość instalacji pakietu należy wykonać: echo "nazwa-pakietu install" | dpkg --set-selections
Hackowanie Symbiana
Wprowadzając telefony z Symbianem S60 3rd edition Nokia uznała widać, że użytkownicy jej telefonów są jak dzieci i mogą łatwo coś zepsuć. Postanowiła więc bić po łapach swoich klientów gdy ci chcą zainstalować na telefonie “niezaufane” oprogramowanie. Piję tu oczywiście do tego, że nowe telefony Nokii pozwalają zainstalować tylko oprogramowanie podpisane specjalnymi certyfikatami. Niestety wiele darmowych aplikacji na Symbiana jest niepodpisanych bo ich autorów po prostu nie stać na certyfikat. Tak więc Nokia pośrednio blokuje nam dostęp do wielu przydatnych programów. Osobiście wkurza mnie to, że blokuje mi się możliwość zainstalowania tego co chcę na MOIM telefonie. Na szczęście są zdolni ludzie, którzy potrafią obejść ograniczenia nałożone przez producentów i chwała im za to 
Formatowanie Nokii N81
No i znów jakieś licho mnie podkusiło i zainstalowałem na mojej Nokii N81 Nokia Maps w wersji 2.0 (standardowo w frimware mam wersję 1.2). Już raz to zrobiłem i skończyło się formatem telefonu i teraz sytuacja się powtarza 
lxml – Pythonowy scyzoryk szwajcarski do XMLa
Kumpel polecił mi ostatnio bardzo ciekawą bibliotekę Pythona do XMLa: lxml.Autorzy piszą:
lxml is the most feature-rich and easy-to-use library for working with XML and HTML in the Python language.lxml bazuje na bibliotekach libxml2 i libxslt języka C. Istnieją Pythonowe bindingi (jak to napisać po Polsku?) do tych bibliotek ale, jak piszą autorzy, są one zbyt bliskie C i ich API jest mało Pythonowe. Poza tym są duże, zagmatwane, nie w pełni udokumentowane i wymagają ręcznego zarządzania pamięcią. Wszystkie te problemy ma załatwić lxml, która implementuje i rozszerza API biblioteki ElementTree (dostępnej w bibliotece standardowej Pythona od wersji 2.5). Po co więc [...] read more »
