Zaloguj się

Jog Jajcusia

xmpp:jajcus@jajcus.net

MP3 192kbit/s z Muzodajni

Niedawno zapisałem się do plusowej Muzodajni. Strona nie wygląda zachęcająco i wyraźnie brakuje tam moich ulubionych wykonawców, ale muzyki mają sporo i 5zł miesięcznie za 25 utworów (plus cyrograf na co najmniej 8 miesięcy) to całkiem niezła stawka. Dzisiaj np. ściągnąłem sobie całą najnowszą płytę Kasi Kowalskiej i wykorzystałem na to tylko część z tych pięciu złotych. Za CD kupione w sklepie musiałbym zapłacić dużo więcej, a ostatecznie i tak zripowałbym do OGG i MP3 i słuchał przez komputer i telefon.

No więc jest fajnie, można za grosze sobie ściągać legalną muzykę. Jest nawet parę formatów (w opcji, z której korzystam, bez DRM) do wyboru: MP3 128kbit, WMA 128kbit, WMA 256kbit i MP4 128kbit. Można nawet ściągnąć piosenkę we wszystkich formatach, a i tak płaci się raz.

Problem polega na tym, że mnie WMA nie interesuje, a do 128kbit wolałbym się nie ograniczać, jeśli nie muszę. Napisałem więc sobie taki skrypcik wma2mp3:

#!/bin/sh -xe

input="$1"
output="$2"

if [ -z "$output" ] ; then
	output="${input%.wma}.mp3"
fi

tmpfile="$output.tmp"
ffmpeg -i "$input" -acodec libmp3lame -ab 192k -f mp3 "$tmpfile"
if [ -e "$output" ] ; then
	id3cp "$output" "$tmpfile" || :
fi
mv "$output" "$output.bak"
mv "$tmpfile" "$output"

Skrypt uruchamia się podając nazwę pliku WMA jako argument. Plik ten zostanie przetworzony na MP3 192kbit, mam nadzieję, że z minimalną utratą jakości. Dodatkowo, jeśli już istnieje odpowiedni plik MP3, to tagi ID3 z niego zostaną skopiowane do pliku nowo utworzonego. W ten sposób, jeśli z Muzodajni ściągnę WMA 256 i MP3 128, to z pierwszego biorę muzykę, z drugiego tagi (nie chciało mi się kombinować jak dane o artyście i tytułach wyciągnąć z WMA – łącze mam na tyle szybkie, że mogę sobie ściągać podwójnie).

14 komentarzy do wpisu „MP3 192kbit/s z Muzodajni”


Jak naprawiłem sobie wczoraj laptopa

Wczoraj przed wyjściem na spacer zauważyłem, że laptop coś za bardzo szumi wiatrakami, ale że wychodziłem, to to zignorowałem. Po powrocie próbowałem pracować, ale strasznie się mulił, a wentylatory wyją. No to zabijam Firefoksa (nie raz się tak zamulił, po odwiedzeniu jakiejś flashowej strony). Dalej muli. Na topie na pierwszym miejscu xfce4-battery-plugin. Pewnie się zawiesił. Restartuję panel – bez zmian. Wyłączam XFCE. Dalej wyje i muli... No to wyłączam komputer i włączam ponownie.

Po uruchomieniu cisza i system szybko działa. No to super, problemu nie ma. Pracuję dalej, ale po chwili, po uruchomieniu Xów i Firefoksa znów zawył i zamulił. Wybijam co się da i load spada, ale sam top potrafi 15% CPU zużyć. Najwyraźniej komp nie ma mocy. Sprawdzam temperaturę, tam gdzie mogę, wiec tylko w /proc/acpi/thermal_zone/THM/temperature. 45 stopni, a więc praktycznie zimno. A wentylator wyje. Rozglądam się dalej po ACPI i w /proc/acpi/processor/CPU0/throttling mam: T6: 75%. No tak, działa na 25% mocy i to przy zegarze przestawionym z 1.8GHz na 1.2GHz.

Wygląda na to, że włączyły się wszelkie zabezpieczenia przed przegrzaniem. Ale dlaczego, skoro komputer zimny, z tyłu dmucha też zimnym powietrzem. W sofcie nic ostatnio nie ruszałem, więc to raczej problem sprzętowy. Nie spodobało mi się – nie najlepszy czas na umieranie laptopa, jeśli dopiero co władowaliśmy w niego 300zł na nową matrycę.

Jedyne na co mogłem liczyć to to, że płyta główna i procesor, łącznie z czujnikami temperatury, są sprawne, tylko gdzieś ciepło nie jest odpowiednio odprowadzane. Zadzwoniłem do żonki z pytaniem, czy nie może przypadkiem skądś sprężonego powietrza załatwić. Obiecała spróbować. I przywiozła puszkę.

Czas na chwilę prawdy... otworzyłem obudowę, przedmuchałem zawartość, ze szczególnym uwzględnieniem żeberek radiatora przy wentylatorka. Skręciłem, uruchomiłem i cisza. Piętnaście minut później dalej cisza i wszystko działa sprawnie. Odpaliłem burnP6, wentylatory się uruchomiły, /proc/acpi/thermal_zone/THM/temperature sięgnęło 79, ale komputer dalej działał pełną mocą. Wyłączyłem cpuburna i wszystko wróciło do normy, wentylatory ucichły. A więc usterka usunięta. Ufff... :-)

9 komentarzy do wpisu „ Jak naprawiłem sobie wczoraj laptopa”


Kalendarzowo

Ja mam pamięć dobrą, ale krótką – jak to mój tata mówi. Potrafię zapomnieć o wszystkim, jak mi się w porę nie przypomni. Pół biedy jak zapomnę, że właśnie posłodziłem herbatę i wrzucę kolejne trzy łyżeczki (serio, zdarza mi się), gorzej jak się np. z kimś umówię, a potem nawalę.

Dlatego zawsze ciągnęło mnie trochę do elektronicznych przypominaczy. Jednak zwykle i tak nie znajdowałem dla siebie nic odpowiedniego. Nie może to być coś, do czego miałbym ciągle zaglądać (dlatego odpadają papierowe terminarze), najfajniej by było, jakby nie trzeba było nawet tam nic wpisywać (ale tego to już się raczej nie przeskoczy)... Dobrze, żeby wpisać można było wszystko, i przypominać o ważnych sprawach mogłoby to mi zawsze i wszędzie (no chyba, że śpię – budzić mnie nie może)...

Próbowałem paru kalendarzy komputerowych. Kombajnów typu Evolution nawet nie tykałem – do poczty mam mutta, a nie kalendarz! W ogóle chciałem uniknąć GUI – uruchomienie Xów nie powinno być wymagane dla przypomnienia o ważnej sprawie. Z drugiej strony... jak już te Xy mam odpalone (zwykle mam), to fajnie jakby przypomnienie było w jakimś okienku... Konsolowe programiki tego typu miały jeszcze jeden feler – jakiś własny format danych niekompatybilny z niczym. Właściwie obsługa czegoś takiego niewiele się różniła od obsługi crontaba – do sensownego używania trzebai by sobie to nieźle oskryptować. A ja przecież chciałem coś, co by mi samo przypominało, a nie wymagało programowania...

Oczywiście praktycznie wszystkie rozwiązania oparte o komputer miały pewną wadę: mogły mi o czymś przypomnieć tylko wtedy, gdy akurat byłbym przy komputerze. Czasem nawet wymagały, żeby je specjalnie uruchomił. Dlatego doceniłem aplikację kalendarza w telefonie. Wtedy to był jakiś pierwszy Sony-Ericsson. To była pierwsza przypominajka, którą w miarę regularnie używałem. Jakieś wizyty u dentysty itp. tam wpisywałem. Potem, w dużo prostszym Samsungu X200 też. Już wtedy uznałem, że fajnie byłoby komórkowy terminarz synchronizować z komputerowym, ale szybko się przekonałem, że raczej nic mi z tego nie wyjdzie. Po pierwsze wciąż brakowało mi odpowiedniego kalendarza w komputerze, a po drugie wymiana jakichkolwiek danych między tym Samsungiem a Linuksem była praktycznie niemożliwa (odniosłem umiarkowany sukces jedynie w przypadku książki adresowej).

Używając sobie po trochy komórkowego kalendarza wciąż kombinowałem z kalendarzami w komputerze. Gdy usłyszałem, że Google Calendar potrafi wysyłać SMSy, to postanowiłem to wypróbować. Nie bardzo mi się podobało, że swoje plany, czy wręcz rozkład dnia, miałbym publikować w sieci, ale coś za coś. Wyglądało na to, że w tej aplikacji Google mógłbym łatwo wprowadzać swoje terminy, a przypomnienia przychodziłyby mi na komórkę. Przy okazji dostałbym parę łebdwazerowatych bajerów, jak publikacja kalendarzy, czy rozsyłanie terminów do znajomych. Przez jakiś czas się tym bawiłem, powpisywałem różne terminy... czasem dziwne rzeczy z tego wychodziły (aplikacja nie działała idealnie). A najgorsze było to, że Google potrafiło mi wysyłać SMSy w środku nocy, co było dość nieprzyjemne, gdy zapomniałem wyłączyć telefon... No i aplikacja webowa, to nie to, co tygryski lubią najbardziej.

Jakiś czas później trafiłem na ogłoszenie o nowym wydaniu Sunbirda. Pomyślałem sobie, że to może wreszcie będzie jakaś użyteczna aplikacja kalendarzowa pod Linuksa. Trudno, że GUI. Przynajmniej używa jakiś otwartych standardów... i nawet jest wtyczka do Google Calendar. Zainstalowałem sobie więc tego słonecznego ptaszka i zasubskrybowałem swój googlowy kalendarz. Rzeczywiście dało się tego używać. Żeby nie publikować wszystkich swoich spraw w Google zrobiłem sobie dodatkowy lokalny kalendarz. Potem z lokalnego zrobiłem sieciowy (opublikowany przez WebDAV na moim serwerku), bo przecież nie z jednego komputera korzystam. Pobawiłem się trochę... i jakoś nie zacząłem regularnie z tego korzystać. Jak coś było na tyle ważne, że potrzebowałem przypomnienia, to i tak wpisywałem w komórkę. Dla innych spraw nie chciało mi się kalendarza odpalać.

W końcu kupiłem sobie nową komórkę. Już wybierałem pod kątem obsługi jakiś standardów wymiany informacji. Zakładałem, że taką nowoczesną komórkę, obsługującą standardy łatwo ze swoim Sunbirdem zsynchronizuje. Rzeczywistość okazała się niestety nie taka piękna. Do sychronizacji takich urządzeń pod Linuksem jest właściwie tylko OpenSync (inne aplikacje zwykle korzystają z tej biblioteki), a ja nieźle musiałem się nagimnastykować, żeby tym jakiekolwiek dane między komputerem a telefonem wymienić. A przy synchronizacji kalendarza znikały z terminów informacje o przypomnieniu, czyli to, co dla mnie najważniejsze. Zgłosiłem swoje problemy na odpowiednią listę mailową i nic. Nie wygląda, żeby w tej kwestii miało się coś zmienić.

Nie poddałem się jednak. Skoro telefon ma funkcje synchronizacji, to musi się dać to wykorzystać. Jest funkcja synchronizacji online, może to się nada? Najpierw sprawdziłem Google Calendar, przecież taka aplikacja, takiej poważnej firmy musi mieć taką funkcjonalność... gdzie tam. Wygląda na to, że Google SyncML zignorowało. No to rozejrzałem się za jakimiś publicznymi serwerami SyncML. Spośród paru kandydatów najbardziej przekonało mnie ScheduleWorld. Po poprzednich doświadczeniach miałem spore wątpliwości czy to zadziała, ale spróbowałem... i zadziałało.

Teraz na komputerze mam Sunbirda, w nim swój sieciowy kalendarz i wtyczkę (rozszerzenie) ScheduleWorld. Jak dodam na komputerze termin i wcisnę sync, to po uruchomieniu synchronizacji w telefonie i tam się ten kontakt pojawi. Tak samo w drugą stronę – kontakt dodany w telefonie pojawi się na komputerze. Zachowane są przy tym informacje o przypomnieniach. Był jeden problem – zdarzenie wpisane w komputerze na całą dobę w telefonie było widoczne jak dwudniowe (od 00:00 jednego dnia, do 00:00 drugiego dnia). Okazało się jednak, że wystarczy zaznaczyć jedną opcję w ScheduleWorld i problem zostaje rozwiązany. Jest tam też sporo innych przełączników, umożliwiających ominięcie potencjalnych problemów z innymi urządzeniami.

Do pełni szczęścia brakowało mi jeszcze jednej funkcji – jakieś minimum funkcjonalności bez potrzeby odpalania Xów. No to napisałem sobie Pythonowy skrypt, przy użyciu biblioteki icalendar, który wyciąga dzisiejsze i jutrzejsze terminy z mojego kalendarza (niech żyją otwarte formaty plików!). Lista ta jest wyświetlana przy logowaniu. Wydaje mi się to rozsądnym sposobem przypominania mi o rzeczach, dla których alarm z telefonu byłby przesadą.

No to wydaje mi się, że już mam użyteczny zestaw, z którego będę w stanie regularnie korzystać. Jedyna słabość, to publiczny serwer, który pośredniczy w synchronizacji z komórką... no cóż, czasem można poświęcić odrobinę prywatności dla wygody. I chyba nie mam zbyt dużych powodów, żeby ScheduleWorld nie ufać.

Teraz pytanie: czy rzeczywiście będę z tego wszystkiego korzystał, czy dalej tylko raz na ruski rok coś sobie w komórkę wklepię?

6 komentarzy do wpisu „ Kalendarzowo”


Ta gierka

Od jakiegoś czasu co nasze dziecko (przypominam: pięcioletnie) przychodzi do domu, to od razu się pyta Tato, mogę pograć w tą gierkę?. Ostatnio grzecznie się przy tym bawi (bez płaczu i wzywaniu rodziców, że coś poszło nie tak), a i jest przy tym chwila spokoju dla rodziców, więc pozwalamy jej grać. Szczególnie, że gierka jest raczej ambitna...

No właśnie... kiedyś, co Krysia zobaczyła jak tata w coś gra, to zaraz chciała grać w to samo... a potem był płacz, bo nie umie. Ostatnio przypomniałem sobie Simutrans, dziecku się spodobały domki i samochodziki i obawiałem się, że znowu będzie ryk. Więc przez jakiś czas nie pozwalałem jej grać, najwyżej pozwalałem patrzeć mi przez ramie jak gram (i przegrywam)... W końcu jednak dałem się jej przekonać. Pokazałem jej jak się buduje drogi, przystanki, ustala rozkład jazdy. Pozwoliłem klikać z obawą oczekując momentu, gdy zbankrutuje. O dziwo porażkę przyjęła dobrze i po prostu następnym razem zaczynała od nowa.

Co jakiś czas jej pomagałem. Często dziwiłem się co tam wyprawia, ale ostatnio zaczynają mnie zaskakiwać efekty. Raz stwierdziła puściłam 40 ciężarówek. Najpierw myślę po cholerę tyle... a niech się cieszy, że jeżdżą, i tak zaraz zbankrutuje. Potem a czy ona umie do 40 policzyć?. Chyba umiała, bo ciężarówek była cała ulica i kolejne wyjeżdżały. Prawdę mówiąc nie sądziłem, że w ogóle opanuje kopiowanie pojazdów (raz jej to pokazałem)... Jednak kompletny opad szczęki zaliczyłem, gdy zobaczyłem ile pieniędzy na tym zarabia. Wcisnąłem na chwilę fast forward i już miała prawię milion na koncie... Dzisiaj po piętnastu minutach gry stwierdziła miałam już pieniądze na czerwono, to wcisnęłam przyspieszenie... i miała 200.000 na czarno. Znaczy się, zupełnie bez mojej pomocy zrobiła w grze dochodowy interes. A przecież ile razy mnie się to nie udało. A ja umiem liczyć, umiem czytać, znam angielski... Gra jest pełna różnych szczegółów, w których trzeba się przynajmniej minimalnie orientować (np. skąd dojeżdżają pracownicy do fabryk i kto jest dostawcą surowców), a niespełna sześcioletnia Krysia sobie w tym radzi. Zrozumiała i opanowała też zapisywanie (pod nazwą "krysia1", "krysia2") i odczytywanie stanu gry... No, wciąż nie mieści mi się to w głowie! :-)

Mam nadzieję, że córka nie dorwie się do hasła roota... ;-)

26 komentarzy do wpisu „ Ta gierka”


Koniec z przeskakującym Firefoksem! :-)

Od paru miesięcy męczył mnie problem Firefoksa przeskakującego na aktywny desktop XFCE4, gdy poprosi się go o otworzenie jakiegoś URLa z innej aplikacji, albo gdy po prostu załaduje się jakaś strona. Bardzo nieprzyjemne, gdy w tym czasie próbuje się korzystać z innego aplikacji na innym ekranie. Problem się pojawiał (kilka razy, bo na różnych maszynach) po jakimś upgradzie XFCE albo Firefoksa i nie potrafiłem się go pozbyć. Próbowałem wszelkich opcji w about:config Firefoksa, wszystkich przełączników w konfiguracji XFCE... i nic. Googlałem za tym wielokrotnie, bez skutku, ale trudno mi było uwierzyć, że nikt inny nie zauważył takiego zachowania, albo że nikomu innemu to nie przeszkadza...

Dzisiaj, po kolejnym takim przeskoku nie wytrzymałem i zajrzałem do źródeł XFWM. Wyszło na to, że zachowanie to zależy od parametru activate_action, XFWM przełącza desktop na aktywne okno, gdy parametr ten jest równy ACTIVATE_ACTION_BRING. Potem wyczytałem, że parametr ten jest pobierany z opcji konfiguracyjnej pod nazwą Xfwm/ActivateAction.

Najpierw uruchomiłem GUI konfiguracyjne XFCE, żeby jeszcze raz zobaczyć, czy nie ma tam tej opcji. Nie znalazłem. Zajrzałem więc do swojej konfiguracji (~/.config/xfce4/mcs_settings/xfwm4.xml) i takiej opcji tam nie było, ale miejsce wyglądało na właściwe. Dopisałem więc:

<option name="Xfwm/ActivateAction" type="string"
value="none"/>

... i zadziałało. :-) Wreszcie! Po wielu miesiącach męczarni!

Potem zajrzałem na Google, tym razem szukając tego konkretnego parametru. Okazało się, że nie ja jeden miałem ten problem, a rozwiązanie w sieci jest podane, wiele razy. Widać, jeszcze nie do końca umiem z Google korzystać... :-(

No i nie rozumiem czemu tak wyjątkowo upierdliwe zachowanie jest kontrolowane jakąś ukrytą opcją, której normalnie nie można kilkoma kliknięciami wyłączyć...

Update: Kurde, znowu przeskoczył. :-( Chyba jednak na tym komputerze mam zbyt stare XFCE... Jak ja to testowałem?

Update 2: Właściwym plikiem dla wspomnianej opcji jest: ~/.config/xfce4/mcs_settings/wmtweaks.xml. Po zmianie należy całe środowisko zrestartować. Wygląda na to, że teraz naprawdę działa.

2 komentarze do wpisu „ Koniec z przeskakującym Firefoksem! :-)”


Awaria...

Z pracowym komputerem miałem problemy już od dawna. Jak tylko przyniosłem go do biura, to przestał działać zasilacz (który dzień wcześniej, w domu działał bez zarzutu). Wymieniłem na nowy.

Z nowym zasilaczem niby działał, ale jak się coś podłączyło (czy to kabel sieciowy, czy pendrive) to potrafił się momentalnie zawiesić na twardo. Do zawieszenia systemu wystarczyło czasami przełączyć się z Xów na konsolę (czasem z tego powodu system wieszał mi się parę razy jednego dnia, a czasem przez parę tygodni nie było problemów). Myślałem, że dalej coś z zasilaniem, ale wymiana zasilacza na jeszcze inny nie powiodła się (w ogóle się nie uruchamiał). Właściwie to już nawet nie wiem, który zasilacz mam zamontowany...

Samo przełączanie na konsole sprawiało problemy tylko czasami... ale był też inny problem. Gdy korzystałem z konsoli (framebuffer), to czasem aplikacja rysująca coś w Xach potrafiła mi tą konsolę skaszanić, tak, że nie dało się zrobić nic poza przejściem do Xów. Problemy takie sprawiały tylko niektóre aplikacje, a właściwie ich elementy: migający kursor w xtermie kaszanił, animacja Flash w Firefoksie nie, ale już animowany gif w tym samym firefoksie też kaszanił. Freeciv nie kaszanił, OuterSpace kaszanił. Nauczyłem się więc przełączać na firefoksa z bezpieczną zakładką (teraz to się chyba tab nazywa) przed przejściem na konsolę...

Uznałem, że dość tego. Przynajmniej z tymi graficznymi problemami trzeba skończyć. Postanowiłem zmienić kartę graficzną, z tego podejrzanego Matroxa (ale to podobno dobre karty...) na Radeona, który gdzieś mi sie w domu walał... Wyciągam starą kartę, wkładam nową, uruchamiam komputer... i ciemność, widzę ciemność. Otrzymywałem albo czarny ekran, albo jakieś No signal wygenerowane przez monitor.

No cóż... ten Radeon mógł być zepsuty... spróbowałem ze kartą na płycie głównej... Ciemność. No to wsadziłem znowu Matroksa... to samo. A przy tym słychać i widać, że poza brakiem obrazu, komputer startuje normalnie. Myślę sobie: zepsułem monitor :-( Podłączyłem zapasowy (CRT, nie nadający się za bardzo do codziennej pracy)... Dalej ciemność. Na wszystkich trzech kartach. Już zacząłem się obawiać, że zepsułem drugi monitor...

Jednak oba monitory były sprawne – podłączone do routera pokazywały co trzeba. A więc płyta główna, która już mi od dawna wydawała się podejrzana... Poleciałem więc do sklepu i kupiłem nową płytę z procesorem (pod stary procesor już nic odpowiedniego nie mieli, ale przynajmniej pamięci nie musiałem wymieniać). Na razie działa. A do grafiki używam zintegrowanego Intela 865G. Zabawy z Radeonem sobie odpuszczam (przynajmniej na razie).

5 komentarzy do wpisu „ Awaria...”



Jesteście obserwowani...