szarak@jabster.pl


Wpadka polskiej wersji google readera - Niechciane subskrypcje.

Wpis na 1. poziomie, wysłany 09 maja 2008 o 15:04:59

Od jakiegoś czasu używam google readera do czytania newsów. To bardzo przyjemna aplikacja, szczególnie jak nie musisz jej oglądać :D A w taki właśnie sposób jej używam.

W google reader jest taki przyjemny feature - tworzysz (no, zbyt poważnie to brzmi - przeciągasz) przycisk na panel w przeglądarce i od teraz kliknięcie go przeniesie Cię do następnego nieprzeczytanego artykułu. Do FF dorzuciłem sobie google reader notfier, który zmienia ikonkę zależnie od tego czy są nowe artykuły. Ot proste, ale skuteczne.

Wszystko pięknie, ale... Wspaniały google reader ma możliwość współdzielenia artykułów. Czyli po prostu możemy oznaczać je jako Ciekawe dla innych, a inni mogą subskrybować nasze tak właśnie oznaczone pozycje.

Po zaimportowaniu kanałów z innego czytnika zauważyłem, że otrzymuję sporo artykułów które nie pochądzą z moich kanałów. Wyświetlają się na liście, a należą do ... "elementy udostępniane przez użytkownika Ludwik".

Ludwiku, Ludwiku. Jakim cudem niepostrzeżenie wciskasz mi się w moje subsrypcje? :) Szybka rada ludwika - to przestań mnie subskrybować. Łatwo powiedzieć, gorzej wykonać - nie da się. W polskiej wersji google readera nie ma możliwości zarządzania takimi obserwowanymi użytkownikami. Ta część opcji nie wyświetlała się. Nie miałem w ogóle linka do sekcji "Friends" o której mówił.

Szybka zmiana języka na angielski odkryła przede mną zupełnie nowe możliwości. Nowe menu pozwoliło skutecznie pozbyć się niechcianych (1 artykuł o lifehackingu na miesiąc to dla mnie wystrczająco dużo. 20 tygodniowo to za dużo :) ) subskrypcji.

Niesmak jednak pozostał. Google reader automatycznie na podstawie (jak się domyślam) książki adresowej dodał mi obserwowanych użytkowników i pozbawił możliwości anulowania subskrypcji :( I weź tu używaj polskich wersji ... :)

1 komentarz | Gadżet Internet |

Własny filrt w szablonie Django

Wpis na 1. poziomie, wysłany 01 kwietnia 2008 o 01:02:10

W szablonach Django dostępny jest spory zestaw filtrów. Używa się ich prosto:

{{ obiekt|filrt }} {{ obiekt|filtr:"parametr" }}

Dostępne filtry pokrywają większość popularnych sytuacji, ale może czasem przydać się zrobienie jakiegoś własnego.



Wejdź do katalogu swojej aplikacji w której chcesz używać filtru. Stwórz katalog templatetags, a w nim pliki init.py i twoja_nazwa.py.

 
mkdir templatetags
touch templatetags/__init__.py
touch templatetags/TWOJANAZWA.py
 

w pliku TWOJANAZWA.py:

 
from django import template
register = template.Library()
 
@register.filter("nazwa_naszego_filtra")
def nazwa_naszego_filtra(value):
    #tutaj jakies operacje.
    return cośtam
 

Jak pisałem wcześniej, filtr może przyjmować parametr:

 
def nazwa_naszego_filtra(value, argument):
    #tutaj jakies operacje.
    return value + argument
 

Przed użyciem naszego filtra w szablonie ładujemy go za pomocą:
{% load nazwa_filtra %}

i używamy:

{{ obiekt|filtr:"argument" }}


Mam nadzieję, że zbytnio nie namieszałem ;)

Dodaj komentarz | *nix django Internet Progamowanie Różne Techblog |

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 |

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 |

Google siedzi w mojej głowie?

Wpis na 1. poziomie, wysłany 22 maja 2007 o 02:40:24

Rozumiem reklamę, generowaną na podstawie zawartości aktualnie przeglądanej przeze mnie strony.

Jednak zastanawia mnie, dlaczego reklama skierowała mnie na strony testerów sieciowych (notabene, producenta, którego sprzęt mam okazję używać na co dzień) i łącz internetowych, gdy próbowałem wyszukać adres internetowy (niezwiązany z informatyką) i nie dostałem żadnych wyników – czyli dostałem praktycznie pustą stronę.

Dodam, że nie byłem zalogowany w serwisach google i chwilkę wcześniej czyściłem cache. Hmmmm … ;p

btw. jestem 13 po wpisaniu w google „szarak”, a nie starałem się zbytnio o to, a moja strona nie ma treści :D

Dodaj komentarz | Internet |