Jul 26 2009

Muzyka na pozniej – streamripper

shoutcaststreamripper – rip shoutcast radio streams to mp3 files.
Streamripper umozliwia nagrywanie strumieni shoutcast i icecast, tnac je w locie na kawalki i zapisujac na dysku jako pojedyncze pliki mp3.
Ponadto zawiera przekaznik serwera co umozliwia sluchanie nagrywanych stacji live.
Nagrywanie jest strasznie banalne. Oczywiscie najpierw musimy go zainstalowac.

czlowiek@maszyna:~$ sudo apt-get install streamripper

Teraz wystarczy juz tylko zapuscic nasza ulubiona stacje.

czlowiek@maszyna:~$ cd Muzyka
czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1022

181FM – The Buzz – suuper radyjko . Jezeli zechcemy teraz posluchac radyjka sprzed tygodnia, no problem, sofcik utworzyl osobny katalog z nazwa stacji. Moze jednak masz ochote posluchac radia w locie jednoczesnie nagrywajac, nic trudnego, mozesz to zrobic dodaj opcje r do polecenia.

czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1018 -r

Opcja r tworzy relay server rozsylajacy muze po porcie 8000. Teraz wystarczy zapuscic Rhythmbox’a i odpalic adres http://localhost:8000. Jezeli chcemy umozliwic innym sluchanie tej samej stacji wystarczy dodac -R 10, gdzie 10 jest maksymalna liczba sluchaczy retransmitowanej przez nas stacji.

czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1018 -r -R 10

Nagrywany strumien ciety jest na kawalki zapisywane jako pliki mp3 i umieszczane w tymczasowym katalogu, nastepnie przenoszone do katalodu docelowego. Jezeli przenoszony plik juz istnieje program stosuje technike larger nadpisujac istniejacy plik jedynie gdy jest mniejszy. Jezeli zas stwierdzimy, ze nasza kolekcja nie powinna byc nadpisywana, mozemy uzyc opcji never, albo always gdy chcemy miec najnowsza wersje.

czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1018 -o never
czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1018 -o always

Co mozemy jeszcze zrobic za pomoca programiku? A no, mozemy naprzyklad przekazac do serwera, z ktorego odbieramy stream, nazwe “naszego playera” ;) . Oczywiscie wszelkie cool front end’y dla streamripper’a pod gtk oczekiwane ze zniecierpliwieniem, np plugin do Rhythmbox’a.

czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1022 -u "Super hiper wypasiony player ; )"

Jezeli powyzsze informacje juz nie wystarczaja polecam manual,

czlowiek@maszyna:~$ man streamripper

albo stronke online, ktora robi to rownie dobrze pwet.fr.

Strona domowa projektu jest tutaj.

No tak, a skad te adresy stacji? Z najbardziej wypasionego serwisu jaki znam www.shoutcast.com.


Jul 23 2009

SQL – funkcje grupujace

- COUNT – zlicza wartosci rozne od NULL na podstawie zadanej kolumny, badz wszystkie rekordy jezeli uzyjemy *,

SELECT COUNT(*) AS article_groups FROM article;
-- 16
SELECT COUNT(article_price) FROM article;
-- 12

- SUM – sumuje wartosci na podstawie zadanej kolumny,

SELECT SUM(quantity) FROM article;
-- 256

- AVG – wylicza srednia zadanej kolumny,

SELECT AVG(article_price) FROM article;
-- 286.32

- MIN – wyszukuje najmniejsza wartosc na podstawie zadanej kolumny,

SELECT MIN(sell_date) FROM order_info;
-- 2006-03-05 09:46:21

- MAX – jest odwrotnoscia MIN, wyszukuje najwieksza wartosc,

SELECT MAX(sell_date) FROM order_info;
-- 2009-07-22 15:24:03

- GROUP_CONCAT – listuje wartosc rekordu,

SELECT GROUP_CONCAT(aname ORDER BY aname) FROM order_info;
-- monitor,mysza,klawiatura

Jul 22 2009

Popularne polecenia

Listowanie

czlowiek@maszyna:~$ ls
czlowiek@maszyna:~$ ls -la

Kopiowanie

czlowiek@maszyna:~$ cp plik.txt ~/katalog/

Przenoszenie

czlowiek@maszyna:~$ mv plik.txt ~/katalog/

Zmiana nazwy

czlowiek@maszyna:~$ mv plik.txt plik2.txt

Tworzenie katalogu

czlowiek@maszyna:~$ mkdir katalog

Tworzenie pliku

czlowiek@maszyna:~$ touch plik.txt
czlowiek@maszyna:~$ nano plik.txt

Wyswietlenie pliku

czlowiek@maszyna:~$ nano -v plik.txt
czlowiek@maszyna:~$ less plik.txt
czlowiek@maszyna:~$ more plik.txt

Zmiana praw

czlowiek@maszyna:~$ chmod a+rwx plik.txt
czlowiek@maszyna:~$ chmod ugo-rw plik.txt
czlowiek@maszyna:~$ chmod 777 plik.txt
czlowiek@maszyna:~$ chmod 000 plik.txt

Zmiana wlasciciela

czlowiek@maszyna:~$ chown czlowiek2 plik.txt

Wyszukiwanie

czlowiek@maszyna:~$ find /home/czlowiek/ -name plik?.*
czlowiek@maszyna:~$ find /home/czlowiek/ -name pli\*.txt
czlowiek@maszyna:~$ ls | grep plik.txt
czlowiek@maszyna:~$ more plik.txt | grep "wyszukiwana tresc w pliku"
czlowiek@maszyna:~$ ps ax | grep cron

Porownanie plikow

czlowiek@maszyna:~$ diff plik.txt plik2.txt

Usuwanie pliku

czlowiek@maszyna:~$ rm plik.txt

Usuwanie katalogu

czlowiek@maszyna:~$ rmdir katalog
czlowiek@maszyna:~$ rm -fr katalog

Zmiana sciezki

czlowiek@maszyna:~$ cd /home/czlowiek/katalog/katalog2
czlowiek@maszyna:~/katalog/katalog2$ cd ../katalog3
czlowiek@maszyna:~/katalog/katalog3$ cd ../..
czlowiek@maszyna:~$ cd ..

Pomoc

czlowiek@maszyna:~$ nano --help
czlowiek@maszyna:~$ man nano

Kto zalogowany

czlowiek@maszyna:~$ who

Kim jestem

czlowiek@maszyna:~$ whoami

Gdzie jestem

czlowiek@maszyna:~$ pwd

Lokalizacja programow

czlowiek@maszyna:~$ whereis nano

System

czlowiek@maszyna:~$ uname -a

Czas pracy

czlowiek@maszyna:~$ uptime

Aktualny czas

czlowiek@maszyna:~$ date

Wolna pamiec

czlowiek@maszyna:~$ free

Utworzenie archiwum tar

czlowiek@maszyna:~$ tar cvf archiwum.tar /katalog/do/spakowania

Rozpakowanie archiwum tar

czlowiek@maszyna:~$ tar xvf archiwum.tar -C /katalog/wypakowania

Utworzenie archiwum tar.gz

czlowiek@maszyna:~$ tar czvf archiwum.tar.gz /katalog/do/spakowania

Rozpakowanie archiwum tar.gz

czlowiek@maszyna:~$ tar xzvf archiwum.tar.gz -C /katalog/wypakowania

Utworzenie archiwum tar.bz

czlowiek@maszyna:~$ tar cjvf archiwum.tar.bz /katalog/do/spakowania

Rozpakowanie archiwum tar.bz

czlowiek@maszyna:~$ tar xjvf archiwum.tar.bz -C /katalog/wypakowania

Ciecie duzych plikow

czlowiek@maszyna:~$ split -b 700M very-big.iso prefix_
czlowiek@maszyna:~$ ls -l
...
very-big.iso
prefix_aa
prefix_ab
prefix_ac
prefix_ad
prefix_ae
prefix_af
prefix_ag

Sklejanie pocietych plikow

czlowiek@maszyna:~$ cat prefix_* > very-big.iso

Jul 19 2009

Setting up your Era G1

“There is a problem communicating with the Google servers. This could be a temporary problem or your sim card may not be provisioned for data services. If it continues, call Customer Care.” settingupg1

Jak widzisz taki komunikat przy probie pierwszego logowania (badz po hard reset’cie) do sieci Google, to masz “problem”. Kupujac telefon masz prawo wymagac aby w pelni dzialal, a nie jakies takie tam “There is a problem …”. Nie wiem kto ponosi wina Google czy Era, lecz klienta to nie interesuje.

“Nie mamy pojecia co to moze byc.”,
“Pierwszy raz z czyms takim sie spotkalismy.”
“Ratuje jedynie serwis, za dwa tygodnie telefon bedzie jak nowy”.

Jaja sobie robia, no nie.

Ale nie zalamuj sie, mam metode dzialajaca w 100% (testowana 5 razy ;) , mianowicie – znajdz BTS’a siejacego EDGE (ikonka aedge z lewej strony wskaznika poziomu sygnalu) – musi byc stabilny silniejszy niz 3G, pelny w obydwie strony. Jak juz masz to jestes w domku, teraz wlaz na ekran logowania, wypelnij formularz,  i … witaj o boska sieci Google, w koncu sie zalogowalem ;) .

Dla posiadaczy Era G1 z Zielonej Góry i okolic mam tipa. Pojedz do marketu Auchan, kup sobie piwo, lody, whatever, nastepnie usiadz na laweczce (w srodku budynku. wazne) i zaloguj sie. Uda ci sie za pierwszym razem, pod warunkiem, ze masz aktywny EDGE.


Jul 17 2009

Przydatne skroty klawiaturowe

Ubuntu samo w sobie jest bardzo prostym w obsludze systemem, ale zawsze mozna usprawnic prace uzywajac skrotow klawiaturowych, ponizej wiec standardowe i najczesciej uzywane skroty:

System / X’y

Alt+F1 – otwiera glowne menu,
Alt+F2 – uruchamianie programow,
Alt+F4 – zamkniecie biezacego okna,
Alt+F7 – przemieszczanie okna,
Alt+F8 – zmiana rozmiaru okna,
Alt+F9 – minimalizowanie okna,
Alt+F10 – przywrocenie / maksymalizacja okna,
Ctrl+Alt+F1/\F6 – przelaczanie pomiedzy wirtualnymi terminalami,
Ctrl+Alt+F7 – sesja X’ow,
Ctrl+Alt+Backspace – zabicie serwera X’ow (patrz: DontZap),
Ctrl+Alt+L – zablokuj ekran,
Alt+Tab – przelaczanie pomiedzy otwartymi aplikacjami,
F11 – pelny ekran,
PrintScrn – zrzut ekranu,
Ctrl+R – odswiezanie,
Shift+Insert – wstawianie,
3rd Mouse Button – wstawianie zaznaczonego tekstu (ta opcja jest boska, a zarazem niebezpieczna),

Terminal

Ctrl+C – zabicie procesu / programu,
Up / Down – historia polecen,
Ctrl+R – przeszukiwanie historii polecen,
Shift+PageUp / PageDown – przewijanie output’u terminala,
Ctrl+L – czyszczenie terminala,
Tab – dokonczenie wpisywanego polecenia,
Ctrl+A – przesuniecie kursora na poczatek linii,
Ctrl+E – przesuniecie kursora na koniec linii,
Ctrl+U – usuniecie biezacej linii,
Ctrl+W – usuniecie znakow przed kursorem,
Ctrl+K – usuniecie znakow za kursorem,