Sunday, June 24, 2007

Infractiuni Bucuresti - Mashup cu harta infractiunilor din Bucuresti

In weekend-ul asta se vede ca am avut chef de munca, prin urmare am reusit sa aduc "the finishing touches" si pentru un alt proiect care ramasese la stadiul de 95% cam de vreo 4-5 luni.

Este vorba despre Infractiuni Bucuresti, un mashup intre stirile privind Politia Romana publicate de catre agentia de presa Amos News (mai precis arhiva acesteia) si hartile oferite de Google Maps si Microsoft Local Live.

Mai multe amanunte despre acest proiect puteti afla in pagina Despre "Infractiuni Bucuresti", dar cateva dintre ele o sa le insir si aici.

Mai intai, acesta este un proiect personal, pentru a incerca sa arat ca se pot face lucruri interesante atunci cand informatia de interes general este pusa la dispozitia publicului larg pe internet. In al doilea rand, tin sa precizez ca nu am nici o legatura cu Politia Romana, in sensul ca nu am colaborat si nici nu am lucrat vreodata pentru aceasta institutie.

Si in al treilea rand, dar la fel de important, locatia stirilor pe harta nu este 100% exacta.

A fost un proiect "fun", care a plecat de la o frustrare mai veche de-a mea. Din pacate stirile acopera doar intervalul 2002 - 2005, si desigur ca nu toate infractiunile din aceasta perioada de timp si-au gasit locul in stirile publicate de catre Politia Romana pe Amos News. Deasemenea, cum informatia privind localitatea si adresa la care au avut loc diferitele evenimente erau incluse in "raw text", nefiind formatate (think XML) marcate prin micro-taguri sau orice altceva, a trebuit sa scriu un mic script care sa incerce sa extraga stirile asociate orasului Bucuresti si adresele din acele stiri. De multe ori mi-a reusit, dar probabil ca sunt si cazuri in care am marcat o stire din Onesti (de exemplu) ca avand loc pe o strada oarecare din Bucuresti.
Have fun, and don't be scared :)

Saturday, June 23, 2007

MogNews reloaded

Dupa luni intregi de stat in debara, la pastrat, MogNews se intoarce mai robust, cu mai multa informatie si cu cateva noi mini-aplicatii care sa-i aduca sporul de gust.


Mai intai despre robustete. MogNews poate fi accesat de acum incolo la o noua adresa: http://djapp.creditlink.ro/news/. Asta inseamna un server nou, de "firma" (cu cel putin 95% uptime), ruland un Debian, in locul celui vechi, de apartament, pe care chinuiam un Windows 2000 cu 128 RAM :). Dupa aceea, am hotarat ca e mai normal ca totusi sa folosesc Django ca web-framework, in loc sa ma chinuiesc cu request.write() direct din mod_python (am totusi circumstante atenuante pentru asta, acum doi si jumatate cand am inceput sa pun MogNews pe web nu existau prea multe web framework-uri Python "light-weighted" decente, sau cel putin care sa fie usor de utilizat).


De asemenea, am decis sa renunt la credinta "purista" ca as putea salva si manipula datele din spatele MogNews folosind numai fisiere text, si am decis sa folosesc MySQL pentru stocarea articolelor. Totusi, in continuare indexul pe care se bazeaza cautarea si categorizarea articolelor este pastrat in fisiere text.


Cautarea este mai rapida (sau cel putin asa imi arata testele mele :) ). Aceasta cu toate ca numarul de surse si implicit cantitatea de informatie a crescut, de la 13-15 la 28-30, cu un accent sporit pus pe ziarele cu aparitie locala si regionala (sunt un provincial care traieste in Bucuresti de 8 ani, stiu ce inseamna sa nu gasesti nici un articol despre orasul/judetul tau in presa centrala).


Am ajuns si la partea de mini-aplicatii noi, care sper ca vor mai aduce un pic de sare proiectului. Le puteti gasi in DevZone, asta deoarece pentru moment se afla intr-un stadiu "pre-beta".


In primul rand este vorba despre API-ul MogContext, cu ajutorul caruia puteti afla "programatically" cuvintele cheie ale oricarui text (de preferat scris in limba romana). Ca exemplu, puteti folosi acest API pentru a genera automat tag-uri pentru textele de pe site-urile/blogurile voastre. In caz ca nu stiati inca, MogContext este o unealta din seria "motoarelor de cautare contextuala" (puteti afla mai multe despre el aici).


Si "last but not least", este vorba despre MogNews Zeitgeist, o aplicatie ce face o analiza cantitativa a cuvintelor cheie din articolele pubilcate in ultimele 5 saptamani. In urma acestei analize sunt intocmite niste clasamente ce corespund ultimelor 5 saptamani, cu cele mai "hot" cuvinte cheie aparand primele in lista. De asemenea, puteti vizualiza si evolutia evolutia unui anumit cuvant cheie, cum ar fi basescu, tariceanu, becali sau tiff (asta in caz ca va place filmul :) ).


Si care ar fi fost hazul intocmirii unui zeitgeist daca nu as fi dat posibilitatea efectuarii de comparatii :) . De exemplu, pasionatii de politica poate vor fi interesati de basescu vs. tariceanu vs. voiculescu vs. geoana, in timp ce microbistii vor putea raspunde la intrebarea "ce echipa este favorita presei?": dinamo vs. steaua vs. rapid vs. poli. Cativa dintre noi vor fi interesati de lucruri mai inalte (plesu vs. liiceanu vs. cartarescu vs. dinescu), in timp ce micul grup al cinicilor anonimi inevitabil va ajunge aici: becali vs. plesu vs. liiceanu vs. cartarescu :) .


In concluzie, iata o lista de linkuri care va va ajuta sa stiti si mai multe despre MogNews si MogContext: