poniedziałek, 6 grudnia 2010

JDK 64bit + WTK on Ubuntu

If you installed WTK (wireless toolkit) on your Ubuntu 64bit system you'll most probably have a little problem. When you try to run the mobile emulator you get

java.lang.UnsatisfiedLinkError: /usr/local/netbeans-6.9/mobility/WTK2.5.2/bin/sublime.so: /usr/local/netbeans-6.9/mobility/WTK2.5.2/bin/sublime.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)

Fix (execute in a terminal):
sudo apt-get install ia32-sun-java6-bin
sudo gedit /usr/local/netbeans-6.9/mobility/WTK2.5.2/bin/emulator
edit javapathtowtk=
to
javapathtowtk=/usr/lib/jvm/ia32-java-6-sun-1.6.0.22/bin/

niedziela, 28 listopada 2010

Symfony form modification problem

After Symfony form customization you'll probably get an error like this:

Warning: array_key_exists() [function.array-key-exists]: The first argument should be either a string or an integer in lib/vendor/symfony/lib/util/sfParameterHolder.class.php on line 53

the fix is to specify widget's name format

$this->widgetSchema->setNameFormat("XYZ[%s]");

So you'll get something like

class AgendaUserForm extends BaseAgendaUserForm
{
public function configure(){

$this->setWidgets(array(
'email' => new sfWidgetFormInput(),
'pass' => new sfWidgetFormInputPassword()
));

$this->setValidators(array(
'email' => new sfValidatorEmail(),
'pass' => new sfValidatorString(array('max_length' => 255)),
'id' => new sfValidatorPass()
));

$this->widgetSchema->setNameFormat("ABC[%s]");
}
}

poniedziałek, 15 listopada 2010

Googlecl authentication error

If you get an error like this:
> picasa list-albums
Traceback (most recent call last):
File "/usr/bin/google", line 445, in run_interactive
run_once(options, args)
File "/usr/bin/google", line 577, in run_once
task.run(client, options, args)
File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 476, in _run_list_albums
force_photos=False)
File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 96, in build_entry_list
album_entry = self.GetAlbum(user=user, titles=titles)
File "/usr/lib/pymodules/python2.6/googlecl/picasa/service.py", line 212, in get_album
return self.GetEntries(uri, titles)
File "/usr/lib/pymodules/python2.6/googlecl/base.py", line 206, in get_entries
feed = self.GetFeed(uri)
File "/usr/lib/pymodules/python2.6/gdata/photos/service.py", line 177, in GetFeed
return self.Get(uri, converter=gdata.photos.AnyFeedFromString)
File "/usr/lib/pymodules/python2.6/gdata/service.py", line 1063, in Get
headers=extra_headers)
File "/usr/lib/pymodules/python2.6/atom/__init__.py", line 92, in optional_warn_function
return f(*args, **kwargs)
File "/usr/lib/pymodules/python2.6/atom/service.py", line 185, in request
data=data, headers=all_headers)
File "/usr/lib/pymodules/python2.6/gdata/auth.py", line 865, in perform_request
if self.oauth_input_params.requestor_id:
AttributeError: 'OAuthInputParams' object has no attribute 'requestor_id'

the simplest fix is deleting googlecl configuration. For Ubuntu 10.10
rm -r ~/.config/googlecl/
will do the trick :-).

środa, 10 listopada 2010

Gnome-do opensearch plugins not found

To workaround this you have to manually copy the plugins from /user/lib/firefox-/searchplugins into /home//.mozilla/firefox//searchplugins/ or create a symlink.

http://do.davebsd.com/wiki/OpenSearch_Plugin

poniedziałek, 1 listopada 2010

Ubuntu update to 10.10 Maverick killed my fglrx

Due to library problems I finally decided to update my Ubuntu to Maverick (10.10). Everything about the update was running smooth untill I tried running Xorg. Seemed my fglrx was broken - no big deal .. but reinstalling fglrx didn't fix it. I've tried drivers from repository, latest fglrx from amd's site (ati-driver-installer-10-10-x86.x86_64.run). Nothing helped... as a act of desperation i've tried

sudo stop gdm
sudo apt-get purge fglrx*
sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri fglrx-modaliases
sudo dpkg-reconfigure xserver-xorg
sudo apt-get install --reinstall xserver-xorg-core
sudo rm /etc/X11/xorg.conf

and then managed to install fglrx using jockey (menu system, administration, hardware drivers) and finally it was ok.

poniedziałek, 25 października 2010

Get browser's window size with javascript

Today I've noticed that our beloved Internet Explorer does not interpret document.body.scrollWidth and it doesn't support window.innerHeight. To get browser's window width and height into variables windowWidth and windowHeight you can use some code like

if (window.innerHeight != undefined){
// normal browsers
var windowHeight = window.innerHeight;
var windowWidth = document.body.scrollWidth;
} else {
// ie .. "do different .. "
var windowHeight = document.documentElement.clientHeight;
var windowWidth = document.documentElement.clientWidth;
}

Pidgin freezes on new messages

I had a little problem with Pidgin .. often getting a new message caused Pidgin to freeze .. unfortunately not only Pidgin (but also some other running apps :/). This issue is caused by system notification bubbles and can be permanently fixed by removing the pidgin-libnotify package. Simply run

sudo apt-get remove pidgin-libnotify

in a terminal or use synaptic to get rid of it. After restarting Pidgin everything should be fine :-).

sobota, 23 października 2010

Hp deskjet 3650 driver issues .. 1158: ?

I've been recently trying to install drivers for hp deskjet 3650 under windows xp. I've downloaded an exe file from hp (3600_enu_win2k_xp.exe) and while trying to install it i've got the funniest error message ever



What the hell?

Ehh .. googling showed that installing requires passing "/L1033" parameter to the installer.

czwartek, 30 września 2010

Double-sided printing under Linux

I often have a lot of documents to print and prefer double-sided printouts. Most Linux printer drivers (if not all) don't support double-sided printing, you can always do it by hand .. but i'm just too lazy for such a solution. I wanted to magically rearrange my pdfs for double-sided printing. For my printer (Minolta 1300W) I have to first print even pages, then insert the paper back to paper feeder and continue printing odd pages is reversed order. To accomplish this task I used pdftoolkit (http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/). In most Linux distributions it should be available in repository, like in Ubuntu you can install it using Synaptic or typing in a terminal

sudo apt-get install pdftk

To convert my pdfs I had to use the following command
pdftk A=kalman_intro.pdf cat A1-endeven Aend-1oddS output kalman_dsp.pdf

You first select the input file kalman_intro.pdf with handle A, then use parameter cat for catenate, then select all even pages of document A (from 1 to the last page - end), select all odd pages in reversed order (handle A, from last page to first, odd pages) - the S stands for south and tells pdftk to rotate these pages 180 deg. Finally you specify the output file. This way you can make any pdf double-sided printing ready without effort :).

For some more info on pdftk try
http://www.pdflabs.com/docs/pdftk-man-page or http://www.pdflabs.com/docs/pdftk-cli-examples/

java.util.MissingResourceException: Can't find bundle for base name ....

I had some nasty problems using ResourceBundle and it's subclasses. No matter what I tried always finished with

java.util.MissingResourceException: Can't find bundle for base name

Unfortunately ResourceBundle.getBundle doesn't look for your translation files in the package in which it's used but a default package ''none''. The solution is to use fully-qualified-resource-names like com.project.file. You can find the fully-qualified-resource-name by viewing the structure of default_project_directory/build/classes/. For abc/g.package you should use
ResourceBundle.getBundle("abs.g").

http://blogs.sun.com/chengfang/entry/p_java_util_missingresourceexception_can

wtorek, 21 września 2010

Turning on compositing in metacity

Metacity is the default window manager in many Linux distributions such as Ubuntu. By default the compositing is switched to off .. so you may have problems with eye-candy docks like docky. To turn on compositing in metacity open the gconf-editor (from terminal or using alt+f2) and switch
apps -> metacity -> general -> compositing-manager to on.

poniedziałek, 20 września 2010

Broken ubuntu 2.6.32-24 kernel, fglrx can't be installed

So you wanted to install fglrx driver for your ati card on Ubuntu with 2.6.32-24 kernel but finished with an error like ...

update-alternatives: using /usr/lib/fglrx/ld.so.conf to provide /etc/ld.so.conf.d/GL.conf (gl_conf) in auto mode.
update-initramfs: deferring update (trigger activated)
Loading new fglrx-8.771 DKMS files...
First Installation: checking all kernels...
Building only for 2.6.32-24-generic
Building for architecture amd64
Building initial module for 2.6.32-24-generic

Error! Bad return status for module build on kernel: 2.6.32-24-generic (amd64)
Consult the make.log in the build directory
/var/lib/dkms/fglrx/8.771/build/ for more information.

Seems the current kenel is broken .. my 'fix' to this issue was returning to kernel 2.6.32-23. After changing the kernel fglrx installs perfectly.

If you don't have this kernel installed just grab it from the repo using synaptic or apt-get.
This package is named 'linux-image-2.6.32-23-generic'.

niedziela, 19 września 2010

Fix virtualbox usb on a ubuntu host

You can't use usb devices with virtualbox? They show up in the list but are disabled?
Just add your user do vboxusers group by running in the terminal

sudo usermod -g vboxusers $(whoami)

and after relogging usb support in virtualbox should work like a charm.

sobota, 11 września 2010

Mounting ssh shares using sshfs

SSH is absolutely great. You can not only access remote computer's shell but also files. Probably you know you can access a ssh server using places -> connect to server from Gnome's menu. It's very usefull but with some programs (like matlab) you need to your mount ssh share. To do so you'll need sshfs ...

sudo apt-get install sshfs

To mount your share just use

sshfs [user@]host[:remote_dir] mount_point [ssh_options]

so for example

sshfs bodwick@192.168.0.1:/home/bodwick/my_ssh_share ~/my_remote_ssh_share/

to mount directory 'my_ssh_share' placed in remote user's home folder, host ip 192.168.0.1 using user name 'bodwick', the share is mounted in 'my_remote_ssh_share' in local user's home folder.

In case of any problems just consult the man pages.
http://www.digipedia.pl/man/doc/view/sshfs.1/

czwartek, 9 września 2010

Run app in background

So you want to run some application in background without closing it you don't know how?
Try adding & after the command and it's arguments.

appname args &

Chroot

Chroot is great and powerfull. Comes very usefull when you want to repair a Linux install straight form Live-cd. Just follow the steps:

mount -t proc none /media/DISK/proc
mount -o bind /dev /media/DISK/dev
cp -L /etc/resolv.conf /media/DISK/etc/resolv.conf

Of course change the DISK with a propper drive name.
The last command is

cp /etc/resolv.conf /media/DISK/etc/
chroot /media/DISK/ /bin/bash

Enjoy :-)

środa, 25 sierpnia 2010

Modyfikacja priorytetu procesu

Dostęp do manuala chyba każdy ma, ale w skrócie - neutralny priorytet - 0. Zwykły użytkownik może zmieniać priorytet w zakresie 0-19 przy czym jest dodatnie wartości obniżają czas przydzielany danej aplikacji. Super użytkownik czy administrator może nadawać priorytet także w zakresie ujemnym (do -20) więc de facto go zwiększać. Polecenie nice modyfikuje priorytet uruchamianej aplikacji o wskazaną wartość względem neutralnego zera.

nice -n 10 program

Aby zmienić priorytet działającego procesu należy sięgnąć po polecenie renice.

renice 10 -p PID

gdzie PID to id procesu, którego priorytet chcemy zmienić.

SSH - czary

SSH to cudowne narzędzie .. wśród wielu fajnych możliwości najciekawszą jest na mój gust przekierowywanie sygnału X11

ssh user@host -C -X gnome-terminal

cudowne czary :D. Przy okazji zapraszam na kulinarny blog Kasi:

http://www.katespiehole.blogspot.com/

poniedziałek, 23 sierpnia 2010

PID procesu

Notka dla mnie :)

#!/bin/bash

PROGRAM=/path/to/xxx
$PROGRAM &
PID=$!
echo $PID > /var/run/program.pid

poniedziałek, 9 sierpnia 2010

Liczymy linie kodu

Poniżej wrzucam ''skrypt'' basha liczący linie kodu w plikach matlaba *.m w bieżącym katalogu i podkatalogach.

L=0
for f in $(find . -name "*.m" -type f -print);do L=$(($L+$(cat $f | wc -l))); done
echo $L

I już wiemy ile linijek kodu naskrobaliśmy :)...
a liczba wierszy wszystkich plików to oczywiście

L=0
for f in $(find . -type f -print);do L=$(($L+$(cat $f | wc -l))); done
echo $L

Na shellach innych niż Bash czy nawet na starszych Bashach może wystąpić konieczność zamiany $(()) na ``.

poniedziałek, 26 lipca 2010

Gnome-Do - szpetna ikona wyszukiwania

Jeśli lupka wyszukiwania w Gnome-Do wygląda co najmniej brzydko to najwyraźniej pora podmienić ikonkę ...

scalable/actions/search.svg

używanego zestawu ikon.

could not update ICEauthority file /home/bodwick/.ICEauthority

Po instalacji ET (wolfenstein: enemy territory) na laptopie dorobiłem się nowego błędu .. podczas logowania na koto użytkownika wywala

Could not update ICEauthority file /home/bodwick/.ICEauthority

sudo chown -R user:user /home/user/.*

Fix pochodzi z forum ubuntu http://ubuntuforums.org/showthread.php?t=1081730

piątek, 23 lipca 2010

Ubuntu 10.04 i problem rozjaśniania/przyciemniania matrycy

Po aktualizacji do Lucida miałem problemy ze sterownikiem fglrx z oficjalnych repozytoriów. Mianowicie nie działała regulacja jasności regulacji matrycy lcd z użyciem klawiszy funkcyjnych i appletu panelu gnoma. Jedyną metodą była ręczna zmiana wartości brightness matrycy w /proc. Lekiem okazały się sterowniki amd w wersji 10-6.. po ich instalacji regulacja jasności działa jak należy.

Latex i cytaty

Latex oferuje kilka rodzajów cytatów pozycji bibliograficznych.
Posiadając w bibliografii wpis
@book{goossens93,
author = "Michel Goossens and Frank Mittlebach and Alexander Samarin",
title = "The Latex Companion",
year = "1993",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"
}

możemy uzyskać

\usepackage{natbib}

\citet{goossens93} Goossens et al. (1993)
\citep{goossens93} (Goossens et al., 1993)
\citet*{goossens93} Goossens, Mittlebach, and Samarin (1993)
\citep*{goossens93} (Goossens, Mittlebach, and Samarin, 1993)
\citeyear{goossens93} (1993)
\citeauthor{goossens93} Michel Goossens and Frank Mittlebach and Alexander Samarin

więcej informacji
http://www.andy-roberts.net/misc/latex/latextutorial3.html

wtorek, 20 lipca 2010

Latex i tylda

Notka na przyszłość i dla potomnych - żeby uzyskać w Latexie tyldę trzeba użyć kombinacji

\~{}

(backslash, tylda i nawiaski)

czwartek, 15 lipca 2010

subfig, caption i inne problemy

Dziś myślałem, że osiwieję z pomocą Latexa. W celu zgrupowania obrazków w dokumencie Latexa używam środowiska subfig, ale niestety miałem problem z referencją do figury zbiorczej. Pierwszym problemem było ostrzeżenie głoszące z pełną stanowczością, że pakiet caption ma problemy ze względu na jednoczesne użycie jakiegoś pakietu niewspieranego. Sensownym rozwiązaniem okazało się wyłączenie caption przy ładowaniu pakietu subfig

\usepackage[caption=false]{subfig}

Mimo wszystko próba odniesienia do figury zbiorczej w tekście kończyła się wstawieniem niewłaściwego numerka. No i dała o sobie znać upierdliwość Latexa - z rozpędu miałem label przed caption środowiska figure.. poprawka rozwiązała problem. Podsumowując: CAPTION=FALSE && caption => label.

sobota, 19 czerwca 2010

WiiLTB swap

Niestety inżynierowie z Nintendo tradycyjnie nie napakowali swojej konsoli zawrotnymi ilościami pamięci operacyjnej. Wystarczy jej na pracę systemu i kilku demonów, ale w pewnych momentach może się jej zabraknąć. No oczywiście przydałby się swap. Jako, że nie chcę zakładać kolejnej partycji ani na pendrive ani dysku zdecydowałem się na przestrzeń wymiany w pliku. Zacznijmy od utworzenia gigowego pliku swap

sudo dd if=/dev/zero of=wiiswap dd=1024 count=1024000

sformatowania go

sudo mkswap wiiswap

i dodania do istniejącej przestrzeni swap

sudo swapon wiiswap

PNG TO PDF (Ubuntu)

Tips na przyszłość i dla potomnych - gimp nie zapisuje w formacie pdf, no i czasami trzeba przekonwertować większe ilości obrazków, niezastąpionym narzędziem okazuje się (nie pierwszy raz) convert z pakietu image magic.

convert -density 300x300 -resize 1600x1600 kdist.png kdist.pdf

Bez dodania parametru density pdf będzie w mizernej jakości, zmiana rozmiarów przyda się jeśli nie chcemy miniaturki.

środa, 21 kwietnia 2010

WiiLTB - budujemy kernel

Zgodnie z wcześniejszymi postami moje Wii zyskało nową funkcjonalność. Debian postawiony na konsoli działa bardzo dobrze z jednym wyjątkiem - dysk usb przesadnie często się wyłącza w przypadku bezczynności i nie chce ponownie załączyć (urządzenie znika z /dev, ale nadal widoczne w lsusb). Zacząłem się zastanawiać nad opcjami kompilacji jądra pobranego z http://wiibrew.org/wiki/Wii_Linux, lsmod wskazywało brak wykorzystania modułów. Sprawdzenie zawartości /sys/bus/usb/devices/x-y/, gdzie x-y to pozycja urządzenia na szynie usb np odczytana z lsusb, nie ma katalogu power - opcje kernela zarządzania energią nie są włączone. Natknąłem się też na informację, że ohci może sprawiać problemy więc nie pozostało mi nic innego jak zbudować własny kernel.

Potrzebujemy:

Gdy mamy już wszystkie składniki musimy je gdzieś wypakować, np do ~/wii/. Następnie aplikujemy łatki na źródła jądra (zakładam że zawartość archiwum z łatkami wrzuciliśmy do katalogu ze źródłami kernela).
cd ~/wii/linux-2.6.32
patch -p1 < mikep5-patch-2.6.32-gc



Teraz dodajemy cross-compiler do ścieżki
export PATH=$PATH:/home/MOJ_UZYTKOWNIK/wii/cross-powerpc-linux-uclibc/usr/bin
Kolejnym krokiem jest skopiowanie domyślnej konfiguracji jądra
cp arch/powerpc/configs/wii_defconfig .config
i jego edycja
make ARCH=powerpc CROSS32_COMPILE=powerpc-linux- menuconfig
. Osobiście włączyłem opcje oszczędzania energii i wyłączyłem obsługę OHCI żeby pozbyć się dalszych problemów z USB (oczywiście EHCI pozostała zaznaczona), pozbyłem się też wsparcia dla IOS - i tak korzystam wyłącznie z MIKE (bootmii). Używam wyświetlacza PAL więc wypadałoby poinformować o tym fakcie kernel - na wszelki wypadek. Edytujemy
nano arch/powerpc/boot/dts/wii.dts
zgodnie z tym jakie argumenty chcemy przekazać do kernela. Zapewnienie wyświetlania w trybie PAL, a nie domyślnym NTSC ogranicza się do podmiany w wierszu 36, np
bootargs = "nobats root=/dev/mmcblk0p2 rootwait force_keyboard_port=4 video=gcnfb:60Hz,tv=PAL";
Ostatnią rzeczą jest sama kompilacja
make ARCH=powerpc CROSS32_COMPILE=powerpc-linux- CROSS_COMPILE=powerpc-linux- zImage
po czym wynik naszych radosnych poczynań możemy znaleźć w katalogu /arch/powerpc/boot - plik zImage :). Jeśli o czymś zapomniałem - poproszę o info.

piątek, 16 kwietnia 2010

WiiLTB czyli Wii Linux Torrent Box Part 2

Pora na ciąg dalszy niekończącej się przygody. Ten odcinek zaczniemy od utworzenia konta użytkownika

useradd -d /home/username -s /bin/bash -c "Name FamilyName" username

następnie

mkdir /home/username && chown username /home/username && passwd username

gdzie 'username' zastępujemy naszą nazwą, na końcu zostaniemy poproszeni o wprowadzenie hasła użytkownika, od tej chwili możemy korzystać z nowego lśniącego konta.

Wypadałoby mieć troche przestrzeni dyskowej - może to być większy pendrive lub dysk usb. Po podłączeniu do konsoli wypadałoby sprawdzić czy pojawił się w /dev

ls /dev | grep sda

możemy sprawdzić w jak oznaczony jest dysk sprawdzając dowiązanie w /dev/disk/by-label

ls -l /dev/disk/by-label

z wyniku powyższej komendy wiemy jakie urządzenie odpowiada dyskowi o naszej nazwie .. niech to będzie np sda1. Wypadałoby przygotować katalog do montowania

mkdir /media/disk

i spróbować zamontować go

mount -t vfat /dev/sda1 /media/disk

zakładając, że format plików to fat32. Dla Ntfs będzie analogicznie, z tym że należy zmienić typ systemu plików na ntfs czy ntfs-3g. Udało się zamontować dysk, bomba. Chcielibyśmy żeby montował się automatycznie przy starcie systemu, edytujemy plik /etc/fstab. Dodanie wpisu

/dev/sda1 /media/disk vfat user,owner,defaults,umask=000 0 0

powinno załatwić sprawę. Wypadałoby zrobić mały restarcik i sprawdzić czy dysk został zamontowany zgodnie z oczekiwaniami.

Następnie pobieramy rtorrenta

apt-get install rtorrent

i screen

apt-get install screen

Teraz logujemy się jako utworzony użytkownik, zgodnie z tutorialem konfigurujemy rtorrenta w zależności od naszych potrzeb. Jeśli chcemy zapisywać dane na zewnętrzny napęd (np pendrive) to zmieniamy ścieżki zapisu z katalogu domowego na /media/disk.

Następnie chcemy utworzyć sesję, która będzie aktywna po zerwaniu połączenia ssh, używamy do tego zainstalowanego wcześniej screen. Kolejno
- zakładamy sesję o nazwie rtorrent
screen -dmS rtorrent
- przeglądamy otwarte sesje screen
screen -ls
- dołączamy się do istniejącej sesji
screen -r rtorrent
- włączmy rtorrenta
rtorrent
- opuszczamy sesję nie zamykając jej
Ctr-a d

W ten sposób postawiliśmy na starym dobry Wii Whiite Linux - Debiana Lenny z obsługą wbudowanego modułu wifi działającego jako klient sieci torrent z dostępem przez ssh.
Zasadniczą zaletą w porównaniu z użyciem np starego pc-ta jest niewielki pobór energii
wynoszący zgodnie ze specyfikacją około 17W :).

WiiLTB czyli Wii Linux Torrent Box Part 1

W ramach oderwania od rzeczywistości postanowiłem pobawić się starą dobrą konsolą.. co by tu w niej zepsuć? Aktualnie potrzebuję obrazu Ubuntu w wersji serwerowej i w kółko nie mogę jej pobrać .. w dzień jest robota, a w nocy nie wyrobiłbym szumu mojego komputerka ... więc może Wii pobrałoby ten obraz dla mnie?
Zaznaczam, że nie odpowiadam za żadne straty, uszkodzenia, problemy powstałe w wyniku lektury tego tekstu, jeśli chcesz coś zrobić - robisz to na własną odpowiedzialność.

Niestety nie posiadam adaptera ethernet dla konsolki więc jestem zdany na wbudowane wifi. Wersje Linux-a dla Wii przez długi czas nie obsługiwały wifi, zmieniło się to dopiero po udostępnieniu przez Team Twizzlers MIKE (dla zainteresowanych google ;). Kernel wykorzystujący MIKE a nie IOS umożliwia działanie wbudowanego modułu pod Linuxem i o to właśnie nam chodzi :). Uruchomienie jądra z wykorzystaniem MIKE, a nie IOS wymusza uruchomianie z poziomu Bootmii (gui lub autostart).

Będziemy stawiać whiite-linuxa WIKI więc zgodnie z linkiem musimy pobrać paczki:

http://downloads.sf.net/gc-linux/gc-linux-mikep5-v2.6.32%2Bwhiite-1.10.tar.bz2
http://downloads.sf.net/gc-linux/debian-lenny-5.0%2Bwhiite-1.10.tar.bz2

Zgodnie z opisem WIKI whiite-linuxa przygotowujemy kartę SD - dzielimy na partycje boot i root, odpowiednio fat16 i ext3. Zamiast walczyć w terminalu zawsze można użyć graficznego programu jak GParted
sudo apt-get install gparted
.
Po utworzeniu partycji rozpakowujemy zawartość pobranych paczek na kartę pamięci tak jak to jest opisane na wiki. Gdy wszystko jest już prawie gotowe radziłbym skopiować kernel MIKEp5 z katalogu bootmii karty SD do apps/mikep5.110. Przeglądając zawartość karty SD w GUI bootmii nie uraczymy tego katalogu, a chcemy odpalić kernel znajdujący się właśnie w nim, stąd to kopiowanie. Zanim radośnie uruchomimy naszego linuxa wypadałoby go jeszcze skonfigurować.

Konfiguracja wifi ogranicza się do edycji pliku /etc/network/interfaces , w który dla statycznego ip i wpa2 przyjmie postać

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
wpa-ssid MOJE-SSID
wpa-psk MOJE-HASLO
wpa-key-mgmt WPA-PSK
wpa-pairwise TKIP CCMP
wpa-group TKIP CCMP
wpa-proto WPA RSN
wpa-ap-scan 1
wpa-scan-ssid 1
address MOJE-STATYCZNE-IP
netmask 255.255.255.0
gateway MOJ-ADRES-IP-BRAMY

Oczywiście pola w stylu MOJE-SSID wymagają edycji, co oczywiście nie stanowi problemu. Maska sieci w większości jest taka jak podana, adres ip bramy to nic innego jak adres ip routera czy innej bramy naszej sieci.

Jeśli chcemy mieć sprawne dns-y wypadałoby jeszcze zmienić zawartość pliku /etc/resolv.conf

nameserver 192.168.0.1

gdzie nameserver to adres bramy domyślnej lub np serwery OpenDNS

nameserver 208.67.222.222
nameserver 208.67.220.220

Teraz mamy już Debiana Lenny przygotowanego do jazdy próbnej. Po uruchomieniu w bootmii GUI obrazu jądra zostaniemy radośnie zalani potokiem komunikatów .. jeśli nie dojdziemy do etapu logowania w terminalu to na 90% udało się odpalić nie ten kernel (boot.elf z apps/mikep5.110 korzysta z IOS i ma inną ścieżkę dostępu do root więc kernel nie znajdzie go, próba uruchomienia zakończy się niepowodzeniem).

Po uruchomieniu właściwego obrazu jądra i założeniu, że skonfigurowaliśmy wifi jak należy Debian poprosi nas o logowanie ... którego dokonamy przez ssh.

ssh root@IP_KONSOLI

oczywiście 'IP_KONSOLI' zastępujemy naszą wartością. Teraz należy podać hasło 'whiite' i .. je zmienić

passwd root

bo przecież niefajnie mieć domyślne hasło na koncie root ...

Wypadałoby odświeżyć repozytoria i zaktualizować stare pakiety, podobnie jak w bazującym na Debianie Ubuntu możemy posłużyć się apt (a to niespodzianka .. w końcu postawiliśmy na Wii właśnie Debiana)..

apt-get update
apt-get upgrade

jeśli pierwsza z komend informuje o niemożliwości znalezienia serwera .. to znaczy że ktoś tu pominął edycję /etc/resolv.conf ... oczywiście możemy to zrobić przez ssh

nano /etc/resolv.conf

Dobra, repozytoria odświeżone, pakiety zaktualizowane.. ciąg dalszy w części drugiej.

środa, 14 kwietnia 2010

Matlab zapis wykresu do pliku

Często zdarza się, że potrzebuję wygenerować i zapisać wiele wykresów w Matlabie. Najprostsze rozwiązanie w postaci plot(dane) + ręczny wybór zapisu do pliku oczywiście odpada. Istnieje kilka rozwiązań problemu, a ja zamieszczę tylko jedno, na mój gust najfajniejsze. Mianowicie zaczynamy od utworzenia obiektu figure ..

h = figure;

który ewentualnie możemy ukryć

set(h, 'Visible', 'off');

następnie generujemy wykres, w podstawowej postaci np

plot(dane);

dodajemy ewentualnie tytuł wykresu oraz opisy osi

title('Moj wykres');
xlabel('czas [s]');
ylabel('predkosc [m/s]');

teraz najważniejsza część czyli sam zapis do pliku. Zamiast imwrite użyjemy funkcji print

print(h, '-dpng', 'moj_wykres.png');

wypadałoby jeszcze posprzątać

delete(h)

Oczywiście mamy do dyspozycji inne formaty zapisu plików i oczywiście faktyczny wydruk z użyciem drukarki. Polecam

help print

sobota, 10 kwietnia 2010

Adobe AIR + Linux 64 bit

Potrzebowałem środowisko Adobe AIR na moim Ubuntu Lucid, oczywiście pobrałem stosowny instalator ze strony Adobe i wykonałem instalację. Niby wszystko przebiegło bez błędów, ale próba uruchomienia czegokolwiek skutkowała komunikatem

Error loading the runtime (libadobecertstore.so: cannot open shared object file: No such file or directory)

Lekiem okazało się wykonanie dowiązania biblioteki do lib32.

sudo ln -s /usr/lib/libadobecertstore.so /usr/lib32/libadobecertstore.so

piątek, 9 kwietnia 2010

Moodle 1.9.8 i PHP 5.3.0

Aktualizacja PHP do 5.3 skutkuje błędem formularzy moodli w wersjach starszych niż 2.0

Deprecated: Assigning the return value of new by reference is deprecated in /usr/share/moodle/course/modedit.php on line

więcej informacji pod adresem
http://tracker.moodle.org/browse/MDL-20055

Jedynym sensownym rozwiązaniem jest powrót do PHP < 5.3.0. :(

środa, 31 marca 2010

Lucid, fglrx, Missing PCS defaults file /etc/ati/amdpcsdb.default

W ramach jednej z aktualizacji Lucida pojawiła się nowa paczka z fglrx (mój ulubiony temat do wałkowania ;), aktualizacja przebiegła bez problemów z tym małym szczegółem, że po restarcie X nie chciał wstać ... błąd w ten deseń

(EE) Unable to initialize PCS database
(EE) Missing PCS defaults file /etc/ati/amdpcsdb.default
(EE) No devices detected.

.. super. Okazało się, że w nowej paczce brakuje zawartości /etc/ati. W moim przypadku lekiem było skopiowanie starych wersji plików tzn

cd /etc/ati
sudo cp amdpcsdb.default.dpkg-bak amdpcsdb.default
sudo cp control.dpkg-bak control
sudo cp signature.dpkg-bak signature

Uwielbiam fglrx...

czwartek, 25 marca 2010

Lucid + Catalyst 10.2

Znowu! :D

Znowu problemy z instalatorem Ati .. rety. Niby wprowadzili wsparcie dla Lucida a tu tradycyjna niespodzianka - błąd. Nie można zbudować pakietów, próby kończą się błędem


dh_install -p "arch/x86/usr/X11R6/lib/libAMD*.so*" "usr/lib32"
cp: cannot stat `./usr/lib32': No such file or directory
dh_install: cp -a ./usr/lib32 debian/arch/x86/usr/X11R6/lib/libAMD*.so*//usr/ returned exit code 1
make: *** [binary-install/fglrx] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
Removing temporary directory: fglrx-install.PWI3pC


Nie żebym się nie spodziewał, ale to już drugi Catalyst pod rząd z zepsutym instalatorem :/.
Lekarstwo? Olać Catalyst, pobrać fglrx z repo Lucida i dokończyć tradycyjnym


sudo aticonfig --initial
sudo service gdm restart


i śmiga (bynajmniej na mojej HD4330). Dobra wiadomość - wreszcie działa nieszczęsny tryb wstrzymania! Na Karmicu próby wybudzenia kończyły się ciemnością albo zwiechą xów :/

piątek, 29 stycznia 2010

Karmic + catalyst 10.1 = problem

Niedawno AMD wypuściło nową wersję sterowniczków, niestety próba instalacji z wykorzystaniem pakietów dla karmica kończy się komunikatem o nieudanej próbie odnalezienia libatiuki.so.1 .. w tej sytuacji mamy dwie opcje - instalacja sterowników bez wkorzystania pakietów, albo .. dodanie brakującego dowiązania. W przypadku drugiej opcji rozpakowujemy plik catalyst (opcja --extract) , i przechodzimy od utworzonego katalogu, dalej bodaj arch, x86_64, usr, lib64 .. czy jakoś tak :) .. aż znajdziemy libatiuki.so.1.0 .. wykonujemy dowiązanie symboliczne do niego zgodnie z poniższym i możemy instalować świeżutkie sterowniki

ln -s libatiuki.so.1.0 libatiuki.so.1

i odpalenie skryptu instalatora ..

sh ati-installer.sh 10.1 --buildandinstallpkg Ubuntu/karmic

czwartek, 28 stycznia 2010

Linux i przywracanie plików

Chyba każdemu zdażyło się przez przypadek pokasować nie to co trzeba ... nie pozostaje nic innego jak powalczyć o utracone dane. Natknąłem się na dobrą aplikację w sam raz do tego zadania - foremost. Można ją znaleźć w repozytorium Ubuntu, więc ot tak instalujemy przez synaptic bądź wpisując w termialu:

sudo apt-get install foremost

Używamy go zgodnie z poniższym przykładem:

sudo foremost -v -T -t zip -i /dev/sda5 -o /media/dysk/foremost/

Typy plików przekazywane z opcją -t można podawać po przecinku, w przypadku braku interesującego nas można dodaj jego obsługę do programu. Ja osobiście musiałem przywrócić dokument open office, ods nie jest bezpośrednio wspierany przez foremost, ale wiedząc że to nic innego jak xml spakowany w zipie kazałem foremostowi przywrócić do życia skasowane pliki tego typu na partycji sda5. W razie wątpliwości polecam lekturę manuala.

man foremost

środa, 27 stycznia 2010

Bash - przycinanie łańcuchów

Ostatnio chciałem poprzycinać nazwy większej ilości plików, oczywiście otworzyłem terminal, zacząłem wklepywać pętlę basha .. aż zdałem sobie sprawę, że tak na serio nie mam pomysłu jak przyciąć nazwę .. zacząłem kombinować i najszybszym rozwiązaniem problemu okazała się metoda
${text:poczatek:liczbaZnaków} .. np


tekst="ala ma kota";
echo ${tekst:7:4}

daje

kota

piątek, 1 stycznia 2010

Java + schowek + ubuntu = kuku

Kolejny raz mam problem wywołany przez aplikacje Javy wykorzystujące schowek.

Po skopiowaniu do schowka danych matlabowych i kliknięciu prawą mychą zakładek w firefoxie 3.x drugi program bez pardonu się zamyka, zmiana zawartości schowka eliminuje ten problem.

https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/372103

Kolejna toksyczna para z Java w tle - JDownloader + Inkscape 0.47. W sytuacji gdy JDownloader nadzoruje schowej i w Inkscape skopiujemy element grafiki drugi wywala się z błędami

/usr/lib/python2.6/site-packages/uniconvertor/app/utils/locale_utils.py:9: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
from popen2 import popen2


https://bugs.launchpad.net/inkscape/+bug/487653