Archiwum dla styczeń, 2008

29
sty
08

Gentoo

“Gentoo”…. Jakże to wieloznaczne pojęcie. O ile “Ubuntu” oznacza “humanity to others”, o tyle “Gentoo” oznacza “difficuties to everyone”. Z kolei i idąc innym tokiem rozumowania, “Ubuntu” oznacza “Nie potrafię postawić Debiania”, “Debian” oznacza “Nie potrafię postawić Gentoo”, to “Gentoo” oznacza “Znajdź sobie wreszcie dziewczynę!” (lub obrazowo, acz obco, “Get a life!”). Do czego zmierzam?

Nie, tak łatwo nie będzie. Posłużę się kolejną metaforą….

Gdyby życie przedstawić jako grę, o trzech poziomach trudności (easy, normal i nightmare :P ), to stawianie Gentoo byłoby przynajmniej “difficult”. To przez co ja dziś przechodziłem, można jednak określić jedynie jako “Boss Level” na poziomie “nightmare”.

Ale po kolei. Zacznę od wczoraj, czyli od pierwszych prób z Gentoo. Zakupiłem szczęśliwie w mieście 2 płyty CD. Na jednej nagrałem DamnSmallLinuksa w wersji 4.2 (dla pewności, że do czegoś będzie można “wrócić”), a na drugiej Gentoo LiveCD 2007.0 . Jakiż to był zawód, gdy okazało się, że stary laptop (96 rocznik!!!!) ma za mało ramu do załadowania LiveCD…. Nie poddałem się jednak i pobrałem Minimal- 56-megową wersję, zawierającą jedynie konsolę i podstawowe aplikacje dzięki którym przy sprawnym połączeniu o dużej przepustowości, można system zainstalować. Przeczekałem noc, przeżyłem dzień szkoły (który nawiasem mówiąc zakończyłem w połowie, przez ekscesy związane ze stanem jelit po kuracji antybiotykowej), zakupiłem płytę i około 14-tej rozpocząłem instalację Gentoo…

I się zaczęło. Z początku było nieźle. Trzeba przyznać, że oficjalny handbook Gentoo jest najlepszym faq-howto jakie w życiu widziałem. W pełni spolonizowany, dokładny, zawierający odnośniki do pełnych list poleceń, flag etc, etc…

Plusem, który od razu rzucił się w oczy przy pierwszych krokach z konsolowym “minimalem” była konsolowa przeglądarka internetowa (tak! przeglądarka internetowa!) links. Majstersztyk ;] . Przebija IE5, mimo że nie ma X-owego/Explorerowego GUI ;) .

Pierwsze problemy zaczęły się przy próbach budowania drzewa pakietów dla Portage, aplikacji sterującej Gentoo (w grubym skrócie).

Do zbudowania tego drzewa, potrzebne były pliki z internetu, który mimo działającego linksa, nie chciał działać dla niektórych aplikacji. Nie wiedziałem tego jednak. Domyśliłem się dopiero po kilku próbach z różnymi adresami serwerów i sprawdzeniu paru dodatkowych opcji (dlatego ważna prawda: -h/–help nie gryzie!) i doszedłem do źródła problemu. Te, jak zawsze przy moim routerze siedziało w DNS-ach. Wystarczyła mała korekta /etc/resolv.conf (wpisanie adresów serwerów DNS “na sztywno”), zablokowanie możliwości zmian w resolv’ie i voilà! Śmigało ;]

// Wiem, że bloga czytują też laicy- DNS to specjalny rodzaj serwera zamieniający domenę (w grubym skrócie to co wpiszemy w przeglądarkę), na adres IP (4 liczby z zakresu 0-255, oddzielone kropkami, np.: 127.0.0.1), dzięki któremu możemy oglądać strony www. Resolv.conf zaś, to plik w Linuksie, który adresy tych serwerów przechowuje.

To jednak nie był koniec moich problemów… Laptop jest stary, zakurzony i łatwo się przegrzewa. Wiedziałem o tym wcześniej i chłodziłem go jak się dało. Niestety. Na pewnym etapie instalacji, po prostu się wyłączył (BIOS ma funkcję kontroli temperatury).

Byłem wściekły. Uczuciem, które brało jednak górę nad złością, był strach – Czy wszystkie poprzednie operacje poszły na marne? Dzięki Bogu nie ;] . Wszystko dzięki specyficznemu  typowi instalacji Gentoo, który właściwie w niczym nie przypomina instalacji… Dostajemy konsolę, komendy, howto i musimy pobierać i rozpakowywać potrzebne pliki. Następnie kompilujemy kernela, środowisko graficzne i różne inne fajne rzeczy :P .

Do czego zmierzam? A no do tego, że miałem już gotowy system plików i partycje oraz konto na nich. Wystaczyło tylko zamontować wszystko w odpowiednich miejscach, chrootować się i walczyłem dalej. Teraz jednak byłem przezorniejszy. Obłożyłem gorącego laptopa lodem (w ręcznikach). Działało! Działało… Już nie działa. Czemu? A bo, żeby zmniejszyć wydzielanie ciepła wyłączyłem zasilanie i zapomniałem zupełnie o maksymalnym czasie działania baterii (1.5h?). Efektem czego, przy wyborze opcji do kompilacji kernela (dzięki Bogu nie w czasie kompilacji!),ujrzałem czarny ekran…

Myślałem, że rozwalę ten sprzęt… Ale nic, pozostaje mi zostawić to na jutro. To nawet dobrze, bo lód mi się kończyl… :P :/ . Poza tym zdążę zebrać więcej informacji o sprzęcie i kompilacja będzie profesjonalniejsza (choć pewnie nie ideał ;]).

Podsumowując, co już mam:

-popartycjonowany dysk,

-system plików,

-drzewo do Portage,

-źródła kernela,

-polską stronę kodową,

-punkt bezpiecznego powrotu do instalacji ;] .

Więc jutro zaczynam od kompilowania kernela… A dziś trzeba zrobić angielski i przynajmniej jedno łatwe zadanie z MAIN’a…

27
sty
08

Koniec ferii

Niestety, wszystko co się kiedyś zaczyna, musi się też kiedyś skończyć.

Nie inaczej też jest z tegorocznymi feriami, które skończą się dla Warmii i Mazur dziś o 00:00.

Pora na podsumowanie dwóch tyogdni wolnego. Co udało mi się zdziałać?

Jakby nie patrzeć, plan na ferie, o którym wcześniej pisałem chyba zrealizowałem. Co prawda teoria grafów wymaga utrwalenia, a i algorytmów zbytnio nie ruszyłem, to jednak zabrałem się za to i robiłem co mogłem :P . Klasy powtórzyłem mimowolnie- przy projekcie gry w kółko-krzyżyk.

No właśnie- jak wyżej. Napisałem (trochę na poczekaniu) grę w kółko-krzyżyk. Pracuję w wolnych chwilach nad v2.1, narazie publikuję v2.0 dla Linuksa: [www] oraz źródło do samodzielnego skompilowania: [www] (coś mi nawala, wgram później).

Do kompilacji służy polecenie:
g++ game.cpp implem.cpp -o game `sdl-config --cflags --libs`

Poza tymi, zacząłem lekturę “Matematyki Konkretnej”, ale niestety nie mam na nią zbyt wiele czasu (:(). Przez drugi tydzień ferii codziennie musiałem zasypiać po lekturze biologii ;/ . Zaczynam mieć dość szkoły, która paradoksalnie utrudnia naukę potrzebnych jednostkom przedmiotów. Efektem takiego postępowania są wszechstronni, młodzi, wykształceni obywatele, którzy nie mogą znaleźć pracy… Ale o tym może w innym wpisie.

A! Byłbym zapomniał. Naprawiłem laptopa, o którym pisałem w jednym z poprzednich wpisów. Problemem okazała się.. luźna śrubka, która przyczepiła się do magnesu tuż obok lasera… Bez komentarza :D .

Dziś jescze zaisntaluję na maszynce Gentoo. Następnym wpisem będzie prawdopodobnie Gentoo review ;] .

To by było właściwie na tyle. Teraz trzeba spakować się do szkoły i w oczekiwaniu na koniec pobierania Gentoo pouczyć się biologii i zrobić sobie dokładny plan nauki na wszelkie weekendy i wolne dni do 12 kwietnia…

25
sty
08

Wyniki OIG!

Stało się!

Udostępniono wyniki pierwszego etapu Olimpiady Informatycznej Gimnazjum (07/08).

I dostałem się! :] Nie ukrywam, mimo zaledwie 135-ciu punktów, cieszę się z wyników. Zawsze mogło być lepiej ale warto wziąć pod uwagę następujące fakty:

  • jestem samoukiem (p. Burakowska [hail!] nieraz pomagała mi mniej lub bardziej, ale nie ukrywajmy, 5 lat programowania na “własną rękę” o czymś świadczy),
  • C++ znam od tych wakacji,
  • przed przystąpieniem do konkursu byłem zupełnie zielony w algorytmice,
  • i parę innych, których nie pamiętam :P .

Poza tym jestem mniej-więcej w połowie rankingu Jak wyliczyła moja coraz pozytywniej zaskakująca mnie koleżanka, mam 96-te miejsce na 191 uczestników, którzy przeszli do drugiego etapu, co jak na pierwszy start jest wynikiem, imo, przynajmniej dobrym ;] .

Przy okazji chciałbym pogratulować Perfectowi oraz wszystkim innym przejścia do kolejnego etapu.

Dobra, chwalmy się dalej :P . Zbadanie rankingu nieocenionym [Ctrl+F] wykazało, że jestem jedyną osobą z Olsztyna, która przeszła. Z Warmii i Mazur mam wynik najlepszy, były jeszcze 2 osoby z Biskupca i jedna z Gołdapi [gratuluję]. Nie oszukujmy się, nasze województwo pod kątem informatyki-algorytmiki leży i kwiczy…

Warto zwrócić uwagę na “fabryki olimpijczyków” takie, jak np Gimnazjum nr 24 w Gdyni (17 osób przeszło, w tym jedna z 500, jedna z 479 pkt).

Biorąc pod uwagę te fakty, myślę, że jest się z czego cieszyć ;].

Wyniki są dostępne tu: [www]

Dobra, wracając już do normalnego stanu psychofizycznego, chciałbym dziś rozpocząć kampanię na rzecz promowania Linuksa. Zacznę od pokazania , że Linux naprawdę może być ładny!

[screen1] [screen2] [screen3]

Napomknę jedynie, że screeny są wykonane przeze mnie i ukazują mój system operacyjny [Fedora Core 6] :)

Na koniec prośba do wszystkich użytkowników Linuksa – podrzucajcie co ciekawsze screeny z waszych dystrybucji!

24
sty
08

Cena przyjaźni

Ile warta jest przyjaźń? Pytanie te od wieków zadają sobie nawet najwybitniejsi filozofowie. Wielu próbowało już na nie z mniejszym lub większym skutkiem odpowiedzieć.

Od pewnego czasu, odpowiedzi na wszelkie pytania szukamy w internecie. Czy więc internet jest w stanie powiedzieć nam ile warta jest przyjaźń?

Tak! Ba! Poda nam nawet wartość w złotówkach! Ile jest więc warta przyjaźń? I gdzie można ją kupić?

Przyjaźń można kupić tam, gdzie kupić można wszystko, czyli na Allegro i to za wcale niebanalną sumę… 900 000 200,00 zł!!! Tak! Za okrągłe 900 mln złotych! W tej chwili sprzedający odrzucił oferty kilku żartownisiów. Cena spadła do prawie 2mln zł. [to i tak tony kapusty!] Powiecie “To żart!”… A gdzieżby tam! Oto dowód: [www].

Wydaje mi się, że właśnie jesteśmy świadkami dość ważnego wydarzenia społecznego. Jak to się skończy? Sam jestem ciekaw… Póki co z zapartym tchem przyglądam się licytacji, na której sumy rosną z prędkościa 100zł/5-10min….

Aukcja została usunięta przez pracowników Allegro. Dla wszystkich chętnych, wgrałem kopię na Rapidshare: [www] .

23
sty
08

Kino

Byłem dziś w kinie na “Elizabeth: Złoty Wiek” i “Jestem Legendą”. Zdecydowałem się napisać coś-niecoś o filmach i wypadzie. Ostrzegam, mogą pojawić się spoilery, mimo że będę ich unikał.

Po ostrzał najpierw pójdzie Elizabeth… Cóż mogę o tej pani powiedzieć? A to, że była za gruba… Czy też zbyt napakowana – w krótkim (114 min) filmie upchnięto zbyt dużo wątków, przez co przy n-tym wątku miłosno-intrygowym, umysł zaczyna się wyłączać. Nie mniej jednak film przyjemny wizualnie, momentami z odrobiną humoru. Zdaje się jednak, jakby kończył się odrobinę za szybko.

Po Elizabeth przychodzi kolej na rolę W. Smitha (którego nawiasem mówiąc coraz bardziej lubię) w I Am Legend. Co można o niej powiedzieć? A no to, że była dobra. Reżyserzy postawili wszystko na jedną kartę imieniem Will, która grała główną rolę przez 99% filmu i przez jakieś 65% była jedyną postacią… uhm, jedynym człowiekiem ( :P ) którego widział widz. Will się postarał, nie powiem, ale sądzę, że stać go na ciut więcej. Sam pomysł stary jak świat – wirus zamieniający ludzi w zombie, opanowywujący cały świat. “Jestem Legendą” wyłamywał się tu trochę ze schematu gore, jaki prezentują sobą takie (po przemyśleniu) gnioty, jak Resident Evil, czy 28 Dni/Tygodni Później, gdyż stawiał bardziej na pokazanie psychiki ostatniego żywego człowieka, niż na straszenie widza. Prawie się udało. Pomysł fajny, lecz nie do końca dobrze wykorzystany. Czemu? Trudno właściwie znaleźć dokładną przyczynę. Wkurza strasznie fakt, że film kończy się właściwie “w środku”. Akcja zaczyna się rozwijać i nagle ciach!, koniec filmu :/ . No ale trzeba przeboleć. A szkoda, bo fajny pomysł i super aktor. Na zakończenie jeszcze o jednym wielkim plusie filmu – strona wizualna. O ile zarażeni i jelenie mogły komuś nie przypaść do gustu, to  Nowy Jork powoli przekształcający się na powrót w dzicz był miodzio :) .

Reasumując – Filmy dobre, lecz nie idealne. Jeśli jednak szukamy dobrego kina, warto się przejść. Jeśli mamy do tego fajne towarzystwo, tym bardziej warto :)

20
sty
08

Home, sweet home

Znowu w domu. Niby fajnie, bo na własnych śmieciach, a jednak chętnie jeszcze bym w górach został…

Czemu? A bo fajnie było. Fajni ludzie, fajne miejsce, fajne zajęcia. Super spędzony tydzień :) . Krótki opis:

  1. Droga do Wierchomli. NUUUUUUUDY!! W życiu tak się nie nudziłem. Z dyskografią Godsmacka na uszach (mp3) i wszelkimi możliwymi w samochodzie rozrywkami, po 9h jazdy byłem już ledwo żywy… Zdążyłem po drodze napisać w podręcznym notesiku: 95% działającego kodu gry w kółko i krzyżyk (binarkę i kod kompatybilny z linuksem mogę przysłać każdemu chętnemu), szkielet silnika 2D, implementację drzewa binarnego i kilka innych…
  2. Na miejscu było bardzo fajnie. Dzień z grubsza można opisać w kilku punktach:
    • pobudka o 8-ej,
    • śniadanie,
    • narty od 9-tej, do 14-15-tej,
    • basen/sauny/jaccuzzi,
    • obiadokolacja koło 17,
    • poker, tv, rozmowy itp.
  3. Piątek – byliśmy na nartach krócej, a koło 14-tej skorzystaliśmy z dobroci strefy Schengen i pojechaliśmy na zakupy na Słowację… OMG! Takich cen w naszym kraju nie uświadczysz… Pilsner za złotówkę!? 2l Coli za 3.50?! Sygnowane wina za 5zł!? Te ceny były śmieszne… Zrobiliśmy zakupy, które u nas kosztowałyby koło 1000zł. Zapłaciliśmy 350… Dalej jestem w szoku :D .
  4. Powrót – męczący, bo bardzo długi. Wracaliśmy w sobotę, kolumną w 5, od pewnego momentu 4 samochody. Były częste postoje – jednym z samochodów jechało 6-cio miesięczne dziecko. Wróciłem o 22 z hakiem, zmęczony, ale szczęśliwy ;] .

Co teraz? A no teraz trzeba wrócić do w miarę normalnego trybu życia. Muszę przepisać wszystko, co wymyśliłem, poprawić trochę kółko i krzyżyk (wtedy przekompiluję i udostępnię na blogu), nauczyć się do kilku sprawdzianów/prac klasowych i poukładać sobie czas do końca tego miesiąca.

14
sty
08

Wierchomla

Uffff…. Męczący dzień nart ;].

Notka krótka – jest fajnie, Wierchomlę polecam, wszystkich pozdrawiam i uciekam :P .

12
sty
08

Góry!

No i stało się! Ferie nastały, a ja znikam na tydzień w góry ;] .

Będę miał tam prawdopodobnie dostęp do sieci, więc pewnie jakąś notkę skrobnę… Choć nic nie obiecuję.

Achhh, już czuję powiew wiatru na stoku i zapach dobrej książki przy wieczornym odpoczynku ;]

Wszystkim, którzy jeszcze ferii nie mają, mogę życzyć jedynie cierpliwości i hartu ducha :D

11
sty
08

Samsung i ferie

 Od marca ubiegłego roku jestem szczęśliwym posiadaczem SamsungaYP-K5 (mp3). Zawsze wgrywałem tam pliki z Windowsa i w tej chwili jest to jeden z ostanich powodów, które każą mi trzymać ten plugawy system na moim uwolnionym dysku :D . Po przeszukaniu kilku for, okazało się, że wystarczy do tego zupdateować firmware. Zrobiłem co trzeba, ale… nici. Bo firmware musiał być tajwański, gdyż tylko tam Samsung używa innego standartu przesyłu plików. No nic, zrobiłem co trzeba, a tu… krach!

Mp3 odmówiła posłuszeństwa… Ekran zrobił się biały, a ja załamywałem ręce. Po drodze wpadł jeszcze format i kilka innych ciekawych… Szukałem pomocy na www.samsung.com. I nic nie znalazłem… Rozwiązanie dorawłem dopiero po długim przeszukiwaniu anglojęzycznych for…

Tłumaczyć mi się nie chce, a i pewnie mało komu to potrzebne, bo mało kto tego sprzętu używa, mało kto go update’uje, a tekst jest wręcz banalny. Zapodam jednak link, gdyby ktoś kiedyś potrzebował: [www] .

Jaki z tego wniosek? Że samsung nie dba o użytkowników linuksa ani trochę. Teraz mp3 już się montuje, ale jedynie na OpenSUSE’ie u brata. Ja ciągle pracuję nad podmontowaniem urządzonka u mnie. Dopiszę jak to zrobiłem, jeśli się uda…

No, ale są też pozytywy. M.in. początek ferii ;] . Dwa tygodnie nauki bez przeszkód :D [wiem, jestem dZiWnY ;] ]…

10
sty
08

Tworzenie własnych repozytoriów

Ostatnimi czasy, kolega zainstalował sobie w domu Fedorę 8 (tak, ta cała moja gadka o społeczności zaczyna działać ;] ). Niestety, nie ma dostępu do internetu, co nie pozwala w praktyce na isntalację pakietów.

Dlaczego? A dlatego, że od dawna już twórcy popularnych dystrybucji wycofali możliwość instalacji pakietów z płyty (jeszcze pamietam ten menadżer instalacji oprogramowania z płyty na Mandrake’u 10.1 ;] ). Przy próbie instalacji pakietu, yum/rpm odwołuje się automatycznie do repozytoriów internetowych, których dla niego… nie ma. Komputer fizycznie nie ma podłączenia do sieci, więc nie ma siły, aby zależności zostały rozwiązane. Włączenie opcji ignorowania błędów i podobnych też niewiele daje, bo niektórych pakietów po prostu brakuje…

W tym momencie, takiej osobie pozostaje tylko mozolna instalacja brakujących pakietów paczka, po paczce. To jednak nie jest dobre rozwiązanie. Czemu? Bo kolejnej paczce, do szczęścia może brakować pięciu innych, a tym pięciu po 5 kolejnych dla każdej, i tak dalej! W ten sposób powstaje gigantyczne drzewo zależności. Taką tragiczną sytuację, obrazowo nazywa się często “piekłem zależności”. Pasuje, prawdaż ;] ?

Co więc może zrobić nieszczęsny użytkownik, który znalazł się w takiej sytuacji? Odpowiedź jest prosta, choć aby ją znaleźć musiałem dać się wyśmiać, spędzić godziny na googlach, a potem plując jadem na piekielnie uprzejmą społeczność i wsparcie z jej strony, dorwałem się do odpowiedniego programu, zacząłem eksperymentować, edytować i kombinować. I udało się :)

Ale po kolei. Nasz biedny użytkownik, nie mając dostępu do repozytoriów internetowych. musi… stworzyć własne! Wbrew pozorom, jest to bardzo łatwe i wręcz “bezbolesne”. Jedyne, co może być w tej operacji trudne, to instalacja odpowiedniego pakietu. Do wykowania kroków, które za chwilę przedstawię, potrzeba pakietu o nazwie createrepo. Nie wiem, czy jest na płycie Fedory 8 (nie mam pod ręką), ale mam prawo przypuszczać, że nie. W tym wypadku, należy w jakimś miejscu, w którym dostaniemy dostęp do sieci pobrać, najlepiej najnowszą wersję, a następnie zainstalować ją w swoim systemie. O rozmiary bym się nie bał- u mnie ważyła 51kB :)

Ok, kiedy mamy już działający Createrepo, musimy wreszcie zacząć tworzyć nasze wyczekiwane repozytorium  :)

Zaczynamy od utworzenia folderu. Dla wygody i zgodności, niech znajduje się w /home . Nazwijmy go “myrepo”.

Kiedy mamy już nasz folder, musimy skopiować do niego wszystkie paczki z płyty instalacyjnej Fedory [dla innych dystrybucji też powinno działać] + dodatkowe paczki, jeśli chcemy [wtedy jednak lepiej, żeby wszystkie zależności byly tam pomyślnie rozwiązane]. Kiedy już wszystko jest na miejscu, wchodzimy do konsoli i wykonujemy [ja wykonywałem z roota, choć powinno też dzialać ze zwykłego użytkownika]:
createrepo /home/myrepo

Po pomyślnym wykonaniu polecenia musimy jeszcze “podsunąć” yumowi repozytorium. Najwygodniej zrobić to w nautilusie. żeby mieć dostęp do plików systemowych, najlepiej uruchomić go jako root, wpisując w konsoli jako root:
nautilus /etc/yum.repos.d

Po wykonaniu tego polecenia, powinniśmy zobaczyć okienko nautilusa z otwartym katalogiem zawierającym pliki *.repo. Są to pliki, z których korzysta yum, do rozwiązywania zależności i pobierania pakietów z internetowych repozytoriów. Tam właśnie musimy umieścić plik “myrepo.repo”, o następującej treści:

[myrepo]
name=Myrepo
baseurl=file:///home/myrepo
enabled=1
gpgcheck=0

Po tej operacji nasze repozytorium powinno już działać:

[root@localhost repo]# yum install gnutella
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
myrepo 100% |=========================| 951 B 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 2.2 kB 00:00
myrepo : ################################################## 3/3
Parsing package install arguments
Nothing to do

*Nothing to do- źle wpisałem nazwę pakietu, nie ma związku z repozytoriami.

:)

Gdyby yum, dalej chciał jednak odwoływać się do internetowych repozytoriów, można mu je usunąć. W praktyce sprowadza się to do usunięcia z /etc/yum.repos.d wszystkich plików *.repo poza utworzonym przez nas. Dla bezpieczeństwa, polecam jednak uprzednio wykonać ich kopie.

I to by było właściwie na tyle, mam nadzieję, że komuś pomogłem :)

Wszelkie pytania/uwagi mile widziane, bo z notki zrobił się właściwie pokaźny artykuł i nie wykluczam błędów.

Zanim zakończę wpis, uzupełnię go o jeden szczegół, który wczoraj obiecałem. Mój plan nauki na ferie to mniej więcej:

- powtórzenie klas,

- może grafy i algorytmy grafowe.

W międzyczasie lektura “Matematyki konkretnej”.