szarak@jabster.pl


Muzyka/sample na wolnych licencjach

Wpis na 1. poziomie, wysłany 29 lutego 2008 o 14:53:21

Chciałbym tylko wspomnieć o ciekawym serwisie. http://ccmixter.org.



Serwis zbiera remiksy i sample na wolnych licencjach. Serwis oparty jest na mechaniźmie ccHost, działa sparwnie, transfery ładne, a muzyka ciekawa. Dorwałem się na początek do taga trip-hop i całkiem ciekawe rzeczy znalazłem. :) Sample przejrzałem tylko pobieżnie. Póki co mogę powiedzieć, że zdarzają sie prawdziwe rodzynki, a jakość zamieszczanych sampli/utworów jest niezła!

Przy okazji przypomniało mi się, że dawno nie zaglądałem na Jamendo

1 komentarz | Internet Różne |

Propozycja filmowa + dodatek

Wpis na 1. poziomie, wysłany 03 lutego 2008 o 01:39:24

Podczas sesyjnej monotonii trzeba czasem zająć się czymś odmóżdżającym. Dobrym pomysłem jest jakiś lekki i przyjemny film. Najlepiej krótki, coby nadmiernie nie męczył. Jeśli rozpatrywać mój dzisiejszy wybór filmu tymi kryteriami, to wybrałem beznadziejnie.


Before the Devil Knows You’re Dead – to film w którym nie ma żartów, ani szybkiej akcji. Film ciężki, snujący się powoli w akompaniamencie świetnej, lecz nienarzucającej się muzyki. O chciwości, błędach przeszłości, o tym jak w ciężkiej sytuacji ludzie walczą z samym sobą i przegrywają. Polecam.


Jako kontrast do tego filmu – coś pozytywniejszego, choć również refleksyjnego.
Jak możemy dowiedzieć się we wstępie/streszczeniu (?) dostępnym tutaj, jest to wystąpienie z serii wykładów połączonych myślą „co powiedziałbyś, gdyby to był Twój ostatni wykład”. W tym przypadku, to faktycznie mógł być ostatni wykład, gdyż prowadzącemu zostało tylko kilka tygodni życia – umiera na raka. Wykład jest jednak pełen energii, humoru i pozytywnego przekazu.
Randy Pausch – profesor Carnegie Mellon opowiada o tym, jak naprawdę spełnić swoje marzenia z dzieciństwa. Jeśli znasz angielski, warto zajrzeć!

2 komentarze | Różne |

Regex w Nautilus

Wpis na 1. poziomie, wysłany 06 stycznia 2008 o 20:45:23

Czasem zachodzi potrzeba wybrania jakichś konkretnych plików w menedżerze plików. O ile gdy korzystam z ls/cp/mv/itd. nie ma żadnego problemu, to przy narzędziach graficznych jest czasem niezbyt oczywiste jak podejść do rozwiązania. Klikania oddzielnie w każdy plik jest zabawne tylko poniżej 10ciu plików w katalogu :D


Dzisiaj segregowałem kilka fotek i obracałem je przed publikacją. Skrypt gnomowo/nautilusowy nautilus-image-converter dodał mi suffix do każdej przerobionej kopii pliku. Gdyby to był prefix nie byłoby problemu, bo po prostu przekręcone fotki byłyby ułożone jedna po drugiej, ale niestety są rozsiane po całym katalogu.
Na szczęście Nautilus ma możliwość zaznaczania wyrażeniem regularnym dostępną pod ctrl+s lub z menu Modyfikuj- wybierz wyrażenie. Wpisujemy tam nasze wyrażenie (np. *resized*) i gotowe.


Często zapominałem o takiej możliwości w Nautilusie, a cenie sobie takie właśnie menedżery plików. Pozwalają mi na łatwą pracę z plikami gdy istotna dla mnie jest ich zawartość, a położenie i nazwa mają w sobie wiele przypadku.

Dodaj komentarz | *nix gnome |

W jaki sposób szukamy?

Wpis na 1. poziomie, wysłany 17 grudnia 2007 o 14:48:44

Komputery nadają się do szukania całkiem nieźle. Szukamy czegoś – do przeczesania jest duża baza danych z której potrzebujemy tylko pewnych, często krótkich informacji. Wertowanie sterty książek w celu znalezienia wystąpień konkretnego słowa może być ciężkie, bądź niewykonalne, lecz prawdę mówiąc rzadko czujemy taką potrzebę. Rozkazanie komputerowi przeszukania naszych e-booków w takim samym celu jest banalnie proste. Ma też większy sens (dlaczego, o tym później). Poniżej moje proste rozważanie o tym jak myślimy, gdy bierzemy się za szukanie metodami tradycyjnymi, a jak gdy używamy maszyn cyfrowych.


lupa


Gdy szukamy w książce wiemy gdzie zajrzeć. Znamy swój księgozbiór, wiemy co jest w książkach bo je znamy, bądź znamy dziedzinę problemu który chcemy zgłębić. To pozwala nam na sięgnięcie po najbardziej prawdopodobne tytuły. Stamtąd droga nie jest ciężka. Jeśli wiemy czego szukamy to w spisie treści odnajdujemy odpowiedni rozdział odpowiadający naszemu problemowi. Zostaje nam do zgłębienia rozsądnie mały przedział danych. Rozsądnie mały dla człowieka. Jeszcze lepiej gdy nawet ten rozdział ma przemyślaną strukturę, która pozwala szybko ominąć niepotrzebne informacje. Pomaga nam gromadzenie danych w tabelach, rysunki, wytłuszczenia itd. ...



Gorzej gdy szukamy informacji, której nie potrafimy sklasyfikować. Załóżmy, że chcemy dowiedzieć się o czymś, o czym właściwie nie mamy pojęcia. Dajmy na to, że słyszeliśmy tylko nazwę zjawiska/rzeczy/zdarzenia. Co robić? Którą książkę przejrzeć? Należy przejrzeć indeks. Spis treści spisów treści … może by tak zacząć od Encyklopedii? :) Taki twór mógłby odpowiedzieć na podstawowe pytania na temat danego słowa kluczowego. Nawet gdy to dla nas za mało, to będziemy już wiedzieć w jakiej kategorii znajdziemy więcej informacji. Dobrze skonstruowany indeks ratuje nam skórę.



Zdarzyć się może, że potrzebujemy znaleźć drobną, lecz istotną dla nas informację w tworze takim jak powieść. W co był ubrany bohater R. gdy stał przed domem, zaraz po załamaniu się pogody? Ułatwić nam mogłaby wiedza o czasie – moglibyśmy wtedy zacząć choćby od konkretnego rozdziału. Zakładając nawet sporą chronologię w książce znalezienie tej informacji może być mimo wszystko ciężkie – narrator mógł wspomnieć o tym przy okazji jakiejś refleksji z przeszłości, bądź wybiegając w przyszłość. To powieść, więc pewnie nie tylko my ją czytaliśmy. Ktoś inny może zwrócił na to uwagę i ma taką informację, bądź zindeksował wystarczającą ilość informacji byśmy mogli za ich pomocą odnaleźć potrzebną informację – pamięta, że załamanie pogody miało miejsce na początku, 2. lub 3. rozdział. Jeśli nie mamy takiej pomocy (nie oszukujemy…) uzyskanie tej informacji może oznaczać przeczytanie całej książki (ponowne?!).


Człowiek nie jest dobry w prostej pracy z dużą ilością suchych informacji. Komputer nawet używając najprostszych metod zrobi to szybciej. Człowiek może dobrze radzić sobie na terenie słabo mu znanym. Przy sporej różnorodności przeszukiwanych danych łatwo mu w locie kategoryzować, uczyć się kiedy odrzucać nawet duże porcje niepotrzebnych w tym momencie informacji. Maszynie przychodzi to trudniej – musi się powoli nauczyć (zostać zaprogramowaną), mieć silnik, który zrozumie dane, będzie próbować przewidywać poprawne wyniki. Ogólnie mówiąc, by komputer potrafił wybierać esencję informacji z taką skutecznością jak człowiek, trzeba się nieźle napocić przy jego programowaniu, zahaczając o wiele dziedzin związanych ze Sztuczną Inteligencją. Może bardzo tutaj generalizuję i podaję mało konkretów, lecz by nie przedłużać podam przykład:
Stajecie przed problemem – mamy dane. Powiedzmy długi akapit technicznego tekstu. Całkiem prostego do zanalizowania przez komputer i strawnego dla człowieka. Zadaniem jest wybranie z niego esencji informacji, tak by zmieścić się w jednym zdaniu. Jakie wybralibyście „narzędzie” by rozwiązać problem jak najmniejszym nakładem pracy (= pieniędzy)? Komputer, czy kolegę z biurka obok?
Z kolei co wybrać, gdy trzeba poprawić kilkuset stronicową publikację o błędnym formatowaniu. Rzucić pracownikowi podręcznik z prawidłowym formatem i kazać naprawić dane, czy poświęcić czas na zaprogramowanie do tego celu maszyny?

Ok, napisałem trochę rzeczy związanych ze sobą luźno i pozornie oddalonych od tematu (do którego jeszcze nawet nie doszedłem ;p), lecz chciałem uzmysłowić [sobie?] czego oczekujemy od różnych podejść do wyszukiwania. Gdy korzystam z wyszukiwarki internetowej zapytanie które wpisuje ma zwykle specyficzny charakter. Spodziewam się konkretnych rezultatów i zwykle je dostaje. Gdy wyniki mnie nie zadowalają, zwykle widzę od razu, że muszę zmodyfikować zapytanie, bądź to czego szukam nie jest takie jak bym się tego spodziewał – nadaje zapytaniu błędny kierunek, mylnie przydzielając mój problem do jakiejś kategorii. Zapytanie takie zawiera zwykle nazwę osoby/zjawiska/zdarzenia/etc. lub coś co może ją zastąpić oraz, jeśli taka nazwa nie jest wystarczająco unikalna, dziedzinę w jakiej znajduje się problem. Najprostszy przykład: „bezpieczeństwo linux”. Szukam przecież informacji o bezpieczeństwie, lecz o bezpieczeństwie systemu linux, a nie samochodowym.

Problemem, którym skusił mnie do napisania tego wpisu, jest odszukiwanie rzeczy których tak naprawdę nie znamy. Nie wiemy czym są, jak się prawidłowo nazywają, nie znamy dokładnej dziedziny w jakiej moglibyśmy „coś” sklasyfikować. Błądzimy po omacku. Ciekawi mnie jak sobie w takiej sytuacji radzimy? Nie możemy spytać kolegi – sposób najprostszy, ale jest tylko obejściem problemu (acz skutecznym). Możemy zacząć zawężać krąg poszukiwań, zaczynając od najbardziej podstawowych rzeczy jakie już wiemy. Pytamy o coś podstawowego i próbujemy dowiedzieć się na szybko więcej. W praktyce czasem wystarczają mi nagłówki stron z wyników wyszukiwania Google. Jedno zdanie z takiego nagłówka wystarczy by przypomnieć sobie/otrzymać słowo klucz do kolejnego szukania. Mając je możemy zmniejszyć krąg poszukiwań do stron we właściwej tematyce… itd. itd..

A może podejść do tego prościej? Często łapię się na tym, że zapominam o „pytaniu wprost” i wymyślam regułkę, która ma mnie uratować. „Coś coś2 -aukcje site:strona 2006”... Przecież można spytać po ludzku. Chcę wiedzieć „Jak postawić serwer www”, więc po prostu o to spytam. Na codzień używam google. Google (mimo iż afaik pracuje nad tym) nie potrafi pracować na zapytaniach w języku naturalnym. No, może nie do końca. Wiele pytań znajdzie swoją odpowiedź. Głównie dlatego, że w takim medium jak internet ilość informacji jest tak wielka, że prawdopodobnie ktoś już kiedyś zapytał o to samo. Znajdę więc często informację jaka jest mi potrzebna na jakiejś zindeksowanej stronie, która zawiera podobne pytanie. Zapytałem google o populację swojego kraju. „what is the population of Poland?”, w otrzymanych stronach można było doszukać się odpowiedniej informacji. Spróbowałem tego samego po polsku. „jaka jest populacja Polski?”. Niestety nie było już tak łatwo.

Mimo wszystko spytanie google pełnym zdaniem może przynieść rezultat. Całe te rozważania zaczęły się od pewnego pytania z irca:

"00:42 < tajny_nick> co to jest 'wang' po angielsku? czy to jest obraźliwe?
00:42 < tajny_nick> bo np. na bash.org pare razy sie pojawiło i nie rozkminiam o co chodzi".

Normalnie cieszyłbym się z bana dla takiej osoby, bo kanał związku z j. angielskim nie miał, ale chciałem z przekory poszukać. Oczywiście słowniki ang-pol w sieci nie powiedziały wiele. „Dolna szczęka”,„kość policzkowa”. Nijak nie pasuje to do kontekstu. Wpisanie samego słowa do google daje mnóstwo wyników – bardzo dalekich od spodziewanych. I tutaj bingo, dlaczego nie zrobić tego, co opisałem w ostatnim akapicie? „What does wang mean?” wklepane w google. Okazuje się, że ktoś zadał już to pytanie i otrzymał odpowiedź :) Tak, jest to obraźliwe, slangowe słowo na członka, lecz także np. popularne nazwisko. Wiem, wiem, przykład o wątpliwych walorach edukacyjnych. Przepraszam ;)

Więc czy potrzebujemy mechanizmów wyszukiwania, które naprawdę rozumieją o co pytamy? „Natural language search”, czyli zapytania w języku naturalnym mogą znacznie ułatwić nam życie. Przykładowe projekty to www.powerset.com i www.hakia.com. Wpisałem wcześniej rozpatrywane zapytanie na hakii – „what is the population of Poland?”. Wyniki okazały się bardzo skuteczne. Otrzymałem precyzyjną odpowiedź na swoje pytanie. „Population: 38,635,144 (July 2005 est.)”. Czy podoba Ci się taki sposób szukania informacji? Mało? A może by tak poprosić komputer o informacje w ten sposób: „zdjęcia zrobione w ostatnim tygodniu”? Pewien człek opisuje taki mechanizm zaimplementowany w Windows Vista.

Wiele pracy wkłada się w próby analizy treści naszych informacji przez komputery. Tagujemy co tylko się da. Katalogujemy, układamy, łączymy w grupy, linkujemy, budujemy sieci zależności, tworzymy trackbacki, wymieniamy listy znajomych. Wszystko dla naszej wygody, by pracowało nam się naturalnie. By odnajdywać nie tylko to czego szukamy, ale to czego prawdopodobnie szukamy, lecz nie jesteśmy świadomi, że chcemy! Zdarza się nam przecież zapomnieć o znajomym z podstawówki. Teraz ktoś inny dba o to, byśmy go znaleźli – my zaczynamy uczestniczyć w wymianie informacji, choćby szukając potencjalnego pracodawcy, a wyniki mogą nas zaskoczyć.

Takie „porządkowanie” nie jest tylko dla naszej wygody. Można przecież powiedzieć, że uczy maszyny „rozumieć” nasze informacje, by same mogły precyzować dla nas wyniki. Wspólne tagi dodają całe społeczności wymieniając linki, słuchając muzyki, czy publikując/oglądając filmiki. Powstają nowe metody na analizowanie treści, a także rozwijana jest komunikacja w języku naturalnym. Jednak wciąż pasuje mi wpisanie dwóch słów do przeglądarki i otrzymanie wyników w postaci stron najbardziej powiązanych z kombinacją tychże słów, nie ważne w jakim kontekście. Gdy chcę zapytać o coś informatycznego w języku naturalnym, wchodzę na irc i pytam jak umiem najlepiej. Gdy nie rozumiem czegoś z podatków dzwonie do swojej rodziny i pytam, tak jak potrafię. Ludzie, do których moje zapytanie dotarło, w miarę chęci i wolnego czasu uruchamiają skomplikowane mechanizmy wyszukiwania w swojej pamięci, przyśpieszając cały proces super szybkim, obszernym cache’em i włączając w to mechanizmy dzięki którym mogą dedukować odpowiedź nawet nie znając prawidłowej odpowiedzi na pytanie.


Ciężko znaleźć jedną zadowalającą odpowiedź od nawet najbardziej zmyślnego cyfrowego mechanizmu szukającego w bazie wiedzy, gdy połowa pytania to „nie wiem w ogóle gdzie jestem i co mam zrobić, ciężko mi wyrazić co już mam, bo nie znam się na tym i wykonuję przypadkowe czynności z nadzieją na sukces, ale wiem, że chce uzyskać...” ...



Wpis do niczego konkretnego nie dąży i jest luźną refleksją autora nie popartą żadnymi naukowymi dowodami/doświadczeniami.



Źródła:
wszechmocne google.
Can natural language search bring down Google?

Ludwikc'owi dziękuję za uwagi.

2 komentarze | Internet Różne |

Spotkanie CzLUGowe

Wpis na 1. poziomie, wysłany 11 grudnia 2007 o 13:10:12

Zapraszam na czwartkowe spotkanie CzLUG. O godzinie 17:00 w auli A0 przy Dąbrowskiego pbm poprowadzi prelekcje przedstawiającą KDE 4.0.



Poprzednie prelekcje dotyczyły między innymi środowiska Eclipse i Javy, systemu Gentoo, prezentacji wykonywanych w LateX. Więcej w drodze. Może warto czasem sprawdzić CzLUGowy kalendarz i newsy? :)


http://czlug.icis.pcz.pl

Dodaj komentarz | CzLUG Różne |

Sinozęby potraktowany inaczej

Wpis na 1. poziomie, wysłany 06 grudnia 2007 o 15:30:45

Bluetooth można wykorzystać na różne sposoby. Oprócz tych najbardziej oczywistych, jak transfer plików, słuchawki bezprzewodowe itd. jest jeszcze kilka rzeczy, których twórcy np. telefonów komórkowych nie przewidzieli.

Ciekawym zastosowaniem telefonu jest użycie go jako radiowego pilota do komputera. To zastosowanie mnie jednak średnio interesuje. Wiem jednak, że jest oprogramowanie w javie do takiego zadania i soft pod Windowsa i Linuksa. Zostawiam to innym, jako, że mam sprzętowego pilota wbudowanego w komputer.


Bluemon to program, który pozwala na zautomatyzowanie akcji przy zaniku/pojawieniu się określonego urządzenia w pobliżu. Idea jest sprytna: gdy „pingi” do naszego urządzenia bluetooth, np. telefonu komórkowego, przestaną dochodzić program wykonuje jakąś akcję.

Odchodzimy od komputera z telefonem w kieszeni… komputer sam blokuje ekran i wyłączy odtwarzanie muzyki … :) Prawda, że ciekawe?



By uruchomić bluemon potrzebujemy uruchomić serwer, który będzie „pingować” nasze urządzenie i klienta, któremu każemy wykonywać konkretne akcje na wyjście/wejście urządzenia z/do zasięgu. Np.:

bluemon -snvdi 5000 -t 210 -b |adres mac naszego urządzenia|
bluemon-client -u 'gnome-screensaver-command -d' -d 'gnome-screensaver-command -l' -b |tutaj też adres mac|

W tym przykładzie uruchamiam serwer bluemon z: -i czyli interwałem na 5 sekund, -s przekazywanie komunikatów na stdout a nie do sysloga, -n nie forkuj, czyli nie przechodź w tryb deamona, -v to verbose, a po -b podaje MAC adres urządzenia.

Sam server niczego nie wykonuje, trzeba jeszcze do tego dodać klienta. Po -u i -d podajemy odpowiednio akcje na „urządzenie pojawiło się” i „urządzenie zniknęło.

No właśnie, zniknęło… mam bluetooth wbudowany w lapka. Sygnał jest na tyle silny, że transfer filmu do telefonu nie przerwie się nawet jak pójdę kilka pokoi dalej :) Od tego mamy parametr -t „threshold” który określa siłę sygnału jaka uznawana jest za „zniknięcie” urządzenia. Niestety z moich doświadczeń wynika, że ten parametr po prostu nie działa jak powinien.



Temat podjął Night w swoim wpisie na blogu http://night.jogger.pl/2007/11/15/bluetooth-proximity/. Omawia on skrypt z sieci, który został przez Night’a poprawiony/przerobiony, a służy do tego samego co wyżej opisany bluemon. Wpis o tyle ciekawy, że wraz z komentarzami omawia wiele problemów takiego rozwiązania, takich jak bezpieczeństwo i w ogóle sposób działania takiego mechanizmu. Polecam :)

Dodaj komentarz | Różne |

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 |