„Wiele jest prac, których nie możesz wykonać, dopóki się nie odważysz, lecz jeszcze więcej takich, których się nie nauczysz, nie wykonując”.

(przysłowie armeńskie)

JTAG vs. fuse bity ATmegi128

środa, 29 kwietnia 2009 @ 21:38
Do kategorii: Elektronika

AVR JTAGW naszym projekcie grupowym na ETI korzystamy z modułu MMnet104 z mikrokontrolerem ATmega128. W wyniku bliżej nieokreślonych manipulacji procesor przestał odpowiadać na próby komunikacji po SPI za pomocą programatorów ISP.

Po konsultacjach uzgodniliśmy, że przed dramatyczną próbą wybebeszenia ATmegi i potraktowania ją programatorem równoległym spróbujemy użyć JTAG-a. Szczęśliwie okazało się, że da się w miarę prosto zbudować taki programator w warunkach domowych.

Czytaj dalszą część wpisu »

Uruchamianie programu Java z użyciem Pythona

sobota, 25 kwietnia 2009 @ 12:26
Do kategorii: GNU/Linux, Komputer

Na potrzeby jednego z projektów na uczelni chciałem sprawdzić, jakie możliwości udostępnia GUI pakietu JDMP. Nie lubię jednak Javy i nie chciało mi się w niej pisać nawet króciutkiego programiku. Postanowiłem, że zamiast tego po raz pierwszy spróbuję Jythona.

Jython, następca JPythona, jest implementacją Pythona w Javie i, co w tym przypadku najważniejsze, pozwala posługiwać się klasami Javy przez skrypty Pythona (a także z użyciem trybu interaktywnego!).

Czytaj dalszą część wpisu »

Walka z RandR w GNOME

czwartek, 16 kwietnia 2009 @ 21:37
Do kategorii: GNU/Linux, Komputer

RandR to rozszerzenie X-ów, które pozwala m.in. na dynamiczną zmianę rozdzielczości ekranu i zarządzanie monitorami. Bardzo rzadko z niego korzystam, bo na ogół albo pracuję na wbudowanej matrycy laptopa, albo podłączam zewnętrzny monitor jeszcze przed uruchomieniem systemu, a wtedy X-y same go wykryją. Oczywiście, w razie czego zawsze można skorzystać z

$ xrandr --auto

i wszystkie podłączone monitory automatycznie się skonfigurują. Z użyciem tego konsolowego programu można też pobawić się w tworzenie bardziej złożonych ustawień, typu jeden monitor nad drugim, jeden obok drugiego itp.

Żeby było nam wygodniej, przyjemniej i cieplej w plecy GNOME udostępnia GUI dla RandR. Wynalazek ten figuruje w moim menu jako Ekran i uruchamia program gnome-display-properties. Jest to narzędzie, które teoretycznie może i ułatwia życie, ale w praktyce przynosi więcej szkody niż pożytku, przynajmniej w moim wypadku.

Czytaj dalszą część wpisu »

Ranking mirrorów Archa

środa, 1 kwietnia 2009 @ 15:13
Do kategorii: GNU/Linux, Komputer

Dziś coś z cyklu „Mała rzecz a cieszy…”. Otóż od dłuższego czasu irytowała mnie powolność działania pacmana w Archu. W szczególności nawiązanie połączenia z repozytorium nierzadko trwało wieki. W końcu postanowiłem coś z tym zrobić. Oczywiście, okazało się, że problem można rozwiązać w ciągu kilku minut, włączając to odnalezienie stosownej informacji na wiki dystrybucji.

Czytaj dalszą część wpisu »

Problem z drukowaniem z KDVI

sobota, 7 marca 2009 @ 17:17
Do kategorii: GNU/Linux, Komputer

Na swoim Arch Linuksie pracuję pod GNOME, ale korzystam z kilku aplikacji KDE, w tym z Kile, który jest edytorem LaTeX-a. Przygotowałem dziś sprawozdanie z laboratorium, które chciałem wydrukować bezpośrednio z przeglądarki KDVI, jednak ta opluła mnie błędem /bin/bash: cupsdoprint: command not found. Pomyślałem, że może to wina kdemod3, które zawiera ten programik w jakimś oddzielnym pakiecie. Okazało się jednak, że wspomniany program znajduje się w systemie w katalogu /opt/kde/bin/ i powłoka bash widzi go, zarówno z konta użytkownika, jak i roota.

Postanowiłem zatem obejść problem, eksportując sprawozdanie do PDF-a i drukując za pomocą Evince. Niestety, z poziomu Kile nie udało się to ze względu na błędy w osadzaniu plików EPS (buntował się albo TeX, albo Evince, zależnie od użytego sposobu). Pozostał tylko wydruk do PDF-a z poziomu KDVI.

Rzuciłem jednak okiem na Options w oknie wydruku KDVI i zmieniłem opcję Print system currently used z CUPS na Generic UNIX LPD Print System. Ku mojemu zdziwieniu, wydruk ruszył, a co jeszcze bardziej zaskakujące, jakość okazała się lepsza niż w pierwszym obejściu problemu (wydruk był bardziej „gładki”).

Zagospodarowanie paska bocznego w Firefoksie

środa, 25 lutego 2009 @ 20:55
Do kategorii: GNU/Linux, Komputer, Lifehacking

Od czasu do czasu miewam coś w rodzaju przebłysku inteligencji, co na ogół objawia się tym, że usprawniam jakiś fragment mojego otoczenia, który od dawna mnie irytował.

Ostatnio padło na zbyt szerokie okno przeglądarki internetowej. Przyzwyczajony jestem do maksymalizowana okna Firefoksa, jednak w czasach coraz większych rozdzielczości ekranu nawyk ten niesie ze sobą pewną niedogodność. Otóż niektórzy twórcy stron nie ograniczają szerokości bloków z treścią, co owocuje wyświetlaniem zbyt długich wierszy tekstu, które po prostu nie nadają się do czytania.

Czytaj dalszą część wpisu »

Konwersja kluczy z OpenSSH do PuTTY’ego

poniedziałek, 9 lutego 2009 @ 9:46
Do kategorii: GNU/Linux, Komputer

Jeżeli wygenerujemy sobie klucz SSH (nazwijmy go test_id_dsa), korzystając z OpenSSH:

$ ssh-keygen -t dsa

to PuTTY przy próbie autoryzacji tym kluczem wesoło zamiga do nas komunikatem Unable to use key file “C:\test_id_dsa” (OpenSSH SSH-2 private key).

Zagadką jest dla mnie, dlaczego tego klucza nie przekonwertuje sobie w locie na swój własny format, ani nawet nie podpowie użytkownikowi, że ten może zrobić to ręcznie. Na szczęście, my wiemy, co robić.

Uruchamiamy PuTTYgen (PuTTY Key Generator), wybieramy Conversions -> Import key, importujemy klucz (jeżeli jest zabezpieczony hasłem, zostaniemy o nie zapytani) i klikamy Save private key. Otrzymujemy klucz test_id_dsa.ppk, który będzie akceptowany przez PuTTY’ego.

Jeżeli z jakichś powodów chcemy dokonać konwersji kluczy pod Linuksem, instalujemy PuTTY’ego, po czym wydajemy polecenie:

$ puttygen test_id_dsa -o test_id_dsa.ppk

Montowanie Canona EOS 1000D

czwartek, 5 lutego 2009 @ 19:20
Do kategorii: GNU/Linux, Komputer

Niedawno pisałem o tym, jak uporać się z uprawnieniami do urządzenia USB, reprezentującego programator AVR. Niedawno okazało się, że podobny trick pozwala zamontować lustrzankę Canon EOS 1000D.

Niestety, aparat, a konkretnie umieszczona w nim karta pamięci, nie jest widziana jako zwykły zewnętrzny dysk, ale jako urządzenie obsługiwane przez bibliotekę gphoto2. W przypadku Archa kończy się to tym, że po podłączeniu aparatu GNOME się buntuje: Błąd podczas inicjowania aparatu cyfrowego: -53: Nie udało się zawłaszczyć urządzenia USB.

Aby rozwiązać ten problem i uzyskać odpowiednie uprawnienia, dopisałem do mojego /etc/udev/rules.d/95-myrules.rules (nie edytowałem 54-gphoto.rules, żeby nic mi tego nie nadpisało przy kolejnej aktualizacji; poza tym wolę swoje wpisy trzymać w oddzielnym pliku):

ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="317b", ATTRS{product}=="Canon Digital Camera", GROUP="camera", MODE="0664"

Oczywiście, należy dodać się do grupy camera:

# gpasswd -a użytkownik camera

Niestety, funkcjonalność dostarczana przez gphoto2 okazuje się trochę uboga. Zdjęcia można pobrać bez problemu, jednak przy ich usuwaniu pojawiają się problemy (zwłaszcza, gdy chce się usunąć kilka na raz). Skopiować czegokolwiek na kartę w ogóle mi się nie udało. Poza tym, przed importowaniem zdjęć z za pomocą digiKama należy odmontować aparat z poziomu GNOME, gdyż inaczej digiKam nie będzie mógł uzyskać dostępu do danych. A może ktoś zna rozwiązanie tych problemów?

PS. Pliki RAW można wywołać za pomocą plugina do GIMP-a o nazwie ufraw. W Archu jest on dostępny w paczce gimp-ufraw.

Rzecz o efkach

środa, 21 stycznia 2009 @ 18:22
Do kategorii: Elektronika

Rozgałęźnik + przejściówkiStanąłem przed zadaniem rozdzielenia sygnału telewizyjnego na dwa telewizory. Zdawało mi się, że zakup rozgałęźnika rozwiąże cały problem. Okazało się jednak, że nie wziąłem pod uwagę jednego — w powszechnym użyciu są dwa standardy złącz: złącze F, w które był wyposażony rozgałęźnik, oraz zwykłe złącze antenowe (Belling-Lee connector, IEC 169-2 connector, TV aerial plug), w które wyposażone są odbiorniki i gniazdo z sygnałem. Byłem tą niespodzianką lekko skonfundowany, w końcu student elektroniki powinien sobie z tak podstawowych rzeczy zdawać sprawę.

Czytaj dalszą część wpisu »

Brak opcji wstrzymania i hibernacji w GNOME

poniedziałek, 5 stycznia 2009 @ 12:33
Do kategorii: GNU/Linux, Komputer

Kilka tygodni temu spotkała mnie niespodzianka, gdy na uczelni, po przejściu do drugiej sali, wyciągnąłem laptopa z plecaka. Kilkanaście minut wcześniej zamknąłem pokrywę, przyzwyczajony, że w takiej sytuacji, przy braku zasilacza, system automatycznie przejdzie w stan wstrzymania. Niestety, komputer był rozgrzany, bo cały czas pracował. Okazało się, że z menu GNOME w Archu (System -> Wyłączanie komputera) w ogóle znikły opcje dotyczące wstrzymania i hibernacji.

Przyczyną problemów jest chyba jakieś zamieszanie wokół HAL-a. Na szczęście na forum Archa można znaleźć proste rozwiązanie: do konfiguracji w pliku /etc/PolicyKit/PolicyKit.conf dopisujemy

<match action="org.freedesktop.hal.power-management.suspend">
<return result="yes"/>
</match>
 
<match action="org.freedesktop.hal.power-management.hibernate">
<return result="yes"/>
</match>
 
<match action="org.freedesktop.hal.power-management.shutdown">
<return result="yes"/>
</match>

Pierwsza opcja odpowiada za wstrzymanie, druga za hibernację, trzecia za wyłączanie systemu. Co prawda, opcja wyłączania jest dostępna i bez tego wpisu, ale ktoś dopisał ją na forum z komentarzem wskazującym, że może być ona przydatna do wyłączania laptopa przy krytycznie niskim poziomie naładowania akumulatora.

Zmiany powinny być widoczne w systemie od razu, bez restartowania czegokolwiek. W razie problemów można zapoznać się z drugim rozwiązaniem.

.