GDB dla początkujących

Ostatnio nie mam za wiele czasu jednak zbliża się termin oddawania programów pisanych z użyciem C/C++ i z doświadczenia wiem, że początkującym wszelka pomoc się przyda.

Narzędzie, który powinien znać każdy programista jest Debugger.

Co to jest debugger

Źródło: Wikipedia

A debugger or debugging tool is a computer program that is used to test and debug other programs (the "target" program).

Wspomniany w tytule GDB czyli GNU Debugger jest właśnie takim programem od odpluskwiania. Domyślnie jest on instalowany w sporej ilości dystrybucji Linuks a na pewno jest w repozytorium każdej z nich.

Przygotowanie programu

Aby korzystać z dobrodziejstw debuggera należy skompilować program z opcją -g a więc

g++ -g -o nazwabinarki plikźródłowy.cpp

Kiedy już mamy tak skompilowany program, należy uruchomić go za pomocą debugger

gdb nazwabinarki

Ostatnio na moim komputerze

Po moich narzekaniach na Mageia Linux idąc za poradami z komentarzy zainstalowałem PCLinuxOS. Chciałem zaprzyjaźnić się z openSUSE, ale były z nim problemy i wtedy nie wiedziałem jak go obejść a PCLinuxOS współproacował od ręki.

PCLinuxOS'a zainstalowałem na 2 różnych komputerach. Błyskawiczna instalacja i uruchamiam system. Dziwne było, że na obu komputerach konto podstawowe było inaczej skonfigurowane. Na jednym było to czyste konto z ładnie przygotowanym KDE, na drugim wszystko wyglądało tak jak w wersji LiveDVD. Na szczeście w KDE poprzestawiać to nie jest problem. Problem był tylko z jednym. Mianowicie z jasnością ekranu. Dystrybucje Linuksa nie lubią karty graficznej GeForce 8200 i zawsze występują tam problemy. Raz nie chodzi sterownik, innym razem obraz jest tak przyciemniony, że nic nie widać i tak właśnie było w PCLinuxOS. Zajęło nam ~30 minut zanim znaleźliśmy gdzie się rozjaśnia ekran ponieważ skrót klawiszowy nie działał.

W dalszym użytkowaniu system nie sprawował problemów. Duże repozytorium w porównaniu do tego co dawała mi Mageia i bardzo przyjemny system.

Uzależnienia od gier

Ostatnio pisałem o tym, że ludzie chcą grać w gry przeglądarkowe. Uważam, że jest to dobry interes a i dzisiejsze news na głównej o firmie Rivio pokazuje, że coś w tym jest.

Niestety gry, w których można komunikować się z ludźmi powodują, że ludzie podatni na uzależnienia (a może mający problemy w życiu codziennym lub jakiś innych wpływów psyhospołecznych to powoduje) dość szybko wpadają w takie uzależnienie.

Na początku jak zawsze wydaje się to nieszkodliwa gra. Można pograć w dany tytuł kilka dni, może nawet tygodni. O ile dla jednych jest to zabawa dla drugich taka gra staje się "ich realny światem". Osoby takie coraz mnie czasu spędzają codziennie wśród rówieśników a więcej w domu przed komputerem.

Dlaczego o tym piszę? Wśród moich dobrych przyjaciół zaczęło dziać się źle. Nie będę oszukiwał, że popadają oni (lub już popadli) w takie właśnie uzależnienia. Nie widzę problemu ze spędzaniem kilku godzin przed grą, dopóki utrzymuje się normalne relacje z ludźmi i normalny tryb życia(spać w nocy pracować w dzień).

Czy ludzie chcą grać w przeglądarce?

Dość głośno się mówi o tym, że technologia Flash nie jest niczym dobrym kulturalnie to ujmując. Na co dzień spotykamy ją w postaci denerwujących reklam na stronach internetowych, które z powodzeniem lub nie blokujemy za pomocą różnych wtyczek. To właśnie przez Flasha dość często nasze komputery zostają "zarażone".

Poza tym Flash jest dość mocno zasobożerny. Aktualnie mam włączoną jedną stronę wykorzystującą wspomnianą wtyczkę i zżera ona "tylko" ~360MB pamięci RAM.

Co dostajemy w zamian, za tak zasobożerną i bądźmy szczerzy niebezpieczną (bardziej dla starych przeglądarek, gdzie nie działa system piaskownicy ale zawsze) wtyczkę.

Ilość gier niezależnych od platformy. Jeśli tylko na naszym systemie mamy wtyczkę Flash otrzymamy wiele ciekawych tytułów i nieciekawych też. Spora ilość z tych tytułów są to tytuły na kilka godzin dobrej zabawy. I nie mówię tutaj o klikaniu od niechcenia bo nam się nudzi, ale o porządne gry, w które warto się zgłębić w tracie nudnych wieczorów popijając ciepły napój.

Abandonware - czyli o dziurawym prawie i nielegealnym oprogramowaniu.

Abandonware - oprogramowanie, którego twórca już nie sprzedaje i nie zapewnia dla niego obsługi. Spotyka się również użycie tego określenia w stosunku do oprogramowania, którego twórca świadomie zaprzestał rozwoju i wsparcia produktu. Określenie „abandonware” nie jest używane w odniesieniu do starszych wersji danego oprogramowania, które już nie są sprzedawane i wspierane, o ile producent nadal wspiera i sprzedaje oprogramowanie, które stanowi kontynuację tych wersji. Źródło: Wikipedia

i dopisek poniżej artykuły, którego część przytoczyłem wyżej

Np. w Polsce prawa autorskie do programu komputerowego wygasają po upływie 70 lat od śmierci autora, jeśli on osobiście upowszechniał program, lub 70 lat od daty pierwszego rozpowszechniania, jeśli program był rozpowszechniany przez inną osobę lub firmę.

A teraz zadajemy pytania.

Czy pobierając oprogramowanie Abandonware jestem piratem?

IMO odpowiedź brzmi TAK.

Dysleksja a programowanie

Na początku chciałbym zacytować definicje dysleksji.

Definicja wg M. Bogdanowicz z książki "O dysleksji czyli specyficznych trudnościach w pisaniu i czytaniu" wydawnictwa LINEA

Specyficzna rozwojowa dysleksja to zaburzenia manifestujące się trudnościami w nauce czytania, mimo stosowania obowiązujących metod nauczania, normalnej inteligencji i sprzyjających warunków spoteczno-kulturowych. Jest spowodowana zaburzeniami podstawowych funkcji poznawczych, co często uwarunkowane jest konstytucjonalnie

A także

Pseudodysleksja to trudności w czytaniu i pisaniu, które nie mają specyficznego charakteru: nie ograniczają się tylko do czytania i pisania, nie mają specyficznych symptomów i nie są uwarunkowane parcjalnymi zaburzeniami funkcji psychoruchowych 2. Są one uwarunkowane zaniedbaniem środowiskowym, błędami dydaktycznymi szkoły, brakiem motywacji do nauki, przebywaniem w dwujęzycznym lub obcojęzycznym otoczeniu itp.

"Oldskul" cz.5 - Wizardry 8.

Dawno nie poruszałem tego tematu więc postanowiłem wam przybliżyć ostatnią grę z dość wiekowej serii Wizardry.

Jak mówi mi Wikipedia seria Wizardry zaczęła się ukazywać od roku 1985 aż do 2001 (rok wydania Wizardry 8). Jak widzimy sama gra nie jest stara, jednak styl gry jest utrzymany w klimacie cRPG lat 80/90. Seria Wizardry była bezpośrednim konkurentem serii Might and Magic jednak IMO była lepsza pod względem technicznym.

Co dokładnie oferuje nam ósma część serii. Do wyboru mamy 11 ras i 15 klas. Grę możemy przejść drużyną złożoną z maks 6(+ 2 bohaterów niezależnych) bohaterów (i ile drużynę jednoosobową można nazwać drużyną). Postacie można naprawdę dopieścić wybierając im wygląd (ilość zależna od rasy) po głos jakim będzie posługiwać się konkretny bohater.

Sama rozgrywka jest dość typowa dla cRPG z klimatem lat 80/90. Walki odbywają się w pełni turowo (dla odmiany w serii MM od pewnej części można było walczyć w trybie rzeczywistym), z widokiem z pierwszej osoby. Może się wam również wydawać dziwne jednak w tym cRPG'u ważne jest ustawienie drużyny.

Mageia Linux + KDE - czyli im bardziej chce tym bardziej nie wychodzi

Z dystrybucjami Mandrakekopochodnymi miałem w życiu dość niewiele doświadczenia. Pracowałem z XtremeOS 2, kilka razy bawiłem się innym forkiem wydanym przez firmę ARNO nazwanym BlueFreezer a od jakiegoś czasu pracuje na Mageia Linuks.

Mageia jest dystrybucją jak każda inna wśród setek Linuksów. Podstawą systemu nie jest RHLE, Debian czy Gentoo a Mandriva. Jak wiadomo lata świetności Mandrivy przeminęły bezpowrotnie, co jednak nie znaczy, że na jej bazie nie można zbudować dobrego forku.

Czy Mageia jest dobrym forkiem raczej nie mi oceniać. Skusiłem się na nią z wielu powodów. Postanowiłem porzucić GNOME z jego wszelkimi powłokami na rzecz KDE. Dodatkowo w sieci wiele oprogramowania jest w paczkach RPM, a samo Mageia/Mandriva Control Center to jak dotąd najlepsze narzędzie na Linuksa do administracji systemem (tak pracowałem z YAST i openSUSE i nie byłem zadowolony). Sam system był lekki ponieważ autorzy nie dorzucili 'zbędnych' wodotrysków w postaci Kwin czy Compiz jednak samo KDE(w wersji 4.6) od początku chodziło dziwnie.

O edukacji... (cz. 3)

Tym razem opiszę tydzień z nowego semestru na informatyce.

Semestr czwarty jest typowym semestrem informatycznym. Koniec z matematyką, humanistyką, ekonomią i innymi bzdurami niezwiązanymi z kierunkiem (poza angielskim, który być musi z wiadomych przyczyn). Plan lekcji przedstawia się następująco
- Programowanie komputerowe - wykłady + laboratoria - w skrócie JAVA pełną gębą. Dobry wykładowca i laborant. Jeśli ktoś z pomorza zamierza w przyszłości szkolić się w JAVA polecam Koszalin. Naprawdę prężna ekipa specjalistów, którzy głównie posiadają własne firmy i dodatkowo wykładają na uczelni.

- Inteligencja obliczeniowa - wykład + laboratoria -zapowiada się bardzo ciężko i jednocześnie ciekawie. Nic tylko czytać, czytać i czytać ;) (PS. książki do inteligencji obliczeniowej pracownicy EMPIK'u umieszczają w dziale psychologi).

- Reprogramowalne systemy cyfrowe - wykład + laboratoria - cieszyłem się, dopóki nie dosiadłem się do VHDL'a. Naprawdę straszny język.

O edukacji... (cz.2)

O tym, że w polskich szkołach nauka informatyki leży i kwiczy wie każdy. Sam jestem tego przykładem ale nie o tym teraz mowa.

Zgłosiła się dziś do mnie osoba ponieważ posiada problem z zadaniem jakie wyznaczył jej nauczyciel. W zasadzie chodziło jej (tej osobie) chyba o to abym to ja "odrobił" za nią pracę domową ale nie taki tępy jestem na jakiego wyglądam, a poza tym mam sesję. Zadanie nie było znowu takie proste jeśli nie było się w temacie, ale z doświadczenia wiem, że tydzień to aż nadto.

Zadanie polegało na stworzeniu fotomontażu. Nie byłoby w tym nic trudnego jednak zadanie musiało być wykonane w domu za pomocą CorelDRAW. Cóż, jak na mój gust jeśli wymaga się od ucznia pracy w domu w sofcie komercyjnym powinno dostarczyć się ten soft uczniowi. No ale to jest Polska i wiadomo, że każdy posiada Windowsa, Photoshopa, CorelDRAW i MSOffice. Osoba ta była jednak na tyle inteligentna i znalazła wersję trial CorelDRAW 11. Niestety komputer ze względu wieku nie uciągnął softu (lub z ropierdzielu w systemie nie sprawdzałem).

Jako fan OS zaproponowałem w zamian GIMP'a.