Przez jakiś czas dziwiłem się dlaczego tu i tam opowiadają o OO.o-3.3, a tu mi się nic nie buntuje. Dziś mnie olśniło, żeby sprawdzić i aktualizacja się znalazła.
# eix -c "(libre|open)office$"
[N] app-office/libreoffice (3.3.1): LibreOffice, a full office productivity suite.
[I] app-office/openoffice (3.2.1-r1@21.04.2011): OpenOffice.org, a full office productivity suite.
Found 2 matches.
A najbardziej wkurza mnie to, że ja tę kobyłę kompiluję (tu w pracy przez +16h) tylko dlatego, że wersja binarna ma jakiś dupny windziany fileselector zakorzeniony w latach 80tych zeszłego wieku.
Szedłem sobie spać, zamykam terminale i co widzę? Jakiś nowy sposób wywracania ludziom ludziom daemona ssh?
/var/log/sshd/current
Apr 21 23:23:45 [sshd] SSH: Server;Ltype: Version;Remote: 119.145.255.146-41652;Protocol: 2.0;Client: libssh-0.1
Apr 21 23:23:47 [sshd] SSH: Server;Ltype: Version;Remote: 119.145.255.146-41837;Protocol: 2.0;Client: libssh-0.1
Apr 21 23:23:50 [sshd] SSH: Server;Ltype: Version;Remote: 119.145.255.146-42020;Protocol: 2.0;Client: libssh-0.1
Apr 21 23:23:53 [sshd] SSH: Server;Ltype: Version;Remote: 119.145.255.146-42193;Protocol: 2.0;Client: libssh-0.1
W każdym razie denyhosts się nie pokapował, że coś się dzieje. A sam sposób wydaje się nie działać. Ale jak ten sam burak zaczął próbować to czego zwykle próbują ...
/var/log/sshd/current
Apr 21 23:23:58 [sshd] SSH: Server;Ltype: Version;Remote: 119.145.255.146-42573;Protocol: 2.0;Client: libssh-0.1
Apr 21 23:24:00 [sshd] Invalid user shoutcast from 119.145.255.146
Apr 21 23:24:01 [sshd] SSH: Server;Ltype: Version;Remote: 119.145.255.146-42739;Protocol: 2.0;Client: libssh-0.1
Apr 21 23:24:02 [sshd] Invalid user stephanie from 119.145.255.146
to się w końcu połapał ;-)
/var/log/sshd/current
Apr 21 23:24:30 [sshd] SSH: Server;Ltype: Version;Remote: 119.145.255.146-44837;Protocol: 2.0;Client: libssh-0.1
Apr 21 23:24:32 [sshd] Invalid user web from 119.145.255.146
Apr 21 23:24:33 [sshd] refused connect from 119.145.255.146 (119.145.255.146)
Po tym jak laptok praktycznie wyzionął ducha, a ja przywróciłem do łask grzyba podjąłem decyzję, że w miarę możliwości trochę gościa zmodernizuję. Pierwszy pomysł to wetknąć mu możliwie najszybszy CPU. Z lektury listy wynikało, że byłby to albo Athlon 64 x2 4800+ albo Athlon FX-60 ze wskazaniem na tego ostatniego.
Na Alledrogo nie występuje, ale okazało się, że bez problemu można gościa kupić na eBayu po drugiej stronie wielkiej kałuży.
A gdzie ten wyścig? No bo komp. przecież fotografuje. O każdej pełnej godzinie, ja zabrałem się za wymianę procka o 21:20 ... ale się udało. :D Co prawda stary procek przykleił się do radiatora przez co wylazł z socketa bez jego otwierania, radiator był na tyle zabrudzony że go po proostu opłukałem wrzątkiem bo czyszczenie na sucho zajęłoby za dużo czasu ale wszystko wskazuje na to, że nic się nie popsuło no bo w końcu to piszę, co wskazuje, że Obie połówki nowego CPU czują się dobrze
.
Chce ktoś Athlon 64 3500+ Socket 939?
Co prawda układ z przekaźnikiem, czyli jupitery 1.0 działał, ale Caladan któremu pozwoliłem sobie pozawracać głowę uznał, że nawet jeśli działa to tylko przez przypadek. Mnie samemu nie wszystko wydawało się być ok, ale w końcu działało. W głowie był plan (jak się później okazało całkiem słuszny), żeby przekaźnikiem sterować za pomocą tranzystora npn. Tylko wszystkie próby namalowania tego na kartce (tak naprawdę jeszcze przed ostatecznym zmontowaniem poprzedniego układu) rozbijały się o eee tak to chyba nie zadziała
.
Anyway ponieważ jak wiadomo jednostka z wiedzą regularnie naciskana wiedzę uwalnia, doszło po kilku wymianach zdań z Caladanem do powstania projektu jupitery-2.0 gdzie przekaźnik został całkowicie usunięty, właściwie wszystko zostało całkowicie usunięte, został tranzystor n-mosfet.
Niebagatelną rolę odegrał prosty symulator układów: Circuit Simulator Applet. Naprawdę super zabawka, oczywiście pewnie wysoce nieprofesjonalna, ale w tym też jest jej siła, bo zamiast straszyć po prostu działa.
No i tak powstało ten cud XXI wiecznej techniki :D
Można oczywiście całość odpalić we wspomnianym symulatorze, wystarczy zaimportować opis i powinno zadziałać.
Słowem bym się teraz nie odezwał gdyby nie to, że zmontowałem, działa, i w końcu kwiatek się fotografuje. Co z tego wyniknie trudno stwierdzić, na razie mamy eksperymentalne studio badawcze:
Naszpikowane zaawansowaną elektroniką :D
W międzyczasie zrobiłem wywiad w kwiaciarni w poszukiwaniu gotowego pacjenta aby nie ryzykować szoku termicznego po przenosinach z trawnika do dom^W laboratorium. Niestety, wszystko co da się kupić jest już poważnie wyrośnięte i się nie nadaje. Wykopałem więc Krokusa zgodnie z pierwotnym planem, odpaliłem małpy i ... zdjęcia już się robią.

A co z tego wyniknie ... to się okaże za kilka(naście?) dni.
W każdym razie w tej chwili fotografuję z prędkością 1/3600 fps czyli po ludzku mówiąc jedno zdjęcie na godzinę. Wydaje się, że to nawet za gęsto, zobaczymy. Sam kwiatek jest w dość ciemnym kącie, nie wiem czy to dobry pomysł, ale idea jest taka, żeby się za bardzo chłopak nie pospieszył i dał sobie zrobić choć kilka setek zdjęć zanim (jeśli) zakwitnie.
Tak samo jak podczas fotografowania karmnika wszystko odpalane jest z crona, z tą różnicą, że
gdyby komputer był wyłączony, to router go odpali wysyłając pakiet WoL, a sam skrypt fotografujący dodatkowo zajmuje się zapalaniem i gaszeniem oświetlenia.
$ cat get-image-0.4-krokus.sh
#!/bin/bash
# get-image v 0.4 codename krokus :D
# MANUAL:
# ./get-image "/destination/directory/"
DEST_DIR="/tmp/"
if [ -d "$1" ]; then
DEST_DIR="$1"
fi
FILENAME="${DEST_DIR}$( date "+%Y%m%d_%H%M%S" ).jpg"
TEMP_DIR=`mktemp -d /tmp/get-image-XXXXX`
cd ${TEMP_DIR}
# światło świeć
stty -F /dev/ttyUSB0 crtscts
sleep 30
wget http://admin:1234@192.168.1.12/snapshot.jpg \
-O photo.jpg &> /dev/drzewo
# już nie
sleep 5
stty -F /dev/ttyUSB0 -crtscts
convert photo.jpg \
-gravity NorthEast \
-font "/home/wariat/.fonts/digital/digital_7/digital-7.ttf" \
-pointsize 100 \
-fill "#19adf4dd" \
-annotate +10+10 "$( date "+%e.%m.%Y" )" \
"$FILENAME"
cd ~
rm -rf ${TEMP_DIR}
Poza tym, żeby komp nie chodził jak nie jest potrzebny po zrobieniu zdjęcia w sposób dość mało wyszukany sprawdza czy przypadkiem ktoś go nie używa i się wyłącza:
$ cat poweroff.sh
#!/bin/bash
if [ -z "$(who)" ] && ! [ -f "/tmp/keeprunning" ]
then
echo "nobody there"
sudo poweroff
fi
No to skoro już zostałem filmowcem i nawet wykombinowałem, że kolejna superprodukcja to powinno być coś co dzieje się naprawdę wolno trzeba było się zabrać za robotę. Plan z fotografowaniem kwiatka nawet mi się podoba, ale zaraz przychodzi myśl, że to wszystko tak po prostu się nie uda. Żeby robić zdjęcia trzeba mieć światło, światło jest w dzień. Można fotografować kwiatek raz dziennie w południe, ale wtedy co? 30 klatek po miesiącu, nah.
Trzeba światła, sztucznego ... przez miesiąc lub dwa i żeby nikt nie wyłączył? Nah. I tak dochodzimy do projektu jupitery :D Kompletnie się na tym nie znam, pewnie coś poważnie spierdzieliłem, ale ... działa :D.
Plan jest prosty, kilka okrutnie silnych LEDów oświetla aktora na czas zrobienia zdjęcia, fotki trzaskane są co godzinę lub dwie, czyli z prędkością 12 lub 24 klatki na dzień (360 lub 720 klatek na miesiąc), odtwarzane z prędkością 12fps. Powinno dać radę tak na oko.
Router będzie budził kompa 5 minut przed pełną godziną, cron uruchomi zestaw małp ... ma szanse prawda? Jako aktor wstępnie został wybrany Krokus, podobno małe szanse, ale może się udać, że nie zdechnie po przeniesieniu z dworu do mieszkania.
Pozostało wykombinowanie oświetlenia... nie za bardzo wiedziałem jak się za to zabrać, więc zacząłem od odpowiedzi na proste pytanie. Czym mi to by było najwygodniej włączać? I wyszło, że najłatwiej jest zapalać i gasić RTS w serialu. Powstał potwór który działa choć chyba nie powinien. I tu mam kłopot, bo kompletnie się na tym nie znam ale coś jest nie tak. Schemat potwora wygląda tak:
I to działa... choć nie powinno chyba. Już tłumaczę może jakaś dobra dusza mnie oświeci (jak ten jupiter ;-). RTS może być podniesiony albo nie. Podniesiony daje +7V (w mojej wersji adaptera USB <> RS232), nie podniesiony ma tam -7V. I jedno i drugie powinno zamknąć przekaźnik (taki tam mam: Coto 9007-12-00), powinno prawda?
Żeby było z sensem jak się wydaje po drodze między RTS, a wyjściem diody zamontowanej równolegle do cewki przekaźnika powinna być jeszcze jedna dioda, która +7V przepuści, ale -7V już nie. Tylko jak ona tam jest to nie działa, a jak jej nie ma to tak.
Mam taką teorię (mówiłem, że się nie znam, więc mam własne teorie tam gdzie inni mają wiedzę), że kiedy RTS jest zdjęty i zapodaje -7V to prąd ma wybór, albo poleci przez cewkę gdzie napotka opór 1kohm albo sobie przeleci przez równolegle podpiętą diodę bez żadnych przeszkód. A skoro tak się da to za mało prądu płynie przez cewkę i się nie zamyka. Ma to jakiś sens?
Ale to nie rozwiązuje problemu z niedziałaniem
kiedy na miejscu jest ta druga dioda która -7V zamyka po stronie seriala i nie puszcza. Może być tak, że sama dioda pobiera wystarczająco dużo prądu, żeby zabrakło go na zamknięcie cewki? Z RS232 pociągnąć za dużo nie można to jest jasne, nigdy się toto do zasilania niczego nie nadawało, może wydajność ledwo starcza na zamknięcie przekaźnika i cokolwiek po drodze to o jedno cokolwiek za dużo. Takie mam małe przemyślenia. Mam też dużą wątpliwość wyrażoną zdaniem, kiedy i czemu zrobię kuku mostkując tak bezczelnie RTS do masy via dioda kiedy światło jest wyłączone, czyli przez 99% czasu kiedy włączony jest komputer.
No ale najważniejsze, że działa mam więc platformę zdjęciową z reflektorami
Zaawansowaną wariacką elektronikę (no co! :D)
Przygotowane to to jest na więcej niż trzy lampy, ale te trzy wystarczą a i tak potrzebują razem coś koło 1A, więcej chyba nie powinienem puszczać przez ten przekaźnik.
Teraz wystarczy tylko:
stty -F /dev/ttyUSB0 crtsctsi świeci
stty -F /dev/ttyUSB0 -crtsctsi zgaśnie. Jednym słowem studio praktycznie gotowe, czas zabrać się za dostrojenie nowego zestawu małp do obsługi aparatu i klaps (a później albo klops, albo będę dziękował hackerowi na gali po rozdaniu przyszłorocznych oscarów ;-).
Javowy symulator układu jest rewelacyjny :D Zabawka w sam raz dla wariata. układ włącznika z kompletem diod.
Trochę to trwało, choć uważam, że znośnie zwracając uwagę, że koniec roku, urlopy, zaspy śnieżne, choroby. Nieważne. Dostałem odpowiedź z Medionu na przesłany wcześniej Oyo BugReport.
Na wstępie Pan Robert z Medionu wyraża zaniepokojenie, że przesłana odpowiedź mnie nie usatysfakcjonuje. Trochę na wyrost, bo z mojego punktu widzenia, na ten moment liczy się, że coś się dzieje. Trudno się spodziewać, że nagle uda się wyeliminować wszystkie błędy w firmware i powstanie produkt doskonały.
Szczególnie, że wszystko wskazuje na to, że autorem programu stanowiącego UI w Oyo nie jest Medion tylko Qisda (to moje gdybanie, nie udokumentowana wiedza) i to z tym kawałkiem (oczywiście zamkniętym) firmware są największe kłopoty. Informacja o problemach musi iść małymi kroczkami w górę.
Wiadomość zawiera prośbę (tak ją potraktuję) o nie kopiowanie jej treści, a że nie chodzi o to, żeby się drażnić z firmą krótko ... o ile ja potrafię coś krótko i treściwie ;-)
W sprawie polskich znaków diakrytycznych - czyli najpoważniejszym problemie - błąd został potwierdzony już wcześniej, niestety najbliższa aktualizacja go nie eliminuje.
Już wcześniej wiedzieliśmy, że Empik dostał z Medionu nową wersję firmware na początku grudnia. Dlaczego jej nie dystrybuują nie mam pojęcia. Jeśli jedynym powodem jest to, że nie eliminuje ona najbardziej dotkliwego problemu (choć pewnie eliminuje inne) to można to pomału kwalifikować w kategorii kolejnej próby przestrzelenia sobie stopy przez Empik.
Jeśli chodzi o zawieszanie się Oyo w przypadku otwarcia książki bez spisu treści, czy bardziej konkretnie dowolnego epub z jakim miałem do czynienia wydanego przez O'Reilly. Błędu nie udało się podobno zreprodukować. Zaproponowałem przesłanie nagrania video. Pliku demonstracyjnego przesłać przecież nie mogę, bo byłaby to nieautoryzowana dystrybucja dzieła chronionego blah, blah, blah. Swoją drogą trzeba by przetestować jak się ebooki od O'Reilly zachowują w innych czytnikach w takiej sytuacji (próba wyświetlenia spisu treści). Oyo wisi (choć dycha). To video jak starczy mi cierpliwości spróbuję i tak nagrać, na wszelki wypadek i dla treningu.
W przypadku pozostałych problemów odpowiedź sprowadzała się do informacji, że przekazano dalej do odpowiedniego działu. Przy wiedzy jaką mam teraz można zakładać, że większości błędów nie da się szybko rozwiązać, bo tak jak problem polskich znaków dotyczą one nie tyle Oyo co aplikacji QBookApp, można się więc domyślać, że jedyne co Medion może to przesłać raport do autora programu (Qisda ?).
Ogólnie można z jednej strony podsumować, że dostałem odpowiedź bez odpowiedzi i jedyne co udało się uzyskać to potwierdzenie, że ktoś przesłane wiadomości czyta. Z drugiej strony o kłopotach z diakrytykami pewnie pisało wiele osób, a błąd jest poważny i skutecznie utrudnia czytanie książek, liczę więc, że nie będziemy czekali na jego poprawienie w nieskończoność, a dla mnie jak już wspomniałem najważniejsze jest uczucie, że gdzieś tam powoli coś się dzieje.
Święta, święta i ... nowe zabawki :D Młody kupił sob^W^W dostał od gwiazdora iPada. No to się cały weekend bawiłem, nie podejmuję się oceniać obiektywnie, co najwyżej powiem, że utwierdziłem się w tym, że nie kupiłbym dla siebie chyba, że w cenie za jaką urządzenie nigdy się nie pojawi. Ale coś się jednak zdarzyło...
Nic nie zmieniło się w moim podejściu do przenośnej przeglądarki
. Jak już jestem w zasięgu internetu to mam na miejscu komputer, a w nim przeglądarkę internetową w dodatku obsługującą flash. Tu przy okazji warto dodać, że cieszy mnie niezmiernie, że produkty Apple flasha nie obsługują, bo daje to nadzieje na zniknięcie pierdzielonych flashowych menu ze stron. W końcu kto chce, żeby jego strona nie działała na tak cudownym urządzeniu jak iPad.
Można oczywiście na tablecie czytać ale ... do czytania mam już coś lepszego i znacznie tańszego. Co mnie więc zafascynowało?
Otóż to świetna zabawka do grania w gry. Cały weekend budowałem jakieś miasto, wioskę smurfów, strzelałem kurczakami do świnek, zrywałem bombki z choinki, zjadałem rekinem ludzi i ... huk wie co jeszcze. Rewelacja! Zabawa jest tak świetna, że zrewidowałem poglądy ... z 200zł mógłbym za takie cudo dać. Tyle, że to o jedno zero za mało. Wreszcie ...
Przyszedł hacker, i też zaczął się bawić. Najpierw malowaliśmy obrazki przez godzinę i wciąż nie było dość, później młody zainstalował kilka gier dla dzieci i hacker świetnie sobie radził szukając zwierzaków w memory. Maluch już nawet troszeczkę sobie radzi z myszką, ale jednak nie na tyle dobrze, żeby móc bawić się samemu. W domu czasami gramy w gcompris jednak tam hacker nie jest w stanie do końca bawić się sam, więc albo po prostu lata helikopterem bez sensu, albo ciacha literki
(czyli poznaje klawiaturę). Równie dużo radości sprawia hackerowi granie
w gedit, w vi jeszcze nie próbowaliśmy grać ;-). Ale jednak, dotykowy interface spowodował, że hacker po prostu bawił się sam bez pomocy. Wartość urządzenia w moich oczach wzrosła znacznie. Powiedzmy, że 400 można by dać ... na Apple nie starczy ale...
Przecież są chińskie tanie tablety z androidem. Najtańszą bezczelną podróbkę
iPada znalazłem na Alledrogo za mniej niż 300zł. (!!!) Kurcze! Jest co prawda zonk, bo sprzedawcy tych podróbek nie wyglądają zbyt wiarygodnie, a na dodatek moja wiedza o tabletach jest żadna, nie mam więc pojęcia, czy każdą taką zabawkę z androidem da się podpiąć pod Android Market (czyli tanie i proste w obsłudze źródło softu). Ale tak czy siak po raz pierwszy zaczynam poważnie rozważać. W końcu trzeba szkolić małego hackera wszelkimi dostępnymi sposobami.
Ma ktoś doświadczenie z takimi tanimi zabawkami? Pomacać niemożna, sprzedawcy mało wiarygodni, nie byłoby mi łatwo się zdecydować. A może się mylę? Może to po porostu działa?
Ok, nie ma problemu z zalogowaniem się do Oyo i być może połączenie po tty jest ok, ale w końcu po co Oyo ma WiFi? No i po co ktoś kiedyś wymyślił protokół telnet którego od lat nie używamy bo wysyłanie haseł otwartym tekstem po sieci jest passe? ;-)
Można i tak i nie ma tu wielkich czarów. Połączenie po serialu odpalamy plikiem o nazwie usbdebug w głównym katalogu na karcie SD. Jeśli on (plik) tam jest to podczas wykonywania /linuxrc zadziała magia zapisana słowami:
# KEY_HOME, KEY_BOOK # /usr/local/sbin/hotkey_cmd /usr/local/sbin/usbdebug.sh 102 247 mount /dev/mmcblk1p1 /mnt/mmc1p1 if [ -f /mnt/mmc1p1/usbdebug ]; then echo "usbdebug" /usr/local/sbin/usbdebug.sh fi umount /mnt/mmc1p1No to wpiszmy sobie pomiędzy koniec warunku, a umount jeszcze jeden ficzer czyli tak:
mount /dev/mmcblk1p1 /mnt/mmc1p1 if [ -f /mnt/mmc1p1/usbdebug ]; then echo "usbdebug" /usr/local/sbin/usbdebug.sh fi if [ -f /mnt/mmc1p1/telnet ]; then # echo "telnet" # inetd # fi # umount /mnt/mmc1p1i już. Teraz wystarczy aby na karcie sd znajdował się plik telnet, a po uruchomieniu WiFi w Oyo ...
wariat@coyote ~ $ nmap 192.168.1.103
Starting Nmap 5.21 ( http://nmap.org ) at 2010-12-20 01:33 CET
Nmap scan report for 192.168.1.103
Host is up (0.0018s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
7/tcp open echo
13/tcp open daytime
21/tcp open ftp
23/tcp open telnet
37/tcp open time
111/tcp open rpcbind
Nmap done: 1 IP address (1 host up) scanned in 8.77 seconds
wariat@coyote ~ $ telnet 192.168.1.103
Trying 192.168.1.103...
Connected to 192.168.1.103.
Escape character is '^]'.
Samsung login: root
Password: SReader
[root@Samsung ~]# uname -a
Linux Samsung 2.6.21.5-cfs-v19 #183 Tue Oct 19 14:27:21 CST 2010 armv5tejl unknown
[root@Samsung ~]# exit
logout
Connection closed by foreign host.
Minusem jest to, że Oyo nie pilnowane zrzuci połączenie z WiFi, ale zmiana w porównaniu z połączeniem po serialu jest niewielka, bo przejście w tryb uśpieni^W zawieszenia :D zamyka też połączenie tty. Ale połączenia po tty wznowić (w punkcie gdzie się zerwało) się nie da, a tu ... trzeba tylko wykombinować screena. Skąd? A dokładnie tak jak na na Frank's Wiki instalują nano.
wget http://ftp.us.debian.org/debian/pool/main/s/screen/screen_4.0.3-14%2bb1_armel.deb
wget http://ftp.us.debian.org/debian/pool/main/n/ncurses/libncursesw5_5.7+20100313-4_armel.deb
wget http://ftp.us.debian.org/debian/pool/main/p/pam/libpam0g_1.1.1-6.1_armel.deb
FILES=$(ls /root/*deb)
cd /
for NAME in $FILES ; do
ar -x "${NAME}"
tar zxf data.tar.gz
rm debian-binary data.tar.gz control.tar.gz
rm "${NAME}"
done
cd -
do kompletu jakiś znośny .screenrc
[root@Samsung ~]# cat .screenrc
vbell on
hardstatus on
hardstatus alwayslastline
hardstatus string "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H - %LD %d %LM - %c"
bindkey "^[[1;5D" prev # change window with ctrl-left
bindkey "^[[1;5C" next # change window with ctrl-right
i już znikające połączenie nie straszne. :)
Jednak co specjalista to specjalista. ;-) Empik aktualizacji do Oyo opublikować nie chce (choć podobno Medion już jakiś czas temu przesłał plik z nowym firmware). Trzeba było pogadać z zawodowcami ;-).
# john -show passwd
root:SReader:0:0:root:/root:/bin/bash
1 password hash cracked, 0 left
Dalej jest też łatwo i zgodnie z instrukcją na Frank's Wiki / OYO.
Samsung login: root
Password:
[root@Samsung ~]# ls -la /rwdata/settings/
drwxr-xr-x 2 root root 1024 Jan 1 2010 ./
drwxr-xr-x 7 root root 1024 Dec 18 12:08 ../
-rw-r--r-- 1 root root 6094 Dec 18 12:17 QBookApp.ini
-rw-r--r-- 1 root root 5032 Jan 1 2010 QBookApp.ini.bak
(...)
[root@Samsung ~]# logout
Samsung SMDK Board on a armv5tejl
Samsung login:
Na początek tylko test, czy na pewno jesteśmy skazani na stronę Empiku? Edytujemy oczywiście /rwdata/settings/QBookApp.ini na miejscu jest vi (tym co nie potrafią proponuję potrenować najpierw wychodzenie z vi gdzieś na boku ;-). Zamieniamy domyślną stronę startową digital.empik.com na własną, na początek niech to będzie strona eksiążki.org. Zapisujemy, restartujemy Oyo i ...
DZIAŁA! :)
Jeśli nie uda się włączyć paska adresu (przyznaję nie przyglądałem się dokładniej co tam można jeszcze przestawić. (Dla ciekawych wersja offline dostępna jest po odpakowaniu pliku z niemiecką aktualizacją firmware rootfs.tar:usr/local/qisda/etc/QBookApp.default.ini można się porozglądać, co się da a czego nie na spokojnie) to myślę, że i tak nie ma nieszczęścia wystarczy przecież jakaś strona startowa z kilkoma odnośnikami. Do virtualo, własnej półki na książki i dodatkowo oczywiście z powrotem do Empiku, nóż widelec się przyda, choć są wątpliwości.
Wygnali mnie do pieczenia pierników, ale jest chwila wolnego więc się rozglądam i z ciekawostek ... W pliku /usr/local/qisda/etc/index.html znajdziemy na przykład:
<body>
<script type="text/javascript">
if (navigator.language.indexOf("de") >= 0) {
document.write('<p>Bitte tragen Sie oben die gewünschte...
} else if (navigator.language.indexOf("pl") >= 0) {
document.write('<p>Wprowadź adres www do paska adresowe...
Czyli co? Czyli trzeba tylko włączyć... w tym samym pliku co wcześniej czyli: /rwdata/settings/QBookApp.ini oczywiście w sekcji [empik]
has_open_web_browser=falsezmieniamy na true Odpalamy Oyo i co widzimy w sekcji dodatki (tam gdzie do niedawna była przeglądarka zdjęć i odtwarzacz mp3)? Otóż mamy tam teraz trzeci przycisk z napisem
Przeglądarka internetowa. Można wpisać adres jaki się chce, można zmieniać rozmiar fontu, można przeglądać sieć w trybie poziomym. Generalnie wydaje się, że działa!
Ok, no to skoro okazuje się, że mamy już w Oyo przeglądarkę, a ta przeglądarka startuje z lokalną stroną startową to wypadałoby tu dodać kilka linków. Nic trudnego, wystarczy zmodyfikować plik:
/usr/local/qisda/etc/index.html o którym było wyżej.
Znajdziemy tam wiersz definiujący odnośniki:
} else if (navigator.language.indexOf("pl") >= 0) {
document.write('<a href="http://www.google.pl">Google</a><a href="http://pl.wikipedia.org">Wikipedia</a>');
Trzeba tylko dopisać co by się chciało. Docelowo niech to wygląda tak:
} else if (navigator.language.indexOf("pl") >= 0) {
document.write('<a href="http://www.google.pl">Google</a>');
document.write('<a href="http://pl.wikipedia.org">Wikipedia</a>');
document.write('<a href="http://wariat.org.pl/smietnik/ebook-sync/">Półka wariata</a>');
document.write('<a href="http://virtualo.pl/">virtualo</a>');
document.write('<a href="http://www.eksiazki.org/">eKsiążki.org</a>');
document.write('<a href="http://www.google.com/mobile/">Google mobile</a>');
Właściwie działa, Przeglądarka w Oyo nie potrafi przejść przez Basic Auth więc na moją półkę się nie zaloguję ... trzeba będzie hasło wywalić tymczasowo, pozostałe problemy już z tych nie rozwiązywalnych, czyli np. brak mobilnej wersji virtualo.pl, niemniej jednak tu do biblioteki zakupionych książek dostać się udało, pobrać książkę na czytnik także. Czy dałoby się książkę kupić? Obiecuję spróbować przy najbliższej okazji.
W końcu się za siebie wziąłem i posłałem do działu obsługi klienta Empiku maila z opisem znalezionych niedociągnięć/błędów w firmware Oyo (wersja 1.0 R2711). Ponieważ do wstępnej listy błędów, która powstała po jednym dniu używania czytnika doszło kilka dodatkowych punktów załączam niżej listę. Nóż widelec komuś się przyda przy podejmowaniu decyzji ;-).
Pomijając to wszystko ja nadal po tych kilkunastu dniach użytkowania jestem z Oyo zadowolony i nawet przez moment nie żałowałem podjętej decyzji.
Otrzymałem odpowiedź z Empiku, bardzo szybko prawda? Cóż ... oto ona:
Bardzo dziękuję za wiadomość i jednocześnie uprzejmie informuję, że najlepiej w sprawie wykrytych błędów pisać przez formularz kontaktowy serwisu technicznego OYO:Formularz w medion zawiera kilka pytań ... aż dziw, że nie pytają o panieńskie nazwisko pra babki ze strony matki. Posłałem spam dalej, zobaczymy co z tego wyniknie.
http://www.medion.com
No dobra zrobiło się zbyt ekscytująco (zbyt łatwo wygląda), żeby odkładać w nieskończoność. Choroba została oswojona. Wiadomo już, że specyfiki które mają leczyć DRMozę działają - mmazur sprawdził, ja chcę się tylko przekonać czy działa też via wine - mimo, że wiem, że działa bo ktoś w komentarzu u mmazura się pochwalił.
Niby cały czas mam gdzieś tu na boku qemu, ale na moim starym kompie wirtualny PCet to udręka jest raczej. Przy okazji okazało się, że niewiele trudniej można sobie poradzić z innymi chorobami na jakie cierpią ebooki, instrukcje zebrali w jednym miejscu autorzy serwisu eksiążki.org Systemy DRM – przegląd, skuteczność rozwiązań jak widać, a mówi się, że pieniądze nie leżą na ulicy
, z punktu widzenia właścicieli systemów DRM chyba jednak leżą.
Na początek przygotujemy szpital, nie chodzi przecież o to, żeby nawtykać jakichś śmieci to czyściutkiego profilu wine gdzie zainstalowałem ADE.
$ cp -r ~/.wine-Adobebook/ ~/.wine-ADEcrypt
$ export WINEPREFIX="/home/wariat/.wine-ADEcrypt"
$ wget http://pastie.org/pastes/1030386/download -O ineptkey-5.0.pyw
$ wget http://pastebin.com/download.php?i=kuKMXXsC -O ineptpdf-8.4.42.pyw
$ wget http://www.python.org/ftp/python/2.7/python-2.7.msi
$ wget http://www.voidspace.org.uk/downloads/pycrypto-2.1.0.win32-py2.7.zip
$ unzip pycrypto-2.1.0.win32-py2.7.zip
$ wine msiexec /i python-2.7.msi
$ wine pycrypto-2.1.0.win32-py2.7.exe
Gdyby cokolwiek wymagało wyjaśnienia w co szczerze wątpię. Najpierw skopiowałem profil .wine-Adobebook gdzie zainstalowany jest Adobe Digital Editions jako .wine-ADEcrypt. Później ten nowy ustawiłem jako domyślny (w tym otwartym terminalu oczywiście). Następnie pobrałem z netu wszystko co podobno jest potrzebne, czyli windzianą wersję Pythona 2.7, moduł PyCrypto do niego i sam skrypt pobierający klucz deszyfrujący z ADE, oraz ineptpdf czyli szczepionkę dla plików PDF z linku znalezionego w podlinkowanym wyżej artykule z eksiążki.org.
Ostatnie dwa wiersze to oczywiście instalacja obu wyżej wymienionych paczek z Pythonem. Od tego momentu profil .wine-ADEcrypt to profil .wine-Adobebook wzbogacony o Pythona.
Mam nadzieję, że tym razem zanim ktoś powie, że to skomplikowane (cześć Paweł :-) zauważy, że 90% powyższego da się zrobić tak, że zamiast literek w konsoli potrzebne będą obrazki w co i kiedy kliknąć, albo nawet i nie to ;-).
Kiedy już wszystko jest pobrane trzeba włączyć jeden skrypt.
$ wine ~/.wine-ADEcrypt/dosdevices/c\:/Python27/python.exe ineptkey-5.0.pyw
A później drugi skrypt
$ wine ~/.wine-ADEcrypt/dosdevices/c\:/Python27/python.exe ineptpdf-8.4.42.pyw
Tam wskazujemy chorego i miejsce gdzie ma się znaleźć zdrowa kopia pacjenta klikamy Decrypt
i ...
$ evince Zdrowa\ Gorzka\ czekolada.pdf
... już.
Strasznie jestem ciekaw ile kosztuje obsługa DRM (patrząc od strony wydawcy) czyli o ile tańsze mogłyby być książki przyjazne dla użytkowników lub o ile więcej można by zapłacić ich autorom.
Bo przecież nawet jeśli przyjąć - co nie jest prawdą moim zdaniem - że wielu tzw. ZU by nie potrafiło, to pewnie za chwilę ktoś wyciągnie ku nim rękę i zmontuje klikalną wersję wszystkiego (o ile już nie zmontował). A jeśli jeszcze zauważyć, że przecież są ludzie którzy - z nieznanych mi pobudek - ciężko pracują skanując papierowe książki aby je wrzucić na jakieś torrenty to ... cóż, spodziewałem się, że procedura jest wykonalna przy odrobinie zacięcia, przez myśl mi nie przeszło, że sprowadza się do bezmyślnego klikania w instalatory i skrypty (pod Windows™ chyba nie używa się wine ;-)
Przechodzę chyba szybciej do punktu drugiego i wybieram czytnik dla siebie. Książki z DRM da się obsłużyć bez windowsów! :-)
Od jakiegoś czasu - bardzo powoli zaczynam się zastanawiać nad zakupem e-book readera. Bardzo powoli bo na razie wciąż nie bardzo jest co na takiej zabawce czytać, a można założyć, że im później kupi się urządzenie tym będzie ono tańsze i/lub lepsze niż to co w danym momencie dostępne jest na rynku. No ale reader jest po to, żeby czytać, a to że dostępne jest niewiele to nie znaczy, że nic.
Pomyślałem, że trzeba zobaczyć co z zakażonym DRM ebookiem da się zrobić nie posiadając windowsa. Potrzebny był mi też plik testowy do readera jak już w końcu pójdę go oglądać w sklepie. I tak doszło do tego, że trochę na chybił trafił wybrałem i kupiłem książkę na (w ?) virtualo. Wersja PDF zakażona DRMosis Adobensis.
Sklep już kiedy kupowałem (ale zanim zapłaciłem) lojalnie poinformował mnie, że jeśli chodzi o czytanie tego co mam zamiar kupić to mogę sobie te moje linuksy wsadzić, pozwoliłem sobie tę przemiłą sugestię zignorować - ale miło, że ostrzegają!
Po zakupie książka trafiła w serwisie do działu Moja Biblioteka
gdzie znalazłem link do pobrania pliku. No to pobrałem...
wariat@coyote ~/Desktop/ebook $ ls -l Gorzka*
-rw-r--r-- 1 wariat wariat 1826 10-21 22:46 Gorzka czekolada.acsm

Jak na książkę to trochę mało to to waży... w środku trochę śmieci które pozwoliłem sobie zamazać na obrazku bo to w końcu moja książka (w sensie egzemplarz) i nikt bez mojej zgody mi jej na makulaturę wynosił nie będzie! :D
Jest tam groźnie wyglądający tag <expiration /> I coś co wygląda jak bezpośredni link do zakażonego PDF'a no to ... pobieramy oczywiście bez żadnej nadziei na sukces :D
wariat@coyote ~/Desktop/ebook $ wget http://adobe.virtualo.pl/media/cf BLA BLA BLA 207.pdf -O Gorzka\ czekolada.pdf
--2010-10-21 23:06:07-- http://adobe.virtualo.pl/media/cf BLA BLA BLA 207.pdf
Translacja adobe.virtualo.pl... 94.23.225.21
Łączenie się z adobe.virtualo.pl|94.23.225.21|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 1896677 (1,8M) [application/pdf]
Zapis do: `Gorzka czekolada.pdf'
100%[===================================================================================================>] 1.896.677 115K/s w 16s
2010-10-21 23:06:23 (116 KB/s) - zapisano `Gorzka czekolada.pdf' [1896677/1896677]
Chorego PDFa tak po prostu otworzyć się nie da (no przecież ostrzegali). Ale nie mogłem nie spróbować.
Na początek chodzi o samo otwarcie ebooka na komputerze. Wymagany jest do tego niejaki Adobe Digital Editions którego oczywiście w wersji na Linuksa nie ma (a wersja dla windy dostępna jest do pobrania po kliknięciu installation Technote), Wersji na lin nie ma ale jest wine.
$ export WINEPREFIX="/home/wariat/.wine-Adobebook"
$ winecfg
$ wine AdobeDigitalEditions-1.7.2.exe
Dalej, dalej instalatorze gadgeta. Program się za chwilę uruchomi informując, że teraz trzeba się zarejestrować w niejakim Adobe ID. Pojęcia nie mam czy trzeba podać ten sam email co w sklepie, czy można dowolny ale ponieważ wokół czai się całe zUo wielkich korporacji na wszelki wypadek podałem ten sam (prawie fake) adres. Dalej bez pudła. Przeciągnięcie na ADE pliku Gorzka czekolada.acsm z virtualo pozwoliło pobrać książkę i można czytać
I wydawałoby się, że to nadal nic, ale jeśli dobrze rozumiem mogę teraz ten pobrany przez ADE plik PDF ("~/My Digital Editions/Gorzka czekolada.pdf") podłożyć do Calibre i co prawda tam go nie przeczytam, ale będę mógł przesłać go na urządzenie (ebook reader) i wszystko będzie działało. (Calibre FAQ: How do I use purchased epub books). Tu pozostaje problem, czy ADE jarnięty pod wine pozwoli na uznanie
czytnika ale jest nadzieja, a Nadzieja prababką hackera więc szansa istnieje.
No dobrze, ale co gdybyśmy chcieli plik z DRMosis Adobensis wyleczyć? Jedno co wiemy na pewno o systemach DRM to, że są nieskuteczne w co najmniej takim samym stopniu jak upierdliwe. Można nawet zaryzykować stwierdzenie, że im większa upierdliwość tym mniejsza skuteczność (bo większe ciśnienie, żeby się draństwa pozbyć) ale to zupełnie inna bajka.
Chcemy więc leczyć, a żeby wyleczyć trzeba mieć lekarstwo. Czasy mamy takie, że jak człowiek czegoś nie wie to sprawdza w wikipedii, a tam w sekcji References artykułu o ADE wiele obiecujący link: Circumventing Adobe ADEPT DRM for EPUB. No to chyba jesteśmy w domu. Co prawda PDF to nie EPUB ale jak jest lekarstwo na jedno to pewnie obok zaraz jest i na drugie.
I tu miał być ciąg dalszy eksperymentów, odkładany i odkładany aż do wczoraj kiedy ukazał się artykuł mmazura mmazur: Kindle i obchodzenie zabezpieczeń Babci Jagódki już praktycznie wiem, że się da, a skoro ciśnienie do eksperymentów miałem słabe - i klikałem powyższe z pięć tygodni (z czego tak naprawdę godzinę) to dokończę pewnie tylko dla własnej pamięci - później :D.
Generalnie samo leczenie jak widać u mmazura jakichś poważnych czarów nie wymaga, pewnie za chwilę pojawi się też automat który poprosi tylko o podanie nazwy pliku wynikowego i go zapisze - a przy odrobinie szczęscia ów automat też da się jarnąć pod wine. Na ten moment tak czy siak, zaklęcia są gotowe wystarczy odpalić po kolei:
Czy warto w ogóle zabierać się za leczenie plików? Uważam, że tak. Po pierwsze plik wyleczony jest łatwiejszy w obsłudze, bo po prostu działa. No i nie ma ryzyka, że nasza cyfrowa biblioteczka zostanie zniknięta
jak któregoś dnia księgarnia, czy sam Adobe uzna, że zwija biznes razem z zakupionymi przez użyszkodników książkami. Bo jak mówiłem nikt mi moich książek bez mojej wiedzy na makulaturę wynosił nie będzie!
Warto też pamiętać o przywróceniu standardowych możliwości dokumentu elektronicznego jak na przykład copy/paste fragmentów. Nie żeby codzień wszyscy pisali recenzje książek, ale nie po to wymyślono ebooki, żeby się nie dało.
Gdzieś niejako przy okazji sypnąłem się, że mam na pędraku Gentoo minimal CD, a podobno się nie da, bo to nie działa - a ja nie wiedziałem, że nie działa to mi zadziałało :D. Ludzie (dwa ludzie, ale zawsze) pytają, więc mimo iż większego czary mary tu nie ma (mniejszego też), to przy okazji przygotowywania pędraka od nowa (tak, żeby Windows montował właściwą partycję) małe howto.
Najsamprzód przygotujemy pędraka. Dwie partycje, /dev/sda1 partycja FAT32 będzie pędrakiem właściwym, /dev/sda2 FAT16 (choć nie koniecznie) to bootowalna partycja z LiveCD. Na te drugą rezerwuję 350MB zmieści się na niej wtedy dodatkowo stage3 i snapshot portage i jeszcze jakieś miejsce zostanie.
# fdisk -l /dev/sda
Disk /dev/sda: 2063 MB, 2063597056 bytes
255 heads, 63 sectors/track, 250 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00042b5b
Device Boot Start End Blocks Id System
/dev/sda1 1 205 1646631 b W95 FAT32
/dev/sda2 * 206 250 361462+ 6 FAT16
Partycje trzeba sformatować, pierwszą FAT32 lub NTFS jak kto woli, to będzie „pędrak właściwy”.
# mkdosfs -v -n PQI -F 32 /dev/sda1
mkdosfs 3.0.2 (28 Feb 2009)
/dev/sda1 has 255 heads and 63 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 3293262 sectors;
file system has 2 32-bit FATs and 8 sectors per cluster.
FAT size is 3210 sectors, and provides 410851 clusters.
Volume ID is 7b81d1e6, volume label PQI .
Drugą FAT16 (lub ext2), na której znajdzie się instalka żętoo.
# mkdosfs -v -n Gentoo -F 16 /dev/sda2
mkdosfs 3.0.2 (28 Feb 2009)
/dev/sda2 has 255 heads and 63 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 722924 sectors;
file system has 2 16-bit FATs and 16 sectors per cluster.
FAT size is 177 sectors, and provides 45158 clusters.
Root directory contains 512 slots.
Volume ID is 7d877c27, volume label Gentoo .
# df -h | grep sda
/dev/sda2 353M 0 353M 0% /media/Gentoo
/dev/sda1 1,6G 4,0K 1,6G 1% /media/PQI
W szeroko rozumianym międzyczasie warto pobrać Gentoo MinimalCD i zainstalować Syslinux.
Dalej jest już, że tak powiem dość mechanicznie (mówiłem przecież, że żadnego czary mary tu nie ma).
# dd if=/usr/share/syslinux/mbr.bin of=/dev/sda
0+1 przeczytanych recordów
0+1 zapisanych recordów
skopiowane 440 bajtów (440 B), 0,00394937 s, 111 kB/s
# mount -t iso9660 -o loop,ro /home/wariat/Download/install-x86-minimal-20090915.iso /mnt/cdrom/
# mount -t vfat /dev/sda2 /mnt/pen/
# cp -r /mnt/cdrom/* /mnt/pen/
# sync
# mv /mnt/pen/isolinux/isolinux.cfg /mnt/pen/isolinux/syslinux.cfg
# mv /mnt/pen/isolinux /mnt/pen/syslinux
# mkdir /mnt/pen/pliki
# cp /home/wariat/Download/gentoo\ x86/stage3-i686-20090915.tar.bz2 /mnt/pen/pliki/
# cp /home/wariat/Download/gentoo\ x86/portage-20091008.tar.bz2 /mnt/pen/pliki/
# sync
# umount /mnt/pen/
# syslinux /dev/sda2
Gdyby zamiast FAT16 na tej partycji miał znaleźć się ext2 to wszystko jak wyżej, tylko wszędzie gdzie syslinux trzeba napisać extlinux i też działa.
No i tym razem ułomy windows, który potrafi zamontować tylko pierwszą partycję z napędu USB (LOL) pozwoli korzystać z gwizdka normalnie.
.
Powoli zbliżam się do momentu kiedy stary Pentium 60 z FreeDOSem zostanie wysłany na emeryturę, a zastąpi go nowy Asus eeeBox B202 z gentoo linux. Martwiłem się kwestią przetransportowania danych ze staruszka, ale okazuje się, że autorzy FreeDOS stanęli na wysokości zadania i mimo iż system wygląda klasycznie (zabytkowo) to z obsługą nagrywarki CD nie ma większego problemu.
Ku pamięci więc tylko:
Przy okazji, jeśli gdzieś jeszcze taki zabytek stoi, a może sam jeszcze kiedyś postawię to, żeby nie klepać od nowa, codzienne backupy danych w całkiem zgrabnie uporządkowanej formie da się również w DOSie.
backup.bat
echo off
rem BWW Backup Script v3
set exclude=*.exe
cd %temp%
echo | date /d | sed -e "s/.* //" | sed -e "s/\./-/g"> data.txt
set /E date=sed data.txt -e "s/^.....//"
set /E year=sed data.txt -e "s/-..-..$//"
REM jesli nie ma katalogu na backupy to go zrobmy
IF EXIST D:\BACKUP\%year%\keep goto cont
mkdir D:\BACKUP\%year%
touch D:\BACKUP\%year%\keep
mkdir E:\BACKUP\%year%
touch E:\BACKUP\%year%\keep
set exclude=
REM plik nie istnieje, czyli ok
:cont
set filename=%date%.zip
:loop
IF NOT EXIST D:\BACKUP\%year%\%filename% GOTO rest
set exclude=
set /E n=calc387 %n%+1
echo %date%-%n%.zip > data.txt
set /E filename=sed data.txt -e 's/ *//g'
GOTO loop
:rest
rm data.txt
cdd c:\kantor\bww
zip -r -0 D:\BACKUP\%year%\%filename% *.* -x %exclude%
copy D:\BACKUP\%year%\%filename% e:\backup\%year%\*.*
cd \
Skrypt uruchamiany z autoexec.bat zapisuje archiwum na partycji D:\ (i E:\ a co tam :D) w drzewie katalogów:
D:\
BACKUP\
yyyy\
2008\
2009\
mm-dd.zip
01-02.zip
01-03.zip
I kto mówił, że w DOSie się nie da? :-)
Mplayer jako odtwarzacz ma wiele zalet i pewnie większość ma paskuda w komputerze. Ale ma też jedną uciążliwość, bo przecież nie wadę, jego Gtk'owe GUI jest w GNOME wyraźnie nie od kompletu. Nawet po oskinowaniu w stylu Tango-mplayer jest lepiej, ale na pewno nie dobrze. Tylko ... być może to już przeszłość jest, bo pojawiło się Gnome mplayer GUI na razie w wersji 0.5.0 ale podczas krótkich testów nie wykazuje braków, no i wygląda jak powinien w tej okolicy.
Ja w to wchodzę! :)
Winda to jednak pożera miejsce na dysku. Mój windows na Qemu postawiłem na obrazie dysku o rozmiarze 4GB, na razie nie zainstalowałem niczego poza aktualizacjami windowsów (nie wszystkimi jeszcze), a system zgłosił, że mu się miejsce kończy. Kłopot polega na tym, że obraz dysku w formacie qcow2 nie pozwala na zmianę rozmiaru dysku/partycji. Trzeba więc było wymyślić workaround.
Zacznijmy od skopiowania istniejącego obrazu dysku tak na wszelki wypadek i upewnienia się, że mamy do czynienia z obrazem w formacie qcow2, jeśli tak (a tak ;-) ) to przekonwertujmy go do formatru raw:
$ cp winda.img WindowsXP_HE_SP2_updated.img
$ qemu-img info winda.img
image: winda.img
file format: qcow2
virtual size: 4.0G (4294967296 bytes)
disk size: 3.6G
cluster_size: 4096
$ qemu-img convert -f qcow2 winda.img -O raw winda.raw
$ qemu-img info winda.raw
image: winda.raw
file format: raw
virtual size: 4.0G (4294967296 bytes)
disk size: 3.5G
Warto teraz zabootować Windows z nowego obrazu dysku, ot tak, żeby sprawdzić czy wszystko gra. Jeśli tak powiększmy obraz do rozmiaru 10GB dopisując po prostu zera na końcu pliku za pomocą komendy dd. W parametrze bs podajemy ilość dodawanych jednorazowo bajtów, w parametrze seek docelowy rozmiar dysku (10GB = 10*1024*1024*1024 = 10737418240) podzielony przez 512 czyli 20971520.
dd if=/dev/zero of=winda.raw bs=512 count=0 seek=20971520
Uzyskaliśmy w ten sposób 10GB dysk z partycją 4GB (z zainstalowanymi windowsami) co łatwo sprawdzić:
$ qemu-img info winda.raw
image: winda.raw
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 3.5G
$ su -c "fdisk -l winda.raw"
Password:
You must set cylinders.
You can do this from the extra functions menu.
Disk winda.raw: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
winda.raw1 * 1 521 4184901 7 HPFS/NTFS
Dla chętnych sprawdzania co krok czy wszystko śmiga pozostaje odpalenie windowsa z nowego powiększonego obrazu dysku, cała reszta wierzy, że wszystko śmiga i czas powiększyć partycję. Oczywiście za pomocą qemu i gparted LiveCD.
$ qemu -m 256 -cdrom gparted-livecd-0.3.4-7.iso -hda winda.raw -boot d -localtime
Po kilku kliknięciach uzyskujemy to o co chodziło czyli:
$ su -c "fdisk -l winda.raw"
Password:
You must set cylinders.
You can do this from the extra functions menu.
Disk winda.raw: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
winda.raw1 * 1 1305 10482381 7 HPFS/NTFS
Partition 1 has different physical/logical endings:
phys=(1023, 254, 63) logical=(1304, 254, 63)
Na koniec konwertujemy obraz spowrotem do formatu qcow2 aby oszczędzić miejsce na dysku (plik obrazu w formacie qcow2 rośnie wraz z zapełnianiem się wirtualnego dysku.) i teraz już kategorycznie bootujemy system aby sprawdzić czy wszystko hula jak należy, windows uruchomi teraz sprawdzanie dysku zdziwiony, że miejsca jest jak gdyby więcej ;-).
$ qemu-img convert -f raw winda.raw -O qcow2 WindowsXP.qcow2
$ ls -lh [wW]*
-rw-r--r-- 1 wariat wariat 3,6G cze 21 12:28 winda.img
-rw-r--r-- 1 wariat wariat 10G cze 21 15:19 winda.raw
-rw-r--r-- 1 wariat wariat 1,3G cze 12 23:38 WindowsXP_HE_SP1_Registered.img
-rw-r--r-- 1 wariat wariat 3,6G cze 21 12:34 WindowsXP_HE_SP2_updated.img
-rw-r--r-- 1 wariat wariat 2,4G cze 14 12:43 WindowsXP_HE_updated.img
-rw-r--r-- 1 wariat wariat 3,6G cze 21 15:46 WindowsXP.qcow2
$ qemu -m 256 -hda WindowsXP.qcow2 -boot c -localtime
Na koniec znów kilka obrazków ;-)
Cztery dni (jasne, że nie całe :D) trwała wojenka wariat vs Windows on qemu. Efekty wciąż takie jak na początku, czyli wszystko niby działa, ale nie do końca i to wystarczy, Windows się instaluje, ale nie zakłada konta użytkownika, przez co nie można się zalogować. Próba zalogowania się w trybie awaryjnym na konto Administrator z pustym hasłem daje rezultat w postaci "krytyczny wyjątek, explorer.exe czy wysłać informację o awarii?" - oczywiście nie omieszkałem wysłać, a co :D.
Ale jest przełom! I ostatecznie działa!
Po pierwsze wychodzi na to, że kqemu jest nie do końca opcjonalny, bo bez niego nie daje rady. Dlaczego? Trudno powiedzieć obserwacje ostatnich dni wskazują, że nie wszystkie pliki są kopiowane z płyty instalacyjnej. Użycie modułu kqemu problem zdaje się rozwiązywać, być może bez tego wsparcia virtualny PC ma za mało pary aby podołac instalce windows :D.
Poza tym uświadomiłem sobie, że instaluję Microsoft Windows, a nie jakieś bele co, podjąłem więc specjalne środki ostrożności przypominające mi czasy małego Atari, magnetofonu Kasprzak z adapterem do Atari SIO i sytuację wczytywania gry Gauntlet (cała kaseta C-60, po jednej stronie gra, po drugiej poziomy) - bokiem kompletnie nie pamiętam o czym była ta gra, ale to, że aby zagrać trzeba było poczekać pół godziny chodząc po pokoju na palcach wystarczyło, aby mój porypany mózg zakodował nazwę :D.
Tak więc:
# echo 1024 > /proc/sys/dev/rtc/max-user-freq
# modprobe -v kqemu
insmod /lib/modules/2.6.20-gentoo-r8/misc/kqemu.ko major=0
$ qemu-img create -f qcow2 winda.img 4G
Formating 'winda.img', fmt=qcow2, size=4194304 kB
$ qemu -cdrom /dev/hdc -hda winda.img -boot d -localtime -no-reboot
$ cp winda.img winda-stage1.img
$ qemu -cdrom /dev/hdc -hda winda.img -boot c -localtime -no-reboot
$ cp winda.img winda-stage2.img
Pozostało ostatnie uruchomienie (część która nie działała), gdzie założymy konto użyszkodnika i takie cuda.
$ qemu -cdrom /dev/hdc -hda winda.img -boot c -localtime -no-reboot
Sprawdzamy czy sieć działa (powinna) pingując adres 10.0.2.2 ( można też włączyć eksplozjator internetu, dają go w komplecie ;-) ), jeśli odpowiada, wszystko powinno być ok i można kliknąć w kluczyki od Aktywacji windows.
Po zakończeniu aktualizacji Windows, a przed zainstalowaniem czegokolwiek warto zrobić kolejną kopię obrazu dysku, co znacznie skróci czas w przypadku konieczności wykonania format c:/
.
Co dalej? Myślę, że po aktualizacji systemu warto zabrać się za odpalenie sieci w wposób bardziej normalny, tak aby zasoby wirtualnego PCta było widać po Sambie w systemie właściwym i tyle.
Na koniec tymczasowy skrypt startowy, jeśli okaże się ostatecznie, że Windows na qemu spełnia pokładane w nim nadzieje, zrobi się to porządnie, a do tego czasu niech jest trochę dziwnie.
start-win.sh
#!/bin/bash
lsmod | grep kqemu || su -c "modprobe -v kqemu"
if [ -z $(grep 1024 /proc/sys/dev/rtc/max-user-freq) ]
then
su -c "echo 1024 > /proc/sys/dev/rtc/max-user-freq"
fi
qemu -m 256 -hda winda.img -boot c -localtime -no-reboot
i jeszcze kilka obrazków.
P.S. W komentarzu do poprzedniego wpisu Michał Górny zwraca uwagę na to, że istnieje już od jakiegoś czasu eselect-compiler zastępujący gcc-config w zadaniu zmiany aktualnie używanej wersji gcc. Istnieje i można użyć, ale jest jak na razie wciąż zamaskowany, czyli nie przewidziany do użytku dla ZU. Ale oczywiście można, choć eselect uprości zadanie w sposób raczej nieznaczny, a w przyszłości należy liczyć, że qemu będzie się kompilowało na nowym gcc, lub przynajmniej ebuild sam zajmie się kombinowaniem.
P.S.2 TrackBack jako PingBack? Da się?
Od dłuższego czasu chciałem się przyjrzeć qemu i postawić gdzieś windowsa który może się przydać jak się skrypty w firmie wysypią lub zaczną wymagać poprawek. Co mnie powstrzymywało to konieczność kompilowania qemu za pomocą starego gcc-3.3.6. Plan był taki, że spróbuję, jak będę naprawdę potrzebował windy, lub kiedy w końcu cudactwo zacznie się kompilować nowym gcc.
Stało się jeszcze inaczej (i dobrze, bo na razie winda nie chce współpracować), upgradeowałem Sun java do wersji 1.6, który również kompilować się chce tylko starym gcc (co za świat :D). Java problem załatwia sama (przełącza się na stare gcc i z powrotem na nowe po kompilacji), z qemu trzeba ręcznie.
No bo to tak:
coyote ~ # emerge -avD qemu
* qemu requires gcc-3 in order to build and work correctly
* please compile it switching to gcc-3.
* We are aware that qemu can guess a gcc-3 but this feature
* could be harmful.
Czemu się dziwimy (ebuild od java jakoś umie sam), ale się nie poddajemy i przełączamy gcc.
coyote ~ # gcc-config -l
[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-4.1.2 *
coyote ~ # gcc-config i686-pc-linux-gnu-3.3.6
* Switching native-compiler to i686-pc-linux-gnu-3.3.6 ...
>>> Regenerating /etc/ld.so.cache... [ ok ]
* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:
* # source /etc/profile
coyote ~ # source /etc/profile
i mergujemy raz jeszcze, po czym przywracamy domyślne (nowe) gcc
coyote ~ # -avD qemu
coyote ~ # gcc-config -l
[1] i686-pc-linux-gnu-3.3.6 *
[2] i686-pc-linux-gnu-4.1.2
coyote ~ # gcc-config i686-pc-linux-gnu-4.1.2
* Switching native-compiler to i686-pc-linux-gnu-4.1.2 ...
>>> Regenerating /etc/ld.so.cache... [ ok ]
* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:
* # source /etc/profile
coyote ~ # source /etc/profile
coyote ~ # gcc-config -l
[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-4.1.2 *
Trzeba to przetestować!
najłatwiej jakimś LiveCD, i najlepiej żeby to LiveCD było małe, tak małe jak Damn Small Linux.
$ qemu -cdrom dsl-3.3.iso -boot d -smp 2 -m 512
I co teraz, siedzę w firmie, jak to przetestować? Zciągnąłem z netu Damn Small Linux
$ qemu -cdrom dsl-3.3.iso -boot d -smp 2 -m 512
i już po chwili banan zaczyna się pojawiać na gębie bo zaczęło wykrywać sprzęt i wreszcie na desktopie pojawił się ... drugi desktop, progsy śmigają, net działa ... nie powinno być źle. Trzeba poczytać manual i zmontować hardziela dla windy.



No tak, tylko nie wziąłem poprawki, że windows to windows jest i nawet jeśli google podaje tylko instrukcje jak, które to zresztą instrukcje nie wykraczają zresztą poza "włącz i zadziała" to nie znaczy, że będzie ok.
W skrócie, instalka działa, instaluje się wszystko (koszmarnie wolno), ale z jakiegoś powodu nie jest zakładane (instalator nie pyta nawet)konto użytkownika, przez co po ostatnim restarcie Virtualnego grzyba winda niby jest, ale jej nie ma, bo nie działa.
Tak czy siak, jak widać na przykładzie Damn Small Linux sam emulator sprawdza się, świetnie, pobrałem z netu instalkę Ubuntu 7.05 Frywolny Fulmar i pewnie eksperymentalnie i jego postawię na udawanym kompie. Tyle, że jeśli to cudo ma mi się do czegokolwiek przydać to właśnie do jarnięcia windy... cuż, nikt nie mówił, że będzie łatwo, czyli ciąg dalszy nastąpi :D
Ha! Chyba w końcu znalazłem klienta sieci BitTorrent dla siebie. No dobra znalazłem też wcześniej niejakiego gnome-bt ale ten zniknął był z portage w niewyjaśnionych okolicznościach dość dawno temu.
Dotychczas więc oglądałem czasami jak co wygląda, a używałem właściwie tylko ctorrent, co ma swoje zalety, ale generalnie (IMO) wad ma więcej. I oto wczoraj wieczorem całkiem przypadkiem natrafiłem na Deluge klienta sieci BitTorrent napisanego w Pythonie. Bokiem zupełnie - zaczynam się obawiać czy za chwilę większość cudeńka jakie nazywamy GNOME Desktop
nie będzie napisana w skryptach z pod znaku czterech spacji ;-). Ale do rzeczy...
wscreenie ;-) )
wyPythonićjak to Gajim miewał kiedyś w zwyczaju
Bateria w laptopie (i wszystkich innych urządzeniach) ma tę paskudną wadę, że jak się jej używa to ona się rozładowuje. Warto więc wiedzieć jaki jest jej stan i starać się prąd oszczędzać. Gnome-power-manager sobie z problemem radzi, jeśli wie co z baterią. W przypadku Toshiba Satellite P25-S609 (taki desktop udający laptopa) pewne informacje są domyślnie tajne ;-).
Bateria tak na prawdę ma pojemność 6450mAh która w tej chwili (komputer nie jest już od dawna nowy) realnie zmniejszyła się do ok. 5300mAh. Niestety /proc/acpi/battery/* raportuje w tym względzie bzdury.
Czy jest rozwiązanie? Jest, nazywa się omnibook i nie koniecznie dotyczy tylko produktów znanego producenta dobrych drukarek i przeciętnej reszty ;-). To do dzieła.
# echo "app-laptop/omnibook ~x86" >> /etc/portage/package.keywords
# emerge omnibook
I teraz tak, wiele modeli jest rozpoznawanych przez moduł, może i nasz?
# modprobe -v omnibook
insmod /lib/modules/2.6.19-gentoo-r5/char/omnibook.ko
# dmesg
omnibook: Driver version 2.20070211.
omnibook: Unknown model.
omnibook: Enabled features: version dmi.
# ls /proc/omnibook/
dmi version
Co stanowi, że nie śmiga bo laptop nie został przez moduł rozpoznany. Co teraz? Teraz otwieramy listę supportowanych komputerów i szukamy podobnego. W przypadku Toshiba Satellite P25-S609 jak się wydaje najlepiej odpowiadają wersje ectype=11 i ectype=12. W jaki sposób? Metodą prób i błędów, ectype=11 pasuje bo jest tam Satellite P20, bateria na takich ustawieniach działa, ale źle raportowana jest ilość możliwych ustawień podświetlenia ekranu. W tej chwili wydaje się, że ectype=12 w tym wypadku jest lepszym wyborem. Tak czy siak trzeba próbować i porównywać wyniki. Po dobraniiu porawidłowych wartości warto założyć feature request na stronie projektu omnibook, tak aby kolejna wersja modułu rozpoznawała nasz komputer bez większego kombinowania, w końcu takie wspomaganie developperół informacjami to też jakis malutki wkład w Wolne Oprogramowanie right?
# modprobe -vr omnibook
rmmod /lib/modules/2.6.19-gentoo-r5/char/omnibook.ko
# modprobe -v omnibook ectype=12 battery=1
insmod /lib/modules/2.6.19-gentoo-r5/char/omnibook.ko ectype=12 battery=1
omnibook: Driver version 2.20070211.
omnibook: Forced load with EC type 12.
omnibook: check_default_state timeout.
omnibook: EC state check failure, please report.
omnibook: LCD backlight turn off at console blanking is enabled.
omnibook: Enabled features: battery blank bluetooth display version dmi lcd temperature wifi throttling.
# ls /proc/omnibook/
battery bluetooth dmi temperature version
blank display lcd throttling wifi
# cat /proc/omnibook/battery
Battery: 0
Type: Li-Ion
Serial Number: 20152
Present Voltage: 16716 mV
Design Voltage: 14800 mV
Remaining Capacity: 5371 mAh
Last Full Capacity: 5371 mAh
Design Capacity: 6450 mAh
Gauge: 100 %
Status: charged
Youpiii! ;-) No to niech się teraz samo ładuje ;-)
# echo "options omnibook ectype=12 battery=1" > /etc/modules.d/omnibook
# modules-update
* Updating /etc/modules.conf ... [ ok ]
* Updating /etc/modprobe.conf ... [ ok ]
# modprobe -vr omnibook
rmmod /lib/modules/2.6.19-gentoo-r5/char/omnibook.ko
# modprobe -v omnibook
insmod /lib/modules/2.6.19-gentoo-r5/char/omnibook.ko ectype=12 battery=1
# echo omnibook >> /etc/modules.autoload.d/kernel-2.6
# reboot
I śmiga... Bateria jest poprawnie raportowana przez gnome-power-manager. W przypadku odcięcia zasilania ekran jest przygaszany, zanim prądu w baterii zabraknie, komputer się wyłączy. Czas po mału zebrać siły na zwalczenie suspend2-sources ;-)
emerge -avD a2ps psutils gsview
Najpierw trzeba przerobić plik PDF na format PS.
$ a2ps "Lawrence Lessig - Wolna Kultura.pdf" --sides=2 --columns=1 > temp.ps
[Lawrence Lessig - Wolna Kultura.pdf (pdf, delegated to pdf2ps): 380 pages on 190 sheets]
[Total: 380 pages on 190 sheets] sent to the standard output
Teraz trzeba się zorientować na jakim papierze wydrukowany jest dokument, ja nie potrafie lepiej niz po prostu otworzyć go w gsview i zmieniając format papieru w menu Media zobaczyć, że ten najbardziej pasuje do A5, a my na chwilę chcemy żeby pasował do A4 wiec...
$ psresize -Pa5 -pa4 temp.ps temp1.ps
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
(...)
[367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379]
[380] Wrote 380 pages, 19761460 bytes
-P (WIELKIE) to format wejściowy, -p (małe) to format wyjściowy, dostępne formaty i inne zmienne tam gdzie zwykle, czyli $ man psresize.
$ psbook -s20 temp1.ps | psnup -2 > ksiazka.ps
[20] [1] [2] [19] [18] [3] [4] [17] [16] [5] [6] [15] [14] [7] [8] [13] [12]
(...)
[364] [377] [376] [365] [366] [375] [374] [367] [368] [373] [372] [369] [370]
[371] Wrote 380 pages, 19761460 bytes
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
(...)
[172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184]
[185] [186] [187] [188] [189] [190] Wrote 190 pages, 19881160 bytes
Na koniec zróbmy z tego z powrotem PDF'a bo będzie ciut mniejszy (plik), a poza tym nie będzie problemów przy drukowaniu na drukarce postscriptowej.
ps2pdf14 -sPAPERSIZE=a4 ksiazka.ps ksiazka.pdf
$ ls -lh
razem 71M
-rw-r--r-- 1 wariat users 12M lut 5 17:45 ksiazka.pdf
-rw-r--r-- 1 wariat users 19M lut 5 17:39 ksiazka.ps
-rw-r--r-- 1 wariat users 1,9M lut 5 04:24 Lawrence Lessig - Wolna Kultura.pdf
-rw-r--r-- 1 wariat users 19M lut 5 17:28 temp1.ps
-rw-r--r-- 1 wariat users 19M lut 5 17:19 temp.ps
I voilla. Jak mówiłem książki która już istnieje, raczej się nie opłaca, bo będzie gruba, mało wygodna i droga. Ale zawsze mogą pojawić się dokumenty których drukiem nie wydano, a w takiej formie na pewno będą wygodniejsze w użyciu, choćby w miejscu gdzie nawet Król... ;-).Naszła mnie nagła wewnętrzna potrzeba poklejenia kawałka video w celach domowo różnych. Materiał nagrany na kasecie MiniDV trzeba skopiować do komputera wyciąć co nie chciane, zrobić jakieś przejścia między tym co zostanie, dołożyć napis, podłożyć jakąś muzykę.
Nic skomplikowanego, powinno się udać. Długo się nie zastanawiając mergnąłem KinoDV 0.9.2 o którym gdzieś kiedyś czytałem, że dla ludzi jest. Faktycznie jest, aż za bardzo. :(
Na pierwszy rzut oka, program o jaki chodzi. Kilka opcji, przejrzysty interface rozsądna liczba obsługiwanych formatów, w tym informacja o danych wejściowych w formacie SMIL 2.0 czyli nowocześnie. Ale ... o użyteczności chyba trochę zapomniano.
Ja przepraszam, może się nie znam, ale możliwość podglądu zastosowanych efektów przejścia tylko po ich zaaplikowaniu i utworzeniu elementu na storyboardzie? Możliwość dodania audio tylko po połączeniu wszystkich elementów w jeden, bo inaczej nie ma się pojęcia gdzie fragment podkładu się skończy?
Reasumując, jeśli szukasz prostego programu do połączenia gotowych i najlepiej już obrobionych fragmentów w jeden, proszę bardzo. Nada się. Ale jeśli chcesz zrobić z filmem cokolwiek więcej, niestety, Kino odpada. Przynajmniej na razie, bo potencjał dla czegoś prostego do produkcji bez ambicji za to wygodnie jest.
Uwaga ogólna. Powodem pewnie jest czas jaki upłynął od pojawienia się iee1394, ale pamiętam jazdy pod windows aby komputer w końcu zakumał, że to po drugiej stronie kabla to kamera i źródło obrazu jest. Poszło bez pudła i lepiej zrobić tego nie można było.
Czyli szukam dalej, następny program w kolejności to chyba LiVES. Tu minus jaki narzuca się jeszcze przed skompilowaniem programu to mplayer w zależnościach. Kłopot polega na tym, że na AMD64 lepiej sprawdza się mplayer-bin, bo do wersji 64bitowej brak połowy kodeków, ale zobaczyć można.
Tak to jest jak lokalizujący software wpadnie w szeroko rozumiany szał lokalizatora. Przeglądałem dziś co zmieniło się w deskbar po upgrade do gnome-2.16 i zaraz po otwarciu okna prefererencji lekko mnie zatkało gdy zobaczyłem
wsp.ani.ałe zakładki. Tak to applet do obsługi del.icio.us ... zresztą chyba nie działa :D
Jak się człowiek nudzi, to chodzi po Planetach i czyta, czyta, czyta. Od tego czytania, czasami dochodzi do zastanawiania się. No bo jeśli znajdziemy artykuł o nowym, bardzo przydatnym i niesamowicie wygodnym narzędziu na miarę Windows Update ...
Nie mogłem się powstrzymać i odpaliłem, Za pierwszym razem skończyło się czymś krytycznym i zamknięciem przeglądarki. Cóż windowsy tak mają, ale wariat się tak łatwo nie poddaje :D. Drugie uruchomienie i już po niespełna pięciu minutach applet Secunii poinformował mnie, że:
Twardym należy być więc jeszcze raz, tym razem całość skanowania zajęła około 35 minut, a jego wynikiem były informacje jak niżej:
Żeby pozbyć się różnych wersji javy trzeba po prostu wszystkie wywalić i zainstalować jedną na nowo, co wymaga jej pobrania w całości z inetrentu, strata czasu. Ostatnio robiłem to jak miałem w systemie chyba z 20 różnych JRE i dodaj/usuń programy było nimi zaspamowane. Używana jest tylko nowa Java więc ja tu zagrożenia nie widzę, ale co tam. Flasha nie chce mi się upgradeować, ale zapewniam, wiedziałem, że jest stary. Sam się buntował, że bardzo prosi o aktualizację, ale kazałem mu się uciszyć.
Poza tym ... to miało być rewolucyjne narzędzie a wyszło jak zwykle. Na zakończenie zdanie, które zmusiło mą złośliwą naturę do naklepania powyższego spama ;-)
Szkoda tylko, że jest to rozwiązanie tylko dla Windows:frown: Wszystkich, którzy z tego systemu korzystają lub też muszą korzystać zapraszam do przetestowania nowego narzędziaPozwolę sobie zauważyć, że wcale nie szkoda. Ci którzy nie są zmuszeni do używania tego systemu robią to np. tak:
Marvin ~ # emerge -avuD world
These are the packages that would be merged, in order:
Calculating world dependencies... done!
[ebuild U ] sys-devel/gcc-config-1.3.14 [1.3.13-r4] 0 kB
[ebuild U ] media-tv/gentoo-vdr-scripts-0.3.7 [0.3.6] USE="-nvram" 24 kB
[ebuild U ] media-tv/vdrplugin-rebuild-0.2 [0.1] 0 kB
[ebuild NS ] sys-kernel/gentoo-sources-2.6.18-r4 USE="-build -symlink (-ultra1)" 234 kB
Total size of downloads: 258 kB
Would you like to merge these packages? [Yes/No]
Co powoduje sprawdzenie aktualności całego zainstalowanego w systemie oprogramowania na okoliczność istnienia nowszych wersji, pobrania aktualizacji, instalacji ich w systemie i usunięcia wersji nieaktualnych. Tak, kategorycznie windows jest dla ZU lepszy i prostrzy w obsłudze :D.
I na koniec jedna refleksja, nie myśli się o tym na co dzień bo po co się martwić. Ale jak widać applet java może mieć dostęp do całego dysku komputera. Tak zapytał wcześniej, ale wiemy co robi ZU kiedy gierka na stronie, albo innych chat z kamerkami zapyta w języku szeroko znanym jako obcy czy może się uruchomić, prawda? Każden jeden ZU klika na "Accept", chyba że obok znajdzie przycisk "Next" bo wtedy klika w niego. Hmmm no to po co my się czasami rozwodzimy nad wyrafinowanymi błędami bezpieczeństwa, które mogą pozwolić na okradzenie ZU z jego tajnych haseł i po co? Skoro byle chat może mu za pozwoleniem (którego ZU udzieli) może mu przekanować całego hardziela i co znajdzie przesłać dalej, bynajmniej nie na serwery Secunii.
We do not yet have a commercial version or a demo that you can try, currently just the demo video. However, we are currently working on a web-based version of this software so you can upload an image and get your beautified result.czyli możliwe że to kit jest, albo przynajmniej, że cudo być może nigdy nie powstanie, mnie zastanawia co innego ...
