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ć…

1% podatku – Twój wybór, Twoja Wikipedia

W tym roku i mnie fiskus dopadł :)   Swój 1% chciałem przekazać organizacji z którą mam jakiś związek.  Wybrałem Stowarzyszenie Wikimedia Polska, ponieważ często korzystam z zasobów Wikipedii lub Wikibooks. Przekazanie pieniążków jest bardzo proste, wypełniając PIT wpisujemy nazwę i numer KRS danej organizacji i 1% naszego podatku leci do celu :) .  Dane potrzebne przy wypełnianiu PITa znajdziemy na stronie stowarzyszenia.  Inne organizacje możemy znaleźć na stronie opp.ms.gov.pl

LinuxPl.com – opinia

LinuxPl.com oferuje hosting, domeny, serwery VPS i serwery dedykowane.  Mam u nich dwa konta w1gb.  Jedno z nich kupiłem grubo ponad rok temu. Po takim czasie mogę już coś powiedzieć o serwerach i administracji.  Trzeba zwrócić uwagę, że kupując konto o pojemności 2GB za niecałe 50 zł mamy możliwość podpięcia dowolnej liczby domen, nielimitowane są również subdomeny i konta e-mail.  Firma oferuje również dostęp do kont po SSH, co znacznie ułatwia pracę. Właściwie to nie wyobrażam sobie teraz pracy bez dostępu do konsoli :) .  Problemów z dostępem do stron tam hostowanych nigdy nie miałem.  Oczywiście nie hostowałem tam jakichś wielkich projektów, ale mogę powiedzieć, że hosting zmakomicie nadaje się do hostowania stron które nie wymagają wiele zasobów, jak np. strony firm budowlanych itp. :)

Na 5+ zasługują Admini,  którzy prezentują w pełni profesjonalne podejście do klienta. Łatwy, szybki kontakt via gg, e-mail, czy system ticketów.  Zawsze udzielają konkretnych rzeczowych informacji. W ciągu dnia czas reakcji na jakieś zgłoszenie (np. aktywacja SSH) nie przekracza godziny. Admini są często dostępni na gg wieczorem lub w nocy, a jeśli ich nie ma to zaraz z rana odpowiadają na maile.

Jakiś czas temu miałem do czynienia z administracją home.pl i niestety muszę stwierdzić, że home.pl wypada gorzej w porównaniu z administracją LinuxPl.com.

Browsershots.org

Jakiś czas temu przeczytałem na blogu Michała o stronie WebResourcesDepot.com. Pomyślałem, że też napiszę o stronie która wielokrotnie mi pomogła.  Browsershots.org to strona na której możemy zobaczyć jak nasza strona wygląda pod różnymi przeglądarkami. Do wyboru  mamy m.in. Dillo, Firefoxa, Galeona, Opere, Konquerora, Internet Explorera, SeaMonkey i Navigatora na platformie Windows oraz Linux. Możemy również ustawić Rozdzielczość ekranu, Głębię kolorów, Javascript, Java, Flash.  Zasada działania jest bardzo prosta, wpisujemy adres, czekamy i mamy zrzuty ekranu. Czas oczekiwania zwykle nie przekracza 30 minut, choć jest to uzależnione od przeglądarki i systemu. Do IE są zwykle największe kolejki, hmm ciekawe czemu? xD

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.

AC/DC – Warszawa Bemowo

Tak, to już pewne, 27 maja jedziemy z moją Calineczką na koncert AC/DC.  Gdy tylko zobaczyłem gdzieś w internecie informację o koncercie wiedziałem, że musimy tam być. Bilety kupiłem zaraz po rozpoczęciu sprzedaży na livenation.pl. Kilka minut po 10  był spory problem z dostaniem się na stronę, około 10.40 udało mi się zamówić, jeszcze tylko przelew i bilety są moje :) . Przelew zrobiony, po chwili przyszło potwierdzenie na maila. Udało się bilety są moje.  Kilka dni później kurier wręczył mi kopertę z biletami. Teraz nie pozostało nic innego, tylko czekać do maja.

Poniżej przedsmak tego co zobaczymy w maju :)

Feria i ich rider techniczny

Z zespołem Feria swoją współpracę zacząłem jakieś dwa miesiące temu. Odezwał się do mnie Sławek, wokalista Ferii i powiedział, że szuka realizatora dla swojego zespołu. Nasze drogi skrzyżowały się trochę wcześniej bo we wakacje gdy nagłaśniałem jakąś imprezę, chyba święto latawca :) . Wtedy Sławek tam grał z Krzyśkiem i Martą jeszcze jako Aura. Potem Aura połączyła się z „Nie rzucajcie pomidorami” :) z którymi także miałem okazję współpracować na scenie. I tak powstała Feria :)
Pierwszy koncert razem zagraliśmy na WOŚPI’e w Proszówkach. Tam nagłośnienie stawiał Musiccook więc nie było problemów z zapewnieniem odpowiedniego sprzętu. Ale niestety nie wszędzie jest takie super nagłośnienie i zrodziła się potrzeba napisania ridera zespołu. Zadanie ciekawe bo zespół liczy 10 osób,  ze mną 11 :) ,  a wiadomo, że jako młody zespół nie możemy żądać nie wiadomo czego. W riderze ograniczyliśmy się do planu sceny, listy potrzebnych mikrofonów/di-boxów i ogólnych informacji na temat miksera i monitorów.  Nie napisaliśmy, że nie gramy na Behringerze xD.  Miejmy nadzieję, że zespół tak się rozwinie, że wkrótce będziemy mogli tak pisać w riderach :)

Columbus i Doctrine

Mamy pierwsze postępy w pracy ;) Z natury jestem trochę leniwy i zacząłem kombinować jak to zrobić żeby się nie narobić :) .  O Doctrine słyszałem już jakiś czas temu, ale jakoś nie było czasu żeby poznać go bliżej . Wczoraj trochę poczytałem na ten temat i stwierdziłem, że to właśnie to czego nam trzeba. Na chwilę obecną  zintegrowałem Doctrine z Columbusem, teraz nie pozostało nic innego jak zacząć pisać. Najbliższe plany to rejestracja i logowanie. :)