szarak@jabster.pl


Python z matplotlib jako narzędzie naukowe – czyli po co utrudniać sobie życie?

Wpis na 1. poziomie, wysłany 22 listopada 2007 o 14:38:25

Jeśli nie interesuje Cie tło sprawy, pomiń następne dwa akapity :)
Stanąłem przed następującym faktem: muszę napisać program zajmujący się prostymi obliczeniami statystycznymi. Wyznaczanie trendów itp. itd. Musze to zrobić „na wczoraj” :)


Problemy: nie wiedziałem, że w ogóle będę się zajmował taką tematyką. Przedmiot na którym to piszę, miał być czymś zupełnie innym – miał skupiać się na programowaniu obiektowym, zarządzaniem projektem i planowaniem. Jak się okazało, w trakcie semestru zmienił mi się prowadzący, na panią, która o programowaniu pojęcie ma średnie. Owszem, teorii trochę, ale nie interesują jej bebechy naszych aplikacji, możemy sobie pisać w czym chcemy i jak chcemy. Skupić się trzeba jednak na rozwiązaniu problemu statystycznego (wcześniej każdy pisał co innego – od gier po aplikacje użytkowe, symulatory…). Olałem w ogóle sprawę ale wreszcie trzeba było do tego siąść. Trzeba było działać szybko, więc wymyśliłem sobie, że zamiast bawić się w c++ i qt (z czego to pierwsze jest jak dla mnie ok, to drugie mniej), to zrobie aplikacje w czymś całkiem nowym, może łatwiejszym.


Wybór padł na język Python. Dlaczego? Bo denerwują mnie aplikacje w nim pisane (jakoś zasobożerne mi się wydają, może trochę ociężałe), ale jednak z jakiegoś powodu sporo ludzi ciągle w tym pisze. Czyli w skrócie ciekawość.


Co się okazuje? W parę godzin nauczyłem się tyle, że byłem w stanie napisać program parsujący plik xml i wyświetlający dane w postaci wykresu z interfejsem w gtk+ – z czego połowe tego czasu spędziłem na szukaniu beznadziejnie głupiego błedu, o czym później.


Co do języka: jest dość prosty przy pierwszym kontakcie. Pisze się szybko, łatwo a co najważniejsze przyjemnie. Obiektowością przesiąknięty całkowicie, a korzysta się z niej wręcz intuicyjnie. Trochę inna składnia niż mi znana, ale łatwa do przyswojenia. Wcięcia w kodzie zamiast klamer … uh, z tym ciężko, ale prawdę mówiąc teraz na mnie wymusza to czystość w kodzie i już nie narzekam. A do tego łatwo dostępna pomoc/podręczniki, np. Dive into Python.


Zachęca również spora ilość bibliotek, które prawdopodobnie pokryją 70% zadań, które przed Tobą czekają. Do parsowania xml wybrałem minidom. Z jego pomocą i tutorialem zczytanie pliku zajęło chwilkę i zajmuje mniej niż 15 linii kodu. Interfejs graficzny stworzyłem za pomocą pygtk. Jego obsługa jest ładnie opisana w tutorialach, jak znasz obsługe sygnałów z jakiegoś innego języka/biblioteki to załapiesz w mig. No to teraz przyszedł czas na wizualizację wyników, gdzie z pomocą przyszła biblioteka matplotlib.


Matplotlib w Pythonie obsługiwany jest przez moduł „pylab.py”. Narysowanie prostego wykresu sprowadza się np. do:
from pylab import *
plot([1,2,3,4,5,4,3,2,1])
show()

Co oznacza załadowanie modułu pylab (i wczytanie dostępnych funkcji do standardowej przestrzeni nazw – tak sobie to wytłumaczyłem, przekładając to na rozumowanie z c++. Można jeszcze „zainkludować” moduł poprzez import pylab, ale wtedy z dostępnych funkcji trzeba korzystać poprzez pylab.show() itp.. Pythonowców z góry przepraszam za niefachowość i nieścisłość. Wszystkiego uczyłem się na wariata, by jak najszybciej pokazać wynik pracy, a nie poprawnie zrozumieć język ;p). Druga linia kreśli wykres. Wygląd domyślny, oś x domyślna (kolejne liczby naturalne), wartości na osi y podane są w nawiasie w postaci tablicy – oznacza się ją przez nawiasy kwadratowe. Show() wyświetli nam wykres na ekranie w postaci okna gtk z układem współrzędnych dostosowanym do danych, możliwością powiększania i przesuwania wykresu, historią zmian widoku, a nawet zapisem do pliku. Wszystko w 3 liniach. Szczegółów nie piszę, wszystko jest ładnie opisane na stronie matplotliba, którą podałem. Po polsku 3 słowa na ten temat znajdziecie np.tutaj.

Nie powiem, pierwszy kontakt z pythonem i matplotlibem bardzo pozytywny. Pani prowadząca cieszyła się, że widzi ładny wykres, ja się cieszyłem, bo poświęciłem temu minimalną ilość czasu i poznałem coś nowego. Mam nadzieje, że moja przyjaźn z tym językiem szybko nie zniknie.

2 komentarze | *nix gnome Progamowanie Różne |

Drukarka w Ubuntu

Wpis na 0. poziomie, wysłany 15 listopada 2007 o 15:58:35

Zastanawiam się nad zakupem drukarki. Chętnie posłucham dobrych rad na ten temat. Drukarka będzie docelowo podpięta do mojego lapka, czyli będzie śmigać pod ubuntu. Najlepiej jakby to była „plujka”, niedroga w eksploatacji, nawet kosztem jakości wydruków. Większość rzeczy, które drukuje to drobny tekst, zwykle bez grafik, kolorów. Mieszkam w akademiku, więc bardzo ważne jest to, żeby była mała. Jakieś sugestie?

Przed zakupem bardzo byłem ciekaw jak instaluje się taki sprzęt pod moją dystrybucją. Nie posiadam drukarki, ostatnia jakiej używałem to stary HP Deskjet – nie miałem z nim problemów. Teraz ciekaw byłem co się w tym temacie zmieniło …
Dorwałem drukarkę kolegi z CzLUG’u – Canon Pixma iP4200. Podłączyłem do swojego komputera, włączyłem drukarke. Po 10 sekundach pojawiło się okienko – „Znaleziono drukarkę /model/ i zainstalowano sterownik /model/”. W tym momencie mogłem już robić poprawne wydruki … nawet nie miałem możliwości się wykazać. Niech mi ktoś powie, że ten system (Linux) jest trudny.

5 komentarzy | Różne |

Mandriva Install Fest

Wpis na 1. poziomie, wysłany 15 listopada 2007 o 09:31:46

W najbliższą sobotę odbędzie się impreza na temat instalacji i pracy z systemem Mandriva.
Plan imprezy:
Instalacja dystrybucji Mandriva
Efekty graficzne
Instalacja oprogramowania i sprzętu w Mandrivie
Zamienniki programów windowsowych

Miejsce jak zwykle aula A0 Instytutu Informatyki Teoretycznej i Stosowanej przy ul. Dąbrowskiego 73 (wejście pod „dużym daszkiem”), 17 listopada 2007 o godzinie 12. Planujemy zakończyć o 15. Serdecznie zapraszam.

Dodaj komentarz | CzLUG Różne |

O perypetiach z laptopem, openoffice’m, vmware, skype…

Wpis na 1. poziomie, wysłany 08 listopada 2007 o 14:50:19

Ostatnio mało piszę, więc muszę powoli to rekompensować.



Po pracy wakacyjnej i zakupie nowego sprzętu, jakoś długo mi zeszło przed zainstalowaniem na nim Linuksa. Zawsze znalazłem „coś ważniejszego”. No cóż, taki okres, rozwodził się nad tym nie będę. Powiem tylko, że w tym czasie udało mi się zdać sesję, odwalić trochę obowiązków i odwiedzić wschodnie Yorkshire.



Lapek i łudubuntu: po długim zwlekaniu z instalacją Jedynego Właściwego Systemu zacząłem próby. Z palca na moim, nowszym sprzęcie nie mogłem odpalić prawie żadnego live-cd, ani instalatora. Bez większych problemów odpaliło sie jednak Ubuntu 7.10 (wtedy jeszcze sporo przed premierą). Co się okazuje? Linux to bardzo prosty system :) Skalowaniu partycji ntfs przy instalacji daję piątkę. Instalacji niewolnych sterowników do urządzeń biję brawo. Instalacja i pierwszy kontakt z systemem jest moim zdaniem przyjazny dla nowych użytkowników, a system mimo wszystko pozostaje łatwo konfigurowalny i zaawansowani użytkownicy wcale nie muszą płakać. Przy instalacji dziwi mnie tylko brak pytań o boot-loader’a … w ogóle brak pytań o cokolwiek ;p Brakuje czasem jakiegoś trybu zaawansowanego, ale to nic czego nie da się zrobić po instalacji.
Co ciekawe sprzęt nowy a wszystko w nim na nowym ubuntu chodzi „z palca”. Nie miałem problemów z wifi, kamerką internetową, zapisem na partycji ntfs, wszelkiimi dyskami/pendrive’ami, kartą grafiki z akceleracją sprzętową (a więc i compiz :P)... Jedyny problem był z dźwiękiem. Karta niby była wykrywana, lecz nie działała prawidłowo. Okazało się, że najnowsza ALSA wspiera już tę kartę, jednak musiałem ją dorzucić ręcznie. Alsa w kernelu waniliowym chyba zawsze miała znaczny poślizg.


Podsumowanie? Nie muszę się bawić z systemem, który ma być moim narzędziem pracy – ma po prostu działać i mi nie przeszkadzać, tak bym mógł robić swoje. O to chodziło.


OO:Jednym z typowych zastosowań dla domowego komputera jest zrobienie od czasu do czasu jakiegoś prostego dokumentu do druku. Niestety, po raz kolejny zawiodłem się na Open Office’sie. Program ogólnie podoba mi się, jego funkcjonalność jest wystarczająca jak dla mnie, zwykle również pod względem kompatybilności z MS Office’owcami. Jednak jaki jest sens pracy z programem, który po dwóch kliknięciach wykrzacza się i zmusza do odzyskiwania mojej pracy? Nie mogę zrobić w nim najprostszych rzeczy bez wywalenia go – wklej, zmień wygląd, wydrukuj … to za dużo, przy zmień wygląd zalicza glebę ;( Próbowałem różnych wersji OO, różnych paczek, tarballi, wersji oficjalnej, tej z ux.pl, przeinstalowałem w tym czasie system ~ 3 razy (zwykle Debian lub Ubuntu), zmieniłem cały sprzęt… dlaczego wciąż nie mogę zmienić głupiego tła tabeli? Nie chcę niebieskiego! :)
Wynik? Doprowadziło mnie to do instalacji Koffice pod Gnome :D A co! Ten przynajmniej się nie wysypuje. Z tego co zauważyłem to słabiej importuje dokumenty z pakietu M$, ale przynajmniej działa i stoi na niezłym poziomie. Póki co powinien wystarczyć, gdy zawiedzie OO. Spytacie, czy nie żal mi zasobów? Nie, odkąd zmieniłem sprzęt mam ich dość. Jedyna rzecz która skutecznie potrafi zamulić mi kompa to .. windows viśta.

O vmware krótko: dlaczego on tak nieprawdopodobnie długo suspenduje i przywraca do życia wirtualne maszyny? Mowa o vmware server.

Z rzeczy bierzących – komunikacja. Mieszkam poza domem rodzinnym, wiele moich znajomych i bliskich rozsianych jest po świecie, wiele z nich korzysta z internetu i skype, więc używanie tegoż wynalazku jest dla mnie dość oczywiste i bezbolesne dla drugiej strony :) Niedawno wyszedł nowy skype, 1.4. Bardzo podoba mi sie ta aplikacja. Wreszcie zrobili ją tak jak powinien wyglądać ten program – adekwatnie do jego możliwości. Jest mały (rozmiarem na ekranie ;p), prosty, intuicyjny. Ale pewien problem – nie ma obsługi kamerek. Długo uważałem kamerkę za coś zbędnego, ba nawet rozmowy głosowe. Stało się to jednak zbyt popularne i wygodne, żeby je zignorować, a jak już mam kamerkę wbudowaną to i ona zrobiła się bardzo przydatna. Miły news – jak poinformował mnie kolega jest już beta wersji 2.0, która moją kamerkę obsługuje świetnie.

To by było na tyle dzisiaj. Troszkę chaotycznie i post o wszystkim, a zarazem o niczym, ale tak to jest jak się nie pisze regularnie ;)

2 komentarze | Różne |

Nie głosuj!

Wpis na 1. poziomie, wysłany 25 września 2007 o 14:06:15


Nie głosuj, bo jeszcze popsujesz cyrk na Wiejskiej!


Chciałbym przyłączyć się do akcji prosząc Was o oddanie Waszego głosu na wyborach. Nie ważne na kogo, po prostu zagłosujcie.
... Tak, wiem, że nie ma na kogo.

Humor: Głosuj, albo one zrobią to za Ciebie

34 komentarze | Różne |

Po przerwie

Wpis na 1. poziomie, wysłany 23 września 2007 o 22:53:08

Ostatnio nie pisałem zbyt wiele :) Było to spowodowane moim dalekim wyjazdem. Dostęp do internetu może i był, ale czas mocno ograniczony – wolałem go poświęcić na zbieranie dolarów :)

Miałem problemy z dostaniem się do Joggera. Nie dostawałem wiadomości zwrotnych z prośbą o hasło, nie mogłem zalogować się na stronie Joggera (dlaczego?), ale mogłem pisać (mogliście obserwować durne wpisy parę dni temu ;p). Problemem było Meebo (www.meebo.com). Uważam, że to świetne narzędzie, jednak niestety czasem sprawia problemy, tak jak teraz, gdy nie mogłem odzyskać hasła.

W najbliższym czasie w zależności od dostępnego czasu i chęci zacznę, mam nadzieję, dopisywać po troszku krótkie wpisy.

Dodaj komentarz | Jabber Różne |

Wyedytuj sobie stronę

Wpis na 1. poziomie, wysłany 08 czerwca 2007 o 23:07:25

Ostatnio nie mam czasu pisać długich wpisów, po prostu kroi mi się wyjazd i trzeba się szykować. Nie przegapię jednak okazji na podzielenie się taką fajną ciekawostką ;p

Krok 1: Wejdź na stronę, którą chcesz shakować :D
Krok 2: Wklej poniższy kod zamiast jej adresu i pacnij enter


javascript:document.body.contentEditable='true'; document.designMode='on'; void 0


Krok 3: Edytuj stronę

proste, prawda? :) Po prostu piszesz sobie po stronie jak w edytorze :D Usuwasz, przestawiasz. W Epiphany mogłem np. rozciągać i przesuwać elementy. Ciekawe :)

1 komentarz | Różne |

Brakuje tylko, by Milicja zaczęła walić gumową pałą do moich drzwi

Wpis na 1. poziomie, wysłany 25 maja 2007 o 19:00:22

Jako, że często ludzie nie wiedzą z czego wyniakają problemy częstochowskich studentów, postanowiłem subiektywnie opisać pewne fragmenty zdarzeń z ostatnich lat. Może to pozwoli wyjaśnić sytuację osobom spoza naszej uczelni. Nie miałem zamiaru tym tekstem nikogo atakować, ani obrażać, a jedynie opisać sytuację swoimi słowami, przedstawić tło dla dzisiejszych wydarzeń.

Zadyma. Kilka lat temu, podczas częstochowskich juwenaliów, grupa ludzi (zaznaczam – nie byli to studenci, były na to dowody, filmy, ale cóż...) rozpoczęła zamieszki. Skończyło się m.in. na palącym się śmietniku na środku drogi i interwencji Policji.

Konsekwencje. Ciekawe jest, że za całe zajście wini się studentów i po dziś dzień wyciąga się od nich konsekwencje. Zacznijmy od juwenaliów w ostatnich latach:

Wygląd juwenaliów się zmienił, nie były już tak radosne, nie miały rozmachu. Odbywały się w zamkniętym terenie, na który nie można było wnosić alkoholu, ani kupić wewnątrz. Frekwencja na koncertach była kiepska, ludzie podczas sporej cześci występów woleli wypić piwo przed akademikiem i zjeść kiełbaskę z grilla, niż oddać swój browar przed wejściem na koncert. Wtedy też zaczął się nowy styl w organizacji juwe – na ostatnią chwilę – w myśl zasady „inne uczelnie już skończą, my zaczniemy”.

Prohibicja.
Radni naszego Wspaniałego Miasta postanowili wprowadzić prohibicję. Ciekawe w dzisiejszych czasach, prawda? Mi to słowo kojarzy się z powstaniem silnych organizacji przestępczych w, o ile pamiętam z historii, pierwszej połowie 20 wieku w USA. Częstochowa uznała, że to pomoże „zapijaczonym studentom”. Do czego to doprowadziło? Otóż:

  • Studenci nie mieli się gdzie podziać, nie mogli spokojnie wyjść sobie z akademika na piwo.
  • Pozamykano lokale, bo niby co mieli sprzedawać. Pojawiło się pełno bud z hamburgerami itp. ale ile można tego świństwa jeść? Co powiesz koleżance – „skoczymy na piwo?” czy może „skoczymy na hambuksa?”.
  • Niektóre lokale przeniesiono dalej, tam gdzie odległość jest odpowiednia ;p Adres inny… Ale czy to jest to samo? Pewnie właściciele zadowoleni nie są, w końcu chodzili tu nie tylko studenci, ale i ludzie z miasta. Teraz na Dekabrystów (bo o tej ulicy mowa) nie ma nic. Ludzie pewnie przenieśli się do lokali w okolicach alej. Koło kościoła to można chlać, ale koło akademika nie ;) Ciekaw jestem jak bardzo wdzięczni są właściciele lokali w centrum, za prohibicję na Dekabrystów.
  • Absurdy – mieszkając w bloku przy ulicy Nałkowskiej podczas każdego łyku piwa narażasz się na kary! Przecież na tym terenie też jest prohibicja! :) (mimo, iż są to bloki, w których mieszkają ludzie często w ogóle z uczelnią nie związani).
  • Pawilony (to w nich mieściła się większość lokali) teraz tylko śmierdzą tanim winem i tanim jedzeniem. Studenci tam nie chodzą, bo po co? Posiedzieć w pustym, brudnym miejscu? Już wolimy swoje pokoje w akademikach :) Mimo wszystko, wciąż widać wypowiedzi (prawdopodobnie) zwolenniczek Wrony, które w wywiadach do gazet mówią, że „wiadrami wybierają strzykawki po narkotykach z piaskownic” ... podobno nawet powodują to studenci! Tylko po co? Maja przecież mają swoje tereny, nic ciekawego nie znajdą na osiedlu, najwyżej mogliby dostać po głowie. Żaden z moich kolegów nie zostawia po sobie kupek strzykawek po narkotykach. Co najwyżej puszkę po piwie. No, ale co poradzić, jak w tym mieście głos mają łatwo manipulowalne osoby w moherowych mundurach, wiecznie na służbie, z przerwą na różaniec przy mszy z Radia Maryja.

Policja na „Platzu Głópich Zabaff”. Teren uczelni, jest terenem autonomicznym. Nie ma (ja nigdy nie widziałem) żadnej straży akademickiej. Policja by interweniować musiała mieć zgodę rektora. Kilka lat temu, po felernych juwenaliach, uczelnia wprowadziła porozumienie z policją, na zasadach którego policja mogła wchodzić na teraz miasteczka. Oznaczało to, że od tamtego momentu, za picie alkoholu w tym miejscu groziły kary takie, jak w każdym innym uznawanym za publiczne. Policja mogła wejść w każdej chwili. Oznaczało to też ewentualne kary za grillowanie. To poważny cios dla miesteczka akademickiego. W lecie wyjście z piwkiem na kiełbaskę było częstym sposobem relaksu po ciężkim dniu na uczelni.

Ogólne niezadowolenie. Sprawy studenckie bardzo często łączone są z częstochowskim prezydentem. Nie jest on lubiany i nie dziwota. Mówi o nas słodko „zapijaczeni studenci”. Utrudnia nam życie wspomnianą prohibicją ;) Teraz z innej beczki. Trzeba powiedzieć, że w sprawach związanych z juwenaliami nasze uczelnie (dwie większe, PCz i AJD) niezbyt się dogadywały. Pewnie juwe wyglądały by lepiej, lecz niestety nie udało im się połączyć sił. Juwenalia AJD były przez gazety porównywane do dni sportu ;p No, trudno. Inne sprawy pozostawie niedopowiedziane, zostawie je lokalnym politykom i władzom. Powiem tylko, że wpadek władz uczelnianych jest sporo, ostatnia, która mną poruszyła, to sprawa Pana Egemana.

Obecnie. No to teraz weźmy się za to co działo się w tym roku. Nie mogę się powstrzymać, żeby tego nie napisać – byłem w krakowie na juwe i tam po prostu cudo. Wszystkie uczelnie z miasta razem, władze miasta wspierają imprezę. Juwe pełną gębą. Koncerty głównie na zamkniętym terenie, ale sponsorami były browary i z alkoholem nie było wewnątrz problemu. Otóż gdy wszystkie uczelnie w Polsce skończyły już juwenalia nasz samorząd przypomniał sobie, że trzeba złożyć jakieś dokumenty i zacząć coś organizować. Starają się, ale wiele rzeczy można im wytknąć, zostawmy to do oceny studentom. Z całej tej akcji organizacyjnej wyciągnęliśmy (my, studenci) prosty wniosek: juwe nie będzie, a nawet jeśli się uda, to będą raczej smutne i liche. Nikt nie krył niezadowolenia, bo do zaistniałej sytuacji przyczyniały się rzeczy które opisałem powyżej. Koledzy wpadli na pomysł pokazania swojego niezadowolenia. Dlaczego mamy siedzieć cicho? Chcemy poprawy!

UdaneFelerne koszulki. Powstał projekt koszulek juwenaliowych. Z przodu klepsydra i napis „z głębokim żalem, żegnamy Juwenalia 2007, marzenie o nich na zawsze pozostanie w naszych sercach”, z tyłu napis „Częstochowa” w kajdanach, kruk, ksiądź i moherowa babcia. Pod spodem przekreślony grill i piwo. Okazało się, że zainteresowanie nimi przerosło oczekiwania. Szybko uzbierało się ponad 300 zamówień. Niestety, rektor (pani kanclerz?) dowiedział się o tym pomyśle. Widział stronę internetową z zamówieniami umieszczoną na prywatnym koncie studentów na serwerze maluch.pcz.pl. Zaraz zaczął się raban. Treści przedstawione na koszulkach okazały się dla rektora „zawierające treści obraźliwe i wykraczające poza ogólnie przyjęte normy etyczne”. Ciekawe który fragment dokładnie uznał za obraźliwy … hmm. Nie ważne, lećmy dalej. Pomijając to, czy treści te były nieetyczne, czy nie, zablokowanie ich wymagało jedynie skontaktowania się z jednym z administratorów serwera (w tym dniu gdybym dostał email, bądź telefon mógłbym zareagować w 5 minut). Została jednak podjęta decyzja o wycięciu całego akademika od internetu (serwer ze stroną jest serwerem akademika Maluch). To nic, że w akademiku korzysta z internetu blisko pół tysiąca osób i że szykują się do sesji (ciężko pewnie było, zwłaszcza gdy wziąć pod uwagę, że spora część mieszkańców studiuję informatykę). Inicjatorzy koszulek (zainteresowanie wokół koszulek wzrosło po tym incydencie wielokrotnie!) mają nieprzyjemności, wkrótce się bronią ... wycofali się z organizowania koszulek, w nadzieji, że uda im się w skończyć studia w spokoju. Już pojawiły się głosy osób prywatnych (często absolwentów, niezwiązanych już z uczelnią), że chcą sami zrobić sobie podobne koszulki. Po dniu internet w akademiku wrócił, jednak do dziś nie jesteśmy dostępni z zewnątrz – cała strona akademika, a przecież nie była związana z ta akcją (trick: nie jest wycięta strona w szyfrowanym połączeniu: patrz tutaj). To, że „obraźliwa” strona dawno jest zablokowana nie miało dla władz znaczenia. Szkoda …

To tylko po krótce ( ;p no, prawie) opisane tło wydarzeń. Sam to interpretuj, większość moich znajomych najchętniej by stąd uciekła, wstydzą się uczelni i miasta. Dzisiaj widzę, jak informacja o cenzurze (bo tak to się nazywa) krąży po Polsce, dostaje informacje, że czytają o nas w Warszawie, Toruniu, Krakowie, Wrocławiu … Nie dajcie się ludziska.

11 komentarzy | Różne |