10 listopada 2008
18:22:38
|
kategorie:
linux,
muzyka,
oprogramowanie,
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).
10 kwietnia 2008
19:01:27
|
kategorie:
linux,
sprzęt,
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... :-)
31 marca 2008
18:53:50
|
kategorie:
linux,
oprogramowanie,
python,
w sieci,
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ę?
17 marca 2008
16:44:48
|
kategorie:
gry,
linux,
rodzinka,
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...
;-)
22 lutego 2008
10:50:42
|
kategorie:
linux,
oprogramowanie,
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.
24 września 2007
15:27:30
|
kategorie:
linux,
praca,
sprzęt,
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).