Kilka słów o Redmine

Teraz gdy mamy system gotowy do pracy możemy założyć pierwszy projekt. Na pierwszy rzut oka redmine może przytłaczać mnogością opcji i narzędzi, ale po kilku chwilach staje się prosty i intuicyjny. System daje nam możliwość organizacji kilku niezależnych projektów. Przy każdym projekcie możemy zdefiniować typy zagadnień jak i moduły, domyślnie mamy zagadnienia Zadanie, Błąd i Wsparcie. Moduły możemy wybierać spośród Śledzenie zagadnień, Śledzenie czasu, Komunikaty, Dokumenty, Pliki, Wiki, Fora, Repozytorium, Diagram Gantta, Kalendarz.

Continue reading

Instalacja Redmine na Debianie i serwerze Apache

Poniżej została opisana instalacja na Debianie i Apache, aczkolwiek mamy znacznie więcej możliwości uruchomienia systemu. Na www.redmine.org/wiki/redmine/HowTos zostało opisane wiele sposobów instalacji.

1. Pobieramy źródła z http://www.redmine.org/wiki/redmine/Download. Mamy do wyboru

archiwum tar, repozytorium SVN i GIT

2. Tworzymy użytkownika i bazę danych, w tym przykładzie posłużymy się bazą na MySql.

Continue reading

Konfiguracja eduroam PK na Debianie

Eduroam – międzynarodowy projekt  uczelnianych sieci bezprzewodowych.

Wczoraj udało mi się wreszcie połączyć z siecią eduroam na PK,  na Windowsie jest to dość proste bo raczej nikt nie miał problemu, z linuxem było trochę trudniej, słyszałem od wielu osób, że nie mogą skonfigurować działającego połączenia. Wczorajszy wykład był idealny do testów :) , poniżej małe how-to:

  1. Pierwszym krokiem jest przekonwertowanie certyfikatu z formatu PKCS12 na format PEM, w moim przypadku Kuchnik_Maciej.p12 na Kuchnik_Maciej.pem
     openssl pkcs12 -in Kuchnik_Maciej.p12 -out Kuchnik_Maciej.pem
  2. Następnie musimy stworzyć plik konfiguracyjny dla wpa_suplicant’a, u mnie wygląda on tak:
    network={
    ssid="eduroam"
    key_mgmt=WPA-EAP
    pairwise=CCMP TKIP
    group=CCMP TKIP
    eap=TLS
    #
    #identity
    #
    #wpisz swojego e-maila jakiego podałeś na certyfikacie
    #jeśli jest z domeny pk.edu.pl
    #lub Imie.Nazwisko[at]pk.edu.pl
    identity="mkuchn1@student.pk.edu.pl"
    #
    #client_cert, private_key, private_key_passwd
    #
    #ścieżka do twojego certyfikatu i twojego klucza
    #prywatnego (są w tym samym pliku) oraz hasło do
    #certyfikatu.
    #
    client_cert="/home/maciek/cert/Kuchnik_Maciej.pem"
    private_key="/home/maciek/cert/Kuchnik_Maciej.pem"
    private_key_passwd="HASŁO"
    phase1="peaplabel=0"
    }

    Zapisujemy plik np. pod nazwą wpa_suplicant.conf

  3. Nie pozostało nic innego tylko się połączyć :)
    wpa_supplicant -Dwext -iwlan0 -c /home/maciek/cert/wpa_suplicant.conf

    Gdzie:

    -D to driver karty sieciowej,  w moim przypadku Intel Corporation PRO/Wireless 5100 AGN

    -i to interfejs bezprzewodowy

    -c ścieżka do pliku z configiem

    Jeśli zobaczymy mniej więcej coś takiego to znaczy, że się udało :)

  4. Ostatnią rzeczą do zrobienia jest odpalenie klienta DHCP, aby otrzymać adres:
    dhclient wlan0

Nic odkrywczego w tym poście nie napisałem, ale może komuś się przyda ;)

Moja mała piaskownica ;)

Kilka dni temu pomyślałem, że  postawie sobie jakiegoś apache’a, MySql’a na laptopie, ale doszedłem do wniosku, że nie będę sobie śmiecił w systemie. Z pomocą przyszedł mi VirtualBox. VirtualBoxa miałem juz w systemie, więc pozostało tylko ściągnąć obraz z Debianem. Wybrałem Debiana Lenny bo używam go na serwerach i dość dobrze go znam. Instalacja z obrazu netinstall poszła bezproblemowo.  W kilka minut miałem postawiony system. Oczywiście zrezygnowałem z X’ów i środowiska graficznego bo po co mi one na serwerze :)

Teraz jak mam już swoją małą piaskownicę nie pozostaje nic innego tylko zacząć się w niej bawić :) . W planach mam zabawę z Pythonem, Django i Pylons. Do tego dojdzie pewnie SqlAlchemy i kilka innych rzeczy.  Do moich zabawek dołączy jeszcze SVN.

Dobra koniec tego, idę się bawić…

Konwersja i łączenie plików MP3 z poziomu PHP

Jakiś czas temu zaszła potrzeba sklejenia kilku plików mp3 w jeden. Pierwsze co przyszło mi do głowy to połączenie tych plików za pomocą linuxowego cat’a. Okazało się, że np. Totem odtwarza taki plik normalnie, ale flashowy Flowplayer zatrzymuje się na końcu pierwszego pliku. Zacząłem więc szukać innego rozwiązania. I znalazłem… LAME.  Poniżej kilka przykładów jak to zrobić za pomocą PHP i LAME.

<?
$input_file_1='/home/maciek99/public_html/file1.mp3';
$input_file_2='/home/maciek99/public_html/file2.mp3';
$input_file_3='/home/maciek99/public_html/file3.mp3';
$output_file='/home/maciek99/public_html/output_file.mp3';
$cmd="cat $input_file_1 $input_file_2 $input_file_3| lame -b 128 -m m --mp3input - - > $output_file";
passthru($cmd,$return);

if($return==0){
 echo 'Konwersja przebiegła poprawnie';
}else{
 echo 'Błąd!!!';
}

?>

Ten kawałek kodu łączy pliki „file1.mp3, file2.mp3, file3.mp3″ w jeden plik „output_file.mp3″ i enkoduje do mp3 mono z bitrate’m 128kbps.  LAME i cat jest uruchamiany przez funkcję passthru,  dane wyjściowe z cat’a są przekazywane potokiem do LAME, a LAME zapisuje gotowy plik mp3.

Opcja -b odpowiada za bitrate pliku wynikowego. Dostępne opcje:

32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

Opcja -m odpowiada za typ pliku wynikowego. Dostępne opcje:

-m m           mono
-m s           stereo
-m j           joint stereo
-m f           forced mid/side stereo
-m d           dual (independent) channels
-m i           intensity stereo
-m a           auto

Tryb higher  quality i low quality. Gdy uruchomimy konwersję z parametrem -h kosztem czasu konwersji otrzymamy plik lepszej jakości. Natomiast stosując parametr -f zyskamy na czasie kosztem jakości.

Co się stanie jeśli spróbujemy połączyć plik mono z plikiem stereo?

cat mono.mp3 stereo.mp3 |lame -b 128 --mp3input - ->aa.mp3
LAME 3.98 (beta 7, May  6 2008) 32bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 20094 Hz - 20627 Hz
Encoding  to
Encoding as 44.1 kHz 128 kbps single-ch MPEG-1 Layer III (5.5x) qval=3
bitstream problem: resyncing...
big_values too large! 409
bitstream problem: resyncing...
Error: number of channels has changed in MP3 file - not supported

No właśnie, mamy problem. Należy pamiętać o tym żeby pliki były jednolite.  Jeśli nie są to za pomocą LAME możemy je skonwertować do odpowiedniego formatu. Przykład poniżej.

maciek99@s19:~/public_html$ lame file1.mp3 -m s stereo.mp3 #konwersja do stereo
maciek99@s19:~/public_html$ lame file1.mp3 -m m mono.mp3  # tu konwersja do mono
maciek99@s19:~/public_html$ lame file1.mp3 -b 320 -m m mono.mp3 #a tu konwersja do mono z bitrate 320kbps
maciek99@s19:~/public_html$ lame file1.wav -b 256 -m s stereo.mp3 #konwersja pliku wave do mp3 stereo z bitrate 256kbps

Więcej o LAME na jego stronie domowej lame.sourceforge.net.

Warunkiem zadziałania powyższego przykładu w php,  jest LAME zainstalowany na serwerze na którym uruchamiamy ten kod i konfiguracja PHP pozwalająca użyć funkcji passthru. Jeśli mamy do dyspozycji dedyka to nie ma problemu z instalacją, na hostingu kupionym w linuxpl.com LAME jest dostępny. Jak jest na innych hostingach tego nie wiem bo nie testowałem.

Lenovo Y530 i Debian Squezze

Gdy byłem na etapie poszukiwania laptopa,  zastanawiałem się jak będzie współpracował z Linuxem.  Ostatecznie wybierałem między Lenovo Y530 i Dell Studio. Gdy zobaczyłem oba laptopy obok siebie wybór był prosty. Wybrałem Lenovo ze względu na budowę.  Gdy tylko dostałem przesyłkę pierwszą rzeczą po rozpakowaniu było wywalenie systemu Microsoftu. Łatwo się domyślić,  że następną czynnością było zainstalowanie Linuxa. Wybrałem Debiana bo wcześniej używaliśmy go na serwerach i chciałem sprawdzić jak się sprawdzi na laptopie. Do Debiana przekonała mnie też wcześniejsza praca na Ubuntu. Instalacja Debiana przebiegła bez żadnych problemów.  Ubuntu przekonało mnie również do wyboru GNOME.  Jakoś nigdy nie lubiłem KDE czy innych środowisk typu Fluxbox itp. Dziś po prawie pół roku pracy na tym laptopie z Linuxem mogę powiedzieć, że jest to system stabilny, bezpieczny, wydajny  choć  wymagający trochę większej wiedzy niż np. wspomniane wyżej Ubuntu. Sprzęt dobrze współpracuje z Linuxem, nie było żadnych problemów z uruchomieniem kamery lub czytnika, bluetooth też działa :)   Co do samego sprzętu to również nie mam żadnych zastrzeżeń. Laptop jest solidnie wykonany.  Górna pokrywa się nie „palcuje” :) . Jest troszkę ciężki ale dla mnie to nie był problem, szukałem takiego „pancernego” komputera, a ten właśnie taki jest.