Michał Moroz

Abecadło smoczątka, dziennik niecodzienny

Linksys WRT54GL aka routina

WRT54GL

Dawno już nie pisałem niczego o sprzęcie przeze mnie posiadanym, a ostatnimi czasy ilość tegoż nieco się zwiększyła. Czas więc uzupełnić braki i pobawić się w recenzenta. Zacznijmy od kolejnego routera w mojej rodzinie: Linksys WRT54GL.

Zaczęło się od kupna laptopa - Thinkpad 560X. Pomyślałem wtedy, że chodzenie z kabelkiem UTP, aby mieć dostęp do sieci nie jest takie fajne. Później sprawy się skomplikowały. W momencie, kiedy laptop upadł na kartę sieciową, gnotąc delikatną, zupełnie nietypową wtyczkę dostarczoną przez producenta i nie miałem już żadnego podłączenia do Internetu, myśli te wróciły ze zwielokrotnioną siłą. Minęło kilka miesięcy i wreszcie załatwiłem sobie WRT54GL wraz z tanią kartą PCMCIA 802.11b.

Router ten to kolejna maszyna pracująca pod Linuksem w moim domu. Jądro 2.4, procesor 200MHz, 16MB ramu i 4MB pamięci flash wystarczają na całkiem sprawny system. Domyślnie zainstalowany firmware jednak nie był wystarczający - co to za Linux, na którym nie ma sshd? ;)

Host otrzymał nazwę routina, z którą zgłasza się do nadrzędnego routera poprzez dhcp.

Z początku nawet ta konfiguracja mi wystarczała - bo router to router i miał routować. Potem jednak uznałem, że dostęp poprzez stronę www zaczyna mnie nieco denerwować. I to, że router nie odpowiada na pingi z zewnętrnej sieci (w tym przypadku należącej również do mojego lanu).

Dziś przełamałem się i zainstalowałem OpenWrt. Teraz już mam dostęp do całego systemu, firewalla, dnsmasq i wielu dodatkowych opcji, których jeszcze nie odkryłem. Jest nawet vi! :D

OpenWrt dostarcza nawet package manager, żeby dodawać i usuwać poszczególne nieużywane paczki.

Wracając do samej maszyny, małe jest piękne. Router zawiera access point 802.11b/g, oraz czteroportowy Ethernet switch. W zależności od oprogramowania, urządzenie może spełniać różne dodatkowe funkcje, które ograniczone są praktycznie wielkością pamięci i ramu.

Dla urządzenia znalazłem jeszcze jedno praktyczne zastosowanie poza byciem częścią szkieletu mojej sieci - gry sieciowe. Ostatnio umówiliśmy się ze znajomymi na sesję StarCrafta. Okazało się, że router stworzył nam wspaniałe warunki gry dla trzech osób podłączonych poprzez Ethernet i mojego laptopa poprzez WLAN. Zero konfiguracji - tylko wpinać, czekać na odpowiedź DHCP i grać. ;)

Dodatkowym atutem może być także to, że ani razu nie zauważyłem problemów z działaniem routiny, a mam ją już trzy miesiące.

Polecam, naprawdę warto wydać te dwieście złotych na Allegro na taki sprzęt.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Ext2/Ext3 na Windows

Mój komputer i linuksowe partycje

Jeśli ktoś przespał, zapomniał, czy też nie uświadamia sobie w ogóle takiej możliwości, przypominam - pod Windowsem NT i jego pochodnymi można używać partycji ext2/ext3 i to nie gorzej, niż FAT32. Pełny zapis/odczyt, obliczanie ilości zajętego miejsca, tworzenie, przesuwanie i usuwanie plików zapewnione.

Warto także wiedzieć, że literki podmontowanych partycji można zmieniać, wybierając opcję `IFS Drives' w Panelu Sterowania.

Strona projektu.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Mój pierwszy AVR

... miga zachęcająco czerwoną diódką do mnie. Zacznijmy jednak od początku.

Od dawna wiedziałem, że mikrokontrolery to bardzo ciekawe urządzenia, skoro mogą wykonywać więcej niż jedną czynność, a na dodatek można je oprogramować wedle uznania. W tamtych, pięknych czasach, mikroprocesory nie były jednak rozpowszechnione, a wszystkie programatory były albo drogie, albo droższe. Poza tym koszt samych układów wahał się w granicach kilkudziesięciu złotych. I sam także nie znałem się na programowaniu, więc pozostawały one dla mnie marzeniem.

Od pewnego czasu sytuacja się zmieniła. Powstały układy AVR, do których nie potrzeba specjalistycznych urządzeń, a ich koszty zmalały. Nadają się świetnie do różnych układów, począwszy od budzików, skończywszy na pomniejszych sterownikach, a dzięki otwartemu oprogramowaniu nie ma dużych problemów, by je oprogramować. Chęć ich poznania wróciła ze zdwojoną siłą.

Zachęcający był szczególnie pseudoprogramator - tak naprawdę odpowiedni kabel drukarkowy - dzięki któremu można było programować procesor w układzie, bez wyjmowania go z płytki. Kwestia zlutowania kilku kabelków z dwiema wtyczkami.

Domowym sposobem została zmontowana płytka, na której znajdują się cztery diody świecące LED, jeden przycisk, jeden mikrokontroler i kilka dodatków, potrzebnych do działania. Praktycznie, jeden dzień roboty od projektu do gotowej płytki.

Dla komatybilności z artykułem Wojtka Kaniewskiego, na którym się wzorowałem, użyłem układu ATTiny2313. Dużo czasu zejdzie, zanim zacznę używać wszystkich jego funkcji.

Po przygotowaniu płytki, wyjęciu zasilacza warsztatowego (zmontowanego przez ojca, kiedy byłem mały), przeniesieniu ustrojstwa do domu, zasileniu układu i podłączeniu wtyczki programującej, skompilowałem, wykorzystując źródło kodu z artykułu Wojtka, nieco zmodyfikowany plik Makefile z jednego z przykładów z manuala avr-libc oraz używając programu avrdude do wrzucania skompilowanego kodu do pamięci Flash mikrokontrolera. Uisp niestety nie chciał działać.

Kompilator i avrdude są w Ubuntu, co skraca proces ich instalacji do jakiejś minuty.

Po wgraniu flasha dioda nadal nie migała. Wziąłem woltomierz i zacząłem sprawdzać wszystko. Jakie było moje zdziwienie, gdy zauważyłem regularnie pulsujące napięcie na zaprogramowanym wyjściu. Jeśli tak, to mikrokontroler był w porządku, a jakiś element za nim odmówił współpracy. Tak być nie może! Nie damy się przecież pomiatać rezystorom i kondensatorom! Wreszcie, zmierzywszy napięcia na całej drodze od układu do diody, doszedłem do wniosku, że bezmyślnie wlutowałem diody odwrotnie do kierunku przewodzenia.

Zapamiętać: w tym typie diód ścięta końcówka nie oznacza anody.

Szybko przelutowałem i zaczęło migać. Udało się!

Teraz mogę zacząć rozgryzać stronę programową mojego mikroprocesora. I wyrywać Girls2.0, oczywiście.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Aria M 2408 SD podłączona do komputera

Magnetofon Aria M 2408 SD, który leżał przez około rok u mnie bezużytecznie, wreszcie został przystosowany do działania z moim Linuksem. Windowsem pewnie też, o ile znajdę sposób, aby zmusić wyjście subwoofera karty dźwiękowej, by zadziałało pod tym systemem.

Ponieważ niezbędna do wygodnego użytkowania jest możliwość wysyłania i odbierania sygnału audio z karty dźwiękowej do magnetofonu, narodziła się konieczność wykonania odpowiedniego kabla. Aria korzysta z wtyków DIN-5, których specyfikacja poniżej:

Pin 1
Wyjście lewe
Pin 2
Masa
Pin 3
Wejście lewe
Pin 4
Wyjście prawe
Pin 5
Wejście prawe

Teoretycznie więc można podłączyć do jednej wtyczki DIN-5 dwie wtyczki mini-jack, które rozwiązują cały kłopot.

W tym wypadku nie zadziała nam nagrywanie. Wejście magnetofonowe w starszych modelach (również i tym) ma zbyt wysoką czułość, co kończy się przesterowaniem przy potencjometrze poziomu zapisu ustawionym nawet przy zerze.

Oczywiście, jest sposób na to. Można wlutować rezystory we wtyczkę do pinów 3 i 5 (nie wiem dokładnie, jakiej rezystancji, ale 470KOhm to dobry punkt zaczepienia), lub wykorzystać wejście na gramofon, które to ma już niską czułość i będzie współpracować z innymi urządzeniami.

To zmusza do użycia dwóch wtyków DIN-5 - osobnego dla wyjścia (podłączone piny 1, 4), gdyż jedyne wyjście jest w gniazdku na radio/magnetofon, a drugą dla wejścia (podłączone piny 3, 5), którą włożymy w następne gniazdko, prowadzące do gramofonu.

Na koniec podłączamy wyjście magnetofonu do Line-In karty dźwiękowej, a jego wejście do wyjścia karty na przykład na subwoofer, lub dowolnego innego. Ważne jest to, by to wyjście dawało ten sam sygnał, co wyjście głośnikowe i, najlepiej, gdyby dało się również sterować jego poziomem sygnału.

Jako dodatek przerobiliśmy z ojcem słuchawki z wtyczki mini-jack na wtyczkę DIN-5 S, która to jest nieco inna od zwykłej DIN-5 i ma inny rozstaw pinów.

Pin 1, Pin 2, Pin 3
Masa
Pin 4
Lewa słuchawka
Pin 5
Prawa słuchawka

Dzięki słuchawkom bardzo łatwo jest kontrolować poziom zapisu podczas nagrywania lub do odsłuchu zapisanej taśmy. Jako ciekawostkę podam, że wciskając przycisk Zapis (bez wciskania Start), da się także odsłuchiwać także sygnał z karty dźwiękowej bez nagrywania. Przydaje się podczas wstępnego ustawiania poziomu zapisu. Można też w ten sposób posłuchać muzyki na zacnym wzmacniaczu słuchawkowym.

Chociaż bardzo stare taśmy, to magnetofon mój nadal brzmi bardzo dobrze. Przygotowałem małą próbkę dźwięku, przegraną na niego i z powrotem. Ze względu na słabe łącze, proszę o ściąganie za pomocą tego torrenta. O seedowanie oczywiście też. Jeśli bardzo nie chcesz pobierać torrenta z plikiem, to tutaj znajduje się statyczny plik.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Neostrada miesza siecią lokalną?

Jedna z kart sieciowych nagle przestawiła się z IP, który wyglądem przypominał ten od modemu Neostrady na USB (czy taki sam? Nie mam pojęcia). W logach też niewiele pisze:

[290219.946225] usb 1-2: [ueagle-atm] modem synchronization failed
[290219.946253] usb 1-2: [ueagle-atm] (re)booting started
[290242.192739] usb 1-2: [ueagle-atm] modem operational
[290242.200725] usb 1-2: [ueagle-atm] ATU-R firmware version : 44e2ea17

Widać ta desynchronizacja modemu przyczyniła się do czegoś dla mnie niezrozumiałego. Inna sprawa, że faktycznie takie zdarzenie także widzę pierwszy raz - nie pamiętam, aby modem miał jakieś problemy ze sobą podczas pobytu u mnie... Poza przypadkowym wykopaniem wtyczki z gniazdka telefonicznego.

Doszedłem także do wniosku, że niezależnie od tego, jaki mtu ustawisz dla modemu i tak pakiety routowane nie będą dzielone na mniejsze. Wniosek - nie da się załatwić elegancko, jak kazać klientom ustawiać mniejsze mtu.

A na koniec pytanie - jak na stałe ustawić mtu dla modemu, jeśli po rozłączeniu z powrotem przestawia się na domyślne (1500)? Niestety - pppd call ueagle-atm mtu 1492 w żaden sposób mi nie chce przetrzymać tego stanu na dłużej, niż dzień. Pomijam rozwiązania typu - dodatkowy demon, czy zadanie w cronie. Chciałbym, aby problem był rozwiązywalny za pomocą już danych mi narzędzi.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Zaskoczenie - Linux i saa7134

W jądrze 2.6.15 pojawił się nowy sterownik - saa7134_alsa. Dzięki niemu dźwięk wydobywany z karty telewizyjnej jest dostępny pod systemem dźwięku ALSA jako dodatkowe urządzenie z bajerami do kontroli dźwięku i tak dalej. Przy używaniu tego trzeba wydawać komendę przechwytującą strumień z urządzenia karty telewizyjnej i odtwarzającą ją na naszej karcie dźwiękowej, zaczerpując z strony wiki video for linux (v4l) o saa7134_alsa:

arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -

Wprowadziło mnie to w dobry nastrój. Po raz pierwszy mogę powiedzieć, że mój Linux ma lepsze wsparcie dla urządzeń, które posiadam, niż jądro Windows (nadal potrzebuje ono kabelka łączącego wyjście karty telewizyjnej z wejściem Line-in karty dźwiękowej).

Pozostał jeszcze problem ustawienia odpowiednich opcji ładowanych z modułem (tak, aby działała i telewizja, i radio, i pilot). Ale to już kwestia tylko odpowiedniej konfiguracji, przeczytania kawałka dokumentacji i tak dalej...

Mam nadzieję, że niedługo więcej sprzętu będzie działać lepiej pod Linuksem, niż pod Windowsem.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Ubuntu i Opera

Dałem szansę Ubuntu, szukając prostej dystrybucji z Gnome na pokładzie.

Natknąłem się na problem z Operą. Pakiet rozprowadzany przez panów z opera.com wymaga xlibs, którego nie ma w najnowszej wersji Ubuntu 6.06, Dapper Drake.

Za pomocą narzędzia equivs-build przygotowałem metapakiet, dzięki któremu możemy obejść spełnianie zależności dla Opery.

Po jego instalacji tylko wystarczy wydać polecenie sudo aptitude install libqt3-mt, ściągnąć pakiet z Operą (w wypadku problemów ze ściąganiem za pomocą Firefoksa, należy przekleić link do konsoli i użyć wgeta), a na koniec pozostaje wykonanie polecenia dpkg (sudo dpkg -i opera*.deb).

Kiedy zastanawiałem się, czemu Firefox nie chce ściągnąć pakietu z Operą, przyjrzałem się dobrze linkowi. I cóż ujrzałem? http://www.opera.com/...nothanks=yes&sub=marine. Słodkie. :)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Linux bawi

Lubię go za to, że o drugiej w nocy, czując na sobie piętno zmęczenia, można sobie wklepać niestosowną komendę, a system i tak ją wykona.

dragonee@hikari:~$ touch my butt :P
dragonee@hikari:~$
Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Koszmar informatyka

Zatrzymanie polecenia sudo checkinstall -D za pomocą ^C w odpowiednim momencie w magiczny sposób zadziałało w niewiadomy mi sposób. Sądzę jednak, że najbliższym odpowiednikiem otrzymanego efektu byłoby usunięcie atrybutu "wykonywalny" z wszystkich katalogów w systemie. Oczywiście, po podłączeniu pod innym systemem, ich uprawnienia były całkowicie w porządku.

Login: dragonee
Password: 
cd: cannot access `/home/dragonee/': Permission denied
Login:

Jak wspomniałem, koszmar...

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

mpd, czyli jak zacząłem słuchać muzyki za pomocą konsoli

Oto Music Player Daemon, demon do zadań muzycznych. Jak to diabeł, działa skutecznie, o ile dobrze go poinstruujemy. W połączeniu z pomniejszymi pomiotami może stanowić konkurencję większości wiodących programów do odtwarzania muzyki. Jego poważną zaletą jest mała zasobożerność - gdy schowa się w zakamarkach naszego systemu, przęciętny użytkownik nie zauważy spadku wydajności podczas odtwarzania.

Doprowadzamy demona do porządku

Z instalacją demona i podstawowego klienta nie powinno być problemu - znajduje się on w repozytoriach większości dystrybucji. Wybieramy ulubioną komendę naszego systemu do pobierania danych: urpmi mpd mpc. mpc to oczywiście Music Player Client.

Kolejnym krokiem jest skonfgurowanie demona tak, aby można było słuchać muzyki. Ogranicza się to do napisania własnej ścieżki do katalogu z muzyką (music_directory), oraz listami odtwarzania (playlist_directory). Następnie ustalamy zmienną filesystem_charset na UTF-8 lub ISO-8859-2. Teraz wystarczy tylko odkomentować odpowiednie opcje przy wyborze sterownika dźwięku i wykonać polecenie mpd --create-db.

Wskazówka: gdy nasze katalogi z muzyką są rozsiane w różnych miejscach, można stworzyć specjalnie przeznaczony dla mpd katalog z dolinkowaniami do tych miejsc. W ten sposób pozbędziemy się długaśnych ścieżek, a i skanowanie przebiegać będzie o wiele szybciej.

Tak przygotowanego demona (re)startujemy i od tej chwili możemy zacząć używać klienta.

Klient wygląda mniej więcej tak:
[dragonee@lilium bin]$ mpc play
Threemovements - Awaken
[playing] #1/6   0:00 (0%)
volume: 77%   repeat: off   random: off

Nieco kłopotliwe może wydać się zrobienie pierwszej własnej playlisty. Wystarczy jednak wykonać polecenie mpc ls, które wyświetli nam spis katalogów dostępnych w miejscu podanym jako music_directory. Teraz wybieramy sobie jakiś katalog i wykonujemy: mpc ls "Artist - Album" | mpc add, co doda nam wylistowane pliki do playlisty. Następnie za pomocą mpc save nazwa możemy zapisać tą listę odtwarzania, a mpc play rozpocznie jej odtwarzanie. Komend oczywiście jest mnóstwo - w celu poznania dalszej funkcjonalności zapraszam do mana.

O pomiocie biegającym z tytułami do last.fm

Zwie się on mpdscribble. Podobnie, jak mpc, jest klientem, jednak nie odtwarza piosenek, a tylko pobiera od demona wiadomości i wysyła je do last.fm. Możemy uruchamiać go ręcznie, ale czemu by nie zrzucić tej roboty na komputer?

Instalacja na dystemach debianowych i pod Fedorą jest najprostsza, bo z paczek, a pod Mandrivą trzeba kompilować. Nie ma zbyt wielu zależności, więc nie robi to aż takiego problemu.

Niestety - problem w tym, że nigdzie nie zauważyłem, by mpdscribble mógł się odpalać jako demon. Dzięki niezwykle prostemu programowi daemonize będziemy mogli zapewnić tą funkcję bez ingerowania w kod programu. Jego kod jest już nieco przestarzały i sami musimy się postarać o dodanie #include <stdlib.h> w pliku daemonize.c, lub o spatchowanie źródeł tą oto łatką. Wystarczy ściągnąć, rozpakować i skopiować łatkę do katalogu ze źródłem, a następnie nałożyć ją poleceniem patch -p1 <patch-daemonize-1.4.

Po poprawnej instalacji obu narzędzi, czas na to, co tygryski lubią najbardziej; grzebanie w skryptach startowych. W różnych dystrybucjach różnie one wyglądają, ale moja modyfikacja jest na tyle prosta, że nie powinna sprawić zbytnich problemów.

Fragmenty /etc/init.d/mpd:
Wewnątrz opcji start:
daemon mpd
daemon /usr/local/sbin/daemonize -c /tmp -u mpd /usr/local/bin/mpdscribble
RETVAL=$?
Wewnątrz opcji stop:
killproc mpd
killproc mpdscribble
RETVAL=$?
Wewnątrz opcji status:
status mpd
status mpdscribble
;;

Teraz mamy zapewnione uruchamianie mpdscribble razem z demonem mpd i jednocześnie pod jego użytkownikiem, czyli dwie pieczenie na jednym ogniu.

Pozostaje nam ostatnia sprawa - napisanie odpowiedniego pliku konfiguracji. Dla demona nie będzie zbrodnią podawanie konfiguracji w pliku /etc/mpdscribble.conf. Nie jest ona długa - wystarczy wpisać nazwę użytkownika username = user i hasło przepuszczone przez algorytm MD5 (password). Wypadałoby jeszcze utworzyć pliki /var/cache/mpdscribble.cache oraz /var/log/mpdscribble.log i nadać im odpowiednie uprawnienia dla użytkownika mpd.

Bo tych ciężkich bojach nasz player ładnie wspiera last.fm.

Demon w oknie

Chcę więcej. Zmienianie piosenek za pomocą konsoli jest bardzo przyjemne, ale przyzwyczaiłem się do amaroKa ze swoją ikonką w zasobniku systemowym. Czy istnieje jakaś rada dla mnie? Po chwili poszukiwań odkryłem rozmaite klienty mpd działające w konsoli, interaktywnie, za pomocą ncurses, czy przezaczone dla Qt i KDE. Można znaleźć nawet skrypty działające po http. Ich spis znajduje się na oficjalnej stronie klientów mpd.

Jako użytkownik KDE spróbowałem klienta kmp. Zalecam ostrożność, na stronie domowej wersja kmp była o wiele wyższa, niż ta, którą wymieniono w spisie. Instalacja wymaga dodania ścieżki do programów Qt (w moim przypadku /usr/lib/qt3/bin) do $PATH, jeśli się już tam nie znajduje.

Klient ten mnie zadowala, posiada całą funkcjonalność, której potrzebuję, by odtwarzać muzykę, oraz trayikonkę. Chociaż jego interfejs mógłby być nieco bardziej przemyślany, jest do wytrzymania. I nie zabiera zbyt wielu zasobów.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

IE pod Linuksem

Linkuję za wpisem "Prosta instalacja IE pod Linuksem" na blogu Zakrna. Jest już tam opisany cały proces produkcyjny, aż do otrzymania gotowych produktów (wedle uznania - IE6 i/lub IE5.5 i/lub IE5) i nie będę go powtarzać.

Jakie wrażenia? Niestety - instalator ściąga około 250MB danych (gdy instalujemy wszystkie wersje IE), co oznacza, że na efekt końcowy będziemy musieli poczekać. Ale śmiało możemy zostawić działający skrypt w tle. Dosłownie potraktowano prostotę procesu, co oznacza, że po wyborze przeglądarek do zainstalowania reszta dzieje się automagicznie.

Wszystkie wersje przeglądarki mają domyślnie zainstalowany Flash. Podczas fazy zabawy z IE nie wykazałem błędów w działaniu. Nie ma dużych skoków wydajności - czas potrzebny do uruchomienia jest podobny, jak w przypadku Firefoksa. Mimo to, miło jest mieć IE (bla bla bla, jeden z flagowych produktów Microsoftu, bla bla bla, ja wam pokażę!), chociażby do testowania nowych layoutów. I ikonka jest ładniejsza, niż w oryginale.

Strona projektu.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Zsamplować /dev/urandom

Chyba każdy, kto zajmował się Linuksem przez pewien okres czasu zna jedno z nietypowych sposobów wykorzystania generatora pseudolosowego /dev/urandom do wytwarzania białego szumu.

Dla przypomnienia - kod najczęściej wygląda tak:
cat /dev/urandom > /dev/dsp

W moim przypadku wynikła jednak nieco inna potrzeba - potrzebowałem plik wave z zapisem tego szumu, miast słuchania go w wolnej chwili.

Jakoś nie widziało mi się bawienie się w czytanie specyfikacji formatu wave i ręczne wpisywanie nagłówków do pliku. Nie, jeśli chodzi tylko o chwilę rozrywki. Tak więc potrzebowałem prostego sposobu, który nie będzie sprawiać dużo kłopotu.

Z pomocą przyszło Google i Python. Okazuje się, że w pliku README biblioteki pyao opisano krok po kroku, jak to zrobić.

Wystarczy urpmi pyao (w innych dystrybucjach, niż Mandriva możliwe, że konieczna będzie ręczna instalacja pakietu - jednak w wypadku Pythona proces ten jest jeszcze łatwiejszy, niż w paczkach stworzonych przy pomocy autotools) i już możemy zgrywać szum do pliku.

Uruchamiamy shell Pythona i wpisujemy:
>>> import ao
>>> dev = ao.AudioDevice('wav', filename = 'myoutput.wav')
>>> f = open('/dev/urandom', 'r')
>>> data = f.read(1024*1024*8)
>>> dev.play(data)
Zamykamy shella.

8MiB to około 48 sekund szumu. Można się domyśleć, że i rozmiar pliku będzie niewiele większy.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Optimus MP3 Player

Player Optimus 200B, jeszcze niedawno temu, bo około półtora miesiąca temu kosztował w promocji Sklepu Nie Dla Idiotów (czyt. Media Markt) 111 zł. Cena kusząca, zwłaszcza, że z założenia miał służyć nie tyle do słuchania muzyki, co do przenoszenia niewielkich danych. Etap pośredni między wystawieniem pliku po http (dyskietkom już nie wierzę) a wypaleniem cd. 256 MB, czyli 245 MiB, dobrze spełnia swą rolę.

Po miesiącu użytkowania mogę już wyrazić swą opinię o tym sprzęcie. Konstrukcja jest raczej standardem - widziałem kilka zagranicznych playerów o tym samym wyglądzie i podobnych zdolnościach. Nie wiem jednak, kto pierwszy wdrożył tą technologię, przyznam się, że nie chciało mi się tego szukać.

Do jakości dźwięku raczej nie mogę się przyczepić. Zarówno odtwarzanego, jak i nagrywanego. W trybie zapisu nie ma automatycznej kompresji, przez co sama pamięć szybko się zapycha. Jest możliwość tworzenia plików .wav o niskiej, lub wysokiej jakości, jednak to odrobinę za mało, by nagrać coś większego, niż kilkuminutowe przemówienie.Dyktafon to wprawdzie tylko dodatek do odtwarzacza. Ze względu na dobrą jakość nagrań i tak dostaje u mnie plusa, chociaż małego. Testy przeprowadzone przeze mnie wykazały zadziwiający wynik - osiemdziesiąt minut nagrania w wysokiej jakości (a mamy do wyboru trzy tryby - wysoka jakość, niska jakość, nagrywanie głosu) zajmuje nieco ponad 25MB. Dzięki temu i dość dobrej jakości dźwięku, o której wspominałem, dyktafon dostaje dużego plusa.

Żałuję, że nie ma obsługi mpc (strona domowa kodeka Musepack) - zacny to standard, naprawdę, warto pokusić się o bliższe zapoznanie. Player odtwarza mp3/wma/wav, z czego dwa odpadają z oczywistych względów, co daje nam realnie jeden format muzyki. I nie pomoże tu możliwość wyświetlania tekstów piosenek w formacie LRC.

Wzmacniacz ma dość dużą moc wyjściową - spokojnie potrafi wysterować zwykłe słuchawki - nauszniki (nie mylić ze studyjnymi, jeszcze wiele im do tego brakuje). Wiedząc tyle, możemy podłączyć je do odtwarzacza - jednak już teraz bateria prosi nas, żebyśmy używali jej oszczędnie. Oczywiście zapomnieliśmy w kiosku kupić bliźniaczkę, a pech chciał, że akurat teraz temperatura spada do -15 stopni. Jest jednak wyjście! Podłączamy do usb (kabel w zestawie) i teraz możemy słuchać do woli, przy czym komputer stoi wolny. Posiadacze laptopowych maszyn do pisania wiedzą, że każdy procent użycia procesora i pamięci jest na wagę złota, a Foobar2000 zajmuje między 10% a 20%, zależnie od użytego kodeka.

Moja Mandriva nie radzi sobie zbytnio z kopiowaniem danych - często zdarza się jej zapisywać pliki na sobie. Nie wiem, czy to problem systemu, czy playera - a na Ubuntu nie sprawdzałem. Problem z zapisem plików leżał po mojej stronie, nie odmontowywałem playera poprawnie. Wyjaśnia to komentarz Paoola. Windows 2000 działa automatycznie, a do Windowsów 9x trzeba zainstalować sterowniki, które znajdują się na płycie dostępnej z pakietem - zajmują kilka MB.

Słuchawki są co najmniej dziwne. Nigdy nie wiem, z której strony jest lewa i prawa, ani jakim cudem to wszystko się znów zaplątało? Niestety, są też zbyt krótkie do czegokolwiek poza wpięciem odtwarzacza.

Do sterowania można się przyzwyczaić, ale gdybym nie zajrzał do instrukcji, w życiu bym nie pomyślał, że joya, z założenia przydatnego do przewijania piosenek, da się także wcisnąć. Pomysłowość ludzka nie zna granic.

Aha, zapomniałem dodać, że klapka od baterii czasami ma zwyczaj się wysuwać i gubić bez słowa.

TODO: Każdy, kto poznał płytę Hydra Head Nine - Kod, wie, że trzeba dobrze się przysłuchać, by znaleźć tam muzykę. Do sprawdzenia jest współbrzmienie tych dźwięków z tymi generowanymi przez miasto.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Piekielnie Mały Linux - jak łatwo odpalić Linuksa na Win

Przeglądając wczoraj newsy na Siódmym, zauważyłem wzmiankę o tym, że Piekielnie Mały Linux (aka Damn Small Linux) może być odpalony z poziomu Windows. Zaciekawiło mnie to, postanowiłem w wolnej chwili sprawdzić, jak to działa.

Pierwsza ważna rzecz: Komfortowo pracuje się dopiero na konfiguracjach posiadających procesory powyżej 1,5GHz i 512MB RAM. To są minimalne parametry wymagane do wygodnego użytkowania systemu. Nie chcę tutaj mówić, że na słabszych komputerach się nie odpali - sam testowałem na Athlonie 750MHz i 256MB RAM z Windows 98. Mimo to podczas scrollowania użycie wirtualnego procesora (bodajże Pentium II 615MHz) wzrastało do stu procent, a na odpalenie jakiejś aplikacji czeka się ok. 10s.

Zalety - Piekielnie Mały Linux (spakowany) ma tylko 50MB, więc można go szybko ściągnąć i nie zajmuje dużo miejsca na dysku. Jest on bardzo łatwy w uruchomieniu - cała instrukcja sprowadza się do ściągnięcia dsl-embedded.zip, następnie rozpakowania do katalogu i odpalenia dsl-windows.bat z tegoż miejsca.

Wady - Mała szybkość. Emulowanie systemu wewnątrz innego bardzo spowalnia możliwości Piekielnie Małego Linuksa, dlatego polecam go tym, którzy mają mocne maszyny i zaczyna się im nudzić Windows. Także po uruchomieniu jest to zwykły Linux - tak więc ludzie, którzy się nigdy z nim nie spotkali mogą poczuć się całkowicie zdezorientowani. Bezpośrednio po uruchomieniu nie miałem skonfigurowanej sieci, ni zamontowanych windowsowych partycji, co początkujących mogłoby całkowicie zniechęcić. Zawsze jednak dzięki kombinacji Ctrl+Alt mogą powrócić do znanego sobie srodowiska.

Poza tymi wadami jest to ciekawa droga na poznanie alternatywnego systemu, wymagająca naprawdę niewiele od człowieka.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Zima podobno idzie

Pseudośnieg (bo jeszcze nie można nazwać tego kawałka zamarzniętej wody śniegiem) już patrzy na mnie przez okno, a tu skucha: The Sound Of Folk Music - Caribbean Islands. Tak więc gorące klimaty jeszcze u mnie. Ale, mam buty Hakera i zgodznie z f4q hażdego h4x0ra zacznę prejkować budki telefoniczne. Ó.

Znalazłem w Media Markt wreszcie półeczkę z cdkami po 5zł, czego wynikiem jest wyżej wspomniana płytka i jeszcze jedna z tej samej wytwórni: The Sound Of Reggae - Reggae Winners. Jednak druga wydaje się nieco nużyć. Ale za dychę warto.

Przeszedł już ciężki czas - minął termin zgłaszania rozwiązań na OI i jestem pewien, że nie przejdę dalej. Ale ważne to, że czegoś się nauczyłem. Pogłębię swą wiedzę i w przyszłym roku znów spróbuję swoich sił. Więcej niż połowa sprawdzianów też już odeszła w niepamięć, a już niedługo święta. :)

Zainstalowałem kolejną Mandrivę - tym razem wersję 2006 z serwera w Lyon, jednym z miast partnerskich dla Łodzi. Na razie mam dość miłe wrażenia, ale należy kilka rzeczy zrobić, jak instalacja sterowników Nvidii czy poprawienie konfiguracji w kilku miejscach, tak więc wstrzymuję się z dokładniejszym opisem tej dystrybucji.

Co ciekawe, nigdy nie zauważyłem pewnej opcji w AmaroKu - mianowicie, gdy wrzuciłem jeden z godzinnych setów Eda Rusha, to AmaroK pokazał mi coś takiego: Track 01 - Unknown Artist - Live at Urban Jungle. Po kilku minutach zmienił na Track02, potem na Track03 i tak aż do osiemnastu, około sześćdziesiątej minuty. Wyjaśni mi to ktoś? :)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Wiedza jest kluczem

Hmm, nie miałem pojęcia, że coś takiego może istnieć. Dowiedziałem się po zrobieniu C^z na moim ekg2.

A tak to wyglądało.
[1]+  Stopped                 ekg2
Hej, co teraz?
$ ps aux | grep ekg2
dragonee  9170  2.6  6.8   8808  4252 pts/1    T    23:18   0:14 ekg2
dragonee  9177  0.0  0.9   3056   588 pts/1    S+   23:27   0:00 grep ekg2

Co to jest T? Jeszcze nigdy czegoś takiego nie widziałem. Pomyślałem sobie, że po prostu killem go załatwię i nic się nie stanie. Jakież było moje zdziwienie, kiedy dalej proces istniał.

Wreszczie odważyłem się zapytać google. Po kilku chwilach doszedłem do tego:
Tutorial 14, Task 8: Managing Jobs.
HowTo, UnixSystem: Multitasking.

Teraz już wiem, tyle mi wystarcza - fg przywraca program do aktywności. :)

A pozostałymi zagadnieniami zajmę się w wolnym czasie.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Jak ten czas szybko mija

Hikari:
$ uptime
 22:14:57 up 20 days, 0 min,  4 users,  load average: 0.35, 0.11, 0.05
$ 

A wszystko dzięki małej poprawce w /etc/init.d/eagle-usb. Jeszcze ani razu nie zamarudził mi modem przy ręcznym restarcie. :)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Chciałem coś napisać

... ale zapomniałem. Kurczę! Ale tak to jest, jak się myśli o tysiącu spraw naraz.

Wreszcie się nauczyłem względnej obsługi rcs. Przydatne to. Ale na razie i tak nie mam do czego tego zastosować. Albo coś już zrobiłem, albo nie chce mi się tego robić, albo mam własne pokręcone rewizje i wstawianie tego zajęłoby godzinę, albo starsze, funkcjonalne wersje poszły w niepamięć. ;]

Wczoraj miałem ślubowanie i terez oficjalnie jestem członkiem społeczności szkolnej, na co mam paiery i znaczek tysz. ;P

Wpadłem na pewnien pomysł, jak obsługiwać coś w stylu szablonów z joggera, ale cały problem polega na tym, że samo wyszukiwanie da się załatwić prosto, używając dwóch regexpów i wywoływania funkcji z poziomu samej siebie w przypadku bloków danych. Jednak nie mam pomysłu, w jaki sposób przechowywać te dane, aby w łatwy sposób mieć do nich dostęp. Szczególnie, jeśli blok danych jest tablicą struktur danych (załóżmy, że tablica struktur - to tylko nazwa poglądowa, która z filozofią tablic w PHP i tak nie ma zbyt wielkiego związku), jak <ENTRY_BLOCK>, albo <ENTRY_COMMENT>.

Pokombinujemy...

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

ekg2 i Ubuntu

Tego się nie spodziewałem. Nie dość, że nie ld nie mógł znaleźć paczek perlowych, to make clean wystrzeliło mój serwer na księżyc, bo nie znalazło folderu, który nie został stworzony z powodu wywalenia się ld.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Chcę obejrzeć Cubic Tragedy

Wpis na blogu da.killi zawiera link do filmu niestety w hd. Więc należy go zeskalować. Na razie próbuję prostego polecenia, prawie całkowicie zerżniętego z mana. ;]

Polecenie:
$ mencoder *.mov -vf scale=640:360 -oac copy -ovc xvid -xvidencopts 
bitrate=600 -o dch2.mov

Chcę sprawdzić, jak bedzie to wyglądać, chociaż nie spodziewam się zbyt wysokiej jakości po takim bitrate. I oczywiście nie chodzi mi tylko o mój efekt, ale również o sztukę. :D

Na razie jest przy 200s, po kilku minutach. Ale filmik ten też nie ma zbyt dużej długości. No cóż, zobaczymy, czy się uda.

Apdejt: Na początku dźwięk zupełnie nie chciał działać. Ale znalazłem lepsze polecenie.

Ulepszone polecenie:
$ mencoder CUBIC*.mov -vf scale=640:360 -oac lavc -ovc xvid -xvidencopts 
bitrate=1000 -o dch3.mov

Wyszedł ładny pliczek - pięciokrotne zmniejszenie rozmiaru i nie tnie się, jak oryginał. ;]

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Use mtu

Q: Jak zmusić LAN do współpracy z Neo+?
A: ifconfig eth0 mtu 1492 na workstacjach.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Nudzi mi się

Serwer:
cat movie.avi | netcat -l -p 8888
Workstacja:
netcat 192.168.1.1 8888 | mplayer -
Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Ale o co chodzi

W ulubionym szelu:
$ gajim
Na tym komputerze brakuje pythonowych dowiązań do D-Bus.
Nie można użyć D-Bus.

GLib-ERROR **: file gmain.c: line 1898 (g_main_dispatch): assertion failed: (source)
aborting...
/usr/local/bin/gajim: line 26:  6643 Killed                  python gajim.py $@

Przecież nigdy nic się nie działo? Jak to możliwe?

htop mówi, że mam około 200 procesów u siebie. ps aux dopowiada, że każdy jest uruchomiony po kilka razy, w dodatku używają równych przydziałów pamięci i procesora. users wskazuje na pięciu mnie działających w systemie. who dodaje, że czterech mnie zostało włączonych w tym samym momencie, a pierwszy (pozostały) minutę wcześniej. W /var/log/messages wyraźnie pisze, że ten pierwszy został poprawnie zalogowany. A reszta?

Dzisiejszy dzień mojej workstacji też nie służy. Zobaczym, co bedzie po restarcie.

reboot

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Cjk

$ wget -r 
ftp://sunsite.icm.edu.pl/pub/Linux/distributions/mandrakelinux-devel/2006.0/i586/
[...]
==> PASV ... zrobiono.    ==> RETR R-bioconductor-1.4-3mdk.i586.rpm ... zrobiono.
Długość: 90,940,998 (87M)

Que?

Mam nadzieję, że to, co ściągam to nie jest dvd. I że da się z tego zrobić bootowalną płytę.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Smutno być samemu

No cóż, mija już drugi tydzień od momentu, w którym większość moich znajomych nie wiadomo czemu wyjechała masowo gdzieś poza kraj (w większości do Bułgarii). Do tego wyjechała również osoba bliska memu sercu (dla pełnej jasności powiem, że to głównie uczucie w jedną stronę, ale przyzwyczaiłem się już do tego ;]) i przykrzy mi się bez niej. Mam tylko nadzieję, że wróci szczęśliwa z tego wyjazdu.

Z rzeczy przyziemniejszych, przyjemniejszych i mniej romantycznych, to powiem, że moje nowe KDE wygląda lepiej niż wyglądało. Kernelów nie skompilowałem, bo wywalało błędy i tak z doskoku nie chce mi się do tego brać.

Jak ja dawno nie wychodziłem, ale dzisiaj trochę popracowałem "w polu". Jak zwykle, gdy człowiek się troche zmęczy, to mu lepiej.

To już chyba ostatnie. Wkurza mnie bardzo obsługa w jednym ze sklepów komputerowych (nazwę pomińmy milczeniem). Nie dość, że jakieś dwa miesiące temu gość nie tylko zrobił mi skrętkę UTP w starym standarcie (dwie pary skrosowane), ale i po arabsku (od prawej do lewej), to teraz sprzedawca oczywiście zapomniał sprowadzić z hurtowni nargywarki NEC ND 3540, chociaż tydzień temu gadał, że ma być na koniec tygodnia. Teraz też ma być na koniec tygodnia. Następnym razem oleję cały ten sklep, problem w tym, że to najlepiej zaopatrzony, jaki znam. No, już mi lepiej. :)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Jak zmusić

... Amaroka, aby chciał odtwarzać empecetki (Musepack)?

Bardzo, bardzo proste.

Oto sposób.
# urpmi --auto amarok
# amarok
amarokapp: symbol lookup error: amarokapp: undefined symbol:
_ZN11KSystemTray9setPixmapERK7QPixmap
# urpmi --auto libqt3
# amarok
amarokapp: symbol lookup error: amarokapp: undefined symbol:
_ZN11KSystemTray9setPixmapERK7QPixmap
# urpmi amarok-xine-engine
# urpmi xine-musepack
wget wyszedł ze statusem 1
nie ma podanego pliku na serwerze
# urpmi.removemedia -a
# urpmi.addmedia main wypasiony/path/do/cookera
# urpmi.addmedia contrib wypasiony/path/do/cookera
# urpmi.addmedia jpackage wypasiony/path/do/cookera
# urpmi.addmedia plf-free wypasiony/path/do/cookera
# urpmi.addmedia plf-nonfree wypasiony/path/do/cookera
# urpmi --auto-select
Ostatnie powtarzamy, aż dostaniemy komunikat:
Wszystko zostało już zainstalowane
Obsługą błędów zajmuje się użytkownik.

Muff. Ale teraz działa.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Kernel, wpis drugi

Pięknie by mnie ta kompilacja zrobiła, oj tak. Gdy sprawdzałem, czy nie zabrakło przypadkiem miejsca na dysku, zauważyłem 3,5 MB wolnego. Panika! No to przenosimy, co można do /var. Teraz jest wolnego 130 MB, mam nadzieję, że starczy. Nie będę przecież cały czas przy tym siedział (w końcu ma być automagiczne), a i skryptu też nie chce mi się robić. Chyba zaraz idę spać. Dobranoc.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Kernel

Wreszcie zmusiłem się, aby skompilować kernela na moim serwerku, na razie idzie sobie i nie wywala zbyt dużo ostrzeżeń. Nigdy nie miałem doświadczeń z czymś takim, odstraszało mnie multum opcji. Pewnie i tak nie wstanie, coś za dużo wstawiałem na "nie". :)

Czy macie jakieś własne chwyty, aby skrócić czas kofiguracji, czy także czytacie opcja po opcji?

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

AmaroKa i Linuksa

Za używanie, zrobienie pauzy, wyjęcie płytki, wsadzenie innej, późniejszą zamianę z powrotem i działanie bez żadnego mruknięcia, ot jak gdyby nigdy nic...

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Free movie downloads

  • Pomysł: mcv.
  • Wykonanie: ja.
  • Miejsce: tu.
  • Plik można pobrać z tego miejsca. Kodek - FMP4
  • Film zenkodowany Xvidem jest tutaj.
Dla chętnych podaję sposób: 
$ mencoder mf://* -mf type=jpg:fps=20 -ovc raw -o dch.avi
$ mencoder dch.avi -ovc xvid -xvidencopts bitrate=500 -o dch2.avi

Przy próbie enkodowania od razu z jpegów niestety wywalał mi się segfault, więc zastosowałem półśrodki. Uwaga, z tysiąca plików o rozdzielczości 320x240 i fps=20 mencoder wygenerował mi plik o rozmiarze 120MB, więc lepiej nie używać tego przy małej ilości miejsca na dysku. Teraz filmik powinien ładnie otwierać się u wszystkich, którzy mają kodek Xvid. ;)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane
Wcześniejsze wpisy Na górę
Reklamy Google