Tech blog

Instalacja Gitweb w Ubuntu

11 April 2010

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 gitweb
Nastę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

10 April 2010

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

2 September 2009

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

22 June 2009

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

8 May 2009

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 :D

read more »

Formatowanie Nokii N81

27 April 2009

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 :(

read more »

lxml – Pythonowy scyzoryk szwajcarski do XMLa

23 April 2009

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 »

Witaj świecie!

3 March 2009

Przetestowałem (pobieżnie) kilka Pythonowych cmsów i systemów blogowych (Skeletonz, PyBlosxom, Frog) i żaden nie przypadł mi do gustu. Pora więc wypróbować PHPowy WordPress :)