Che.si: Prvi slovenski full-text blog iskalnik

Večini najvrjetneje že najedam z objavami o raznoraznih tvorbah, ki nastajajo pod mojimi rokami zadnje čase, a v lajfu se mi te dni ne dogaja prav veliko - študiranje, programiranje in poslušanje Britney Spears. Partee :)

Mojemu supr&dupr projektiču Che.si, za katerega nikoli ne zmanjka idej, sem dodal dokaj zanimivo funkcijo - full-text search.
ÄŒe iščeš blog zapis z določeno vsebino, vpišeš iskalne pojme v obrazec in klofneš enter (ali klikneš na gumb) - nekaj Google ali Najdi.si podobnega - gre za iskanje po zapisih slovenskih blogov -, iskane pojme iščem v naslovu bloga, celotni vsebini in povezavi.

Ko mi je ideja o iskalniku padla v kanto na vratu, sem zamahnil z roko - full-text indeksiranje bi pomenilo overkill za bazo in sistem - a sem našel primerno rešitev, ter jo nadgradil s preprostim obrazcem na spletni strani Che.si - da se vam stran ne bo ponovno nalagala poskrbi Ajax, trenutno pa sistem prikaže le 5 najbolj relavantnih in svežih rezultatov. Iskalnik bom v kratkem razširil na novo podstran, mu dodal raznorazne filtre (sortiranje, ..).

Primer uporabe:

Skuhat želim rižoto .. pred časom sem prebiral zanimiv blog s kuharskimi zapisi .. hmmm .. v iskalnik vpišem besedo “rižota” in .. voila !
rizota.jpg
.. rižota že diši :)

Che - spletna revolucija

Splet za svoj razvoj potrebuje male spremembe - ideje pa ustvarjajo delce celotne pojave.

che_logo.jpgSvojo idejo, o kateri sem pisal v prejšnjem zapisu, sem realiziral. Od ideje do izvedbe ni minilo prav dolgo -, razvil sem dober sistem, ki skrbi za prenos podatkov, njegovo obdelavo in najpomembnejše - povezovanje. Poimenoval sem ga po vizionarju Ernestu Che Guevari - na Kubi izraz “Che” pomeni “Hej ti“. Projekt torej ni postavljen v spomin ali čast Ernestu, ki je imel tako kot vsaka stvar na svetu dobre in slabe lastnosti, pač pa ime samo predstavlja vizijo ter s kubanskim pomenom besede izraža resnične avtorje vsebine - vas !

Sistem zaenkrat že deluje v polni obliki - prenaša in obdeluje vse podatke, na splet pa sem postavil manjši portal, na katerem prikazujem le nekaj funkcij. Po pravici povedano, me je Had kar malce presenetil z objavo. Å e taisti dan sem premetaval vsebino prve strani, testiral izpis, čas nalaganja, ..

Na kratko še o vsebini. Zaenkrat na prvi strani prikazujem zadnje blog zapise, na desni strani najbolj pereče teme tedna (La ultima semana), zadnje novice iz slovenije in sveta (ultimas noticias) in največkrat uporabljene zaznamke v zadnjem tednu (palabra). Vsa vsebina se dodaja avtomatično, razen pri drugi točki mora urednik (trenutno jaz) določiti naslov teme tedna (zaznamke in sliko avtomatično doda sistem ter poišče relavantno vsebino). Zapis v temo oddate tako, da izbrane zaznamke vključite v naslov zapisa (npr. zaznamek: glasba, naslov blog zapisa: Glasba me pomirja). Včeraj sem poleg zapisov dodal še “digg-like” glasovanje -, če vam je objava všeč, kliknite na zvezdico ter oddajte svoj glas ((Ob osvežitvi vaš glas morda ne bo takoj viden, ker se sama vsebina osveži na vsakih 10min.)).

Zaenkrat je to vse o Che.si. Obiščite spletno stran, glasujte za najboljše zgodbe ter sodelujte v tedenskih temah.

Novica o prezgodnji smrti našega bivšega predsednika, velikega človeka z velikim srcem in posluhom za sočloveka, dr. Janeza Drnovška me je danes zelo prizadela. Počivaj v miru.

Izgubljena kartica ZZZS

Začudeno in v strahu sem počasi odprl kuverto, ki mi jo je med reklamami porinil poštar v roke. Na vrhu je pisalo ZZZS - v kuverti pa je ležalo nekaj kartici podobnega. Na list je bila res prilimana kartica ..

img_0798_2.jpg

.. a ne nova. Na priloženem listu je pisalo, da mi pošiljajo najdeno kartico, ki so jo mimogrede še potrdili. Očitno sem jo nekoč, nekdaj izgubil .. na misel mi ne pade, kdaj bi se to lahko zgodilo, a ne dolgo nazaj (prejšnji petek sem jo pri zobarju še imel).

Hvala neznanemu najditelju in hvala ZZZS !!

Webmail

Odločil sem se prodati svojega Apple MacBooka, zato sem se zaenkrat preselil na domači PC. ÄŒeprav prenos mailov iz Apple Mail-a v Outlook ali Thunderbird ni težava, pa ne želim ob morebitnem nakupu novega prenosnika, spet prenašati emaile iz enega računalnika na drugega.

Webmail je najbolj primerna rešitev - pošiljanje in sprejemanje deluje normalno, vsi emaili se ohranijo na strežniku, kasneje pa jih lahko “potegneš” na katerikoli računalnik. Bolj težavno pa je najti primeren Webmail sistem. Squirrelmail je preveč “hardcore” (grd dizajn), Horde prepožrešen in preobsežen .. všeč mi je npr. Google Mail, a bi imel z začasno preusmeritvijo vseh svojih mailov k njim preveč dela. A našel sem idealno nadomestitev - Roundcube.

mail_listing.jpg mail_view_chinese.jpg mail_compose.jpg contacts_edit.jpg

Spletni umesnik zgleda super - funkcionalnost podobna “desktop programju” (dvoklik, ..), imenik naslovov, avtomatično osveževanje seznamov (ni potrebno stalno klikat “Osveži”), možnost ustvarjanja map in navsezadnje je tudi “poslovenjen”. ÄŒeprav je še v testni, beta, različici, vse funkcije delujejo brez težav.

Naj še pripišem, kakšne težave prestajam ob kompletni migraciji nazaj na Windows PC mašino - datotek ne brišem s “DELETE” tipko ali “Shift + Delete”, pač pa jih vlečem v koš, stalno imam težave s črkama “z” in “y” -, ker sem začasno prešaltal na IE7 se ne morem prijaviti na 3/4 forumov, ker sem pozabil geslo :) .. itd.

Enivej .. Roundcube webmail vmesnik je super, priporočam.
BajDvej, včeraj sem šel na premiero Rambota (John Rambo) - dvorana polna, pred začetkom predvajanja so nam pripravili še krajši program s predstavitvijo borilnih veščin. Prvič sem v kinu doživel, da pred predvajanjem ni bilo potrebno 15min gledat reklam. Sam film pa na začetku veliko obeta, a v akcijskem filmu bi pričakoval več akcije.

rambopix20-20081-l.jpg

Slovenski Super Agregat

Zadnjih nekaj dni razmišljam o idealnem spletnem agregatu - kot soustvarjalca spletne vsebine me je vedno zanimalo avtomatično premetavanje podatkov ter iskanju uporabnega, zanimivega. Spisal sem tudi manjši sistem s podstrežniki, ki skrbijo za povezanost vsebine s spletnimi servisi in avtomatičnemu izpostavljanju -, a najprej bi opisal nekaj tipičnih napak, ki jih počno ustvarjalci tovrstnih servisov.

Prosto dostopna uporabniška baza
Ključ uspešnosti na spletu je uporabniška baza. Agregatu bazo predstavljajo povezave do blogov in RSS virov. Å tevilo vpisanih virov jim poveča tabelo podatkov, ob pravi uporabi tudi število obiskovalcev. Konkurenca je huda, uporabniško bazo je potrebno zaščitit.

Uporabniško ustvarjena baza virov
Zanimiv način, na katerega se opira večina ustvarjalcev blogerskih agregatov je kreiranje uporabniške baze (seznam virov podatkov) s strani uporabnikov. Lastno iskanje ali masivno dodajanje celotne uporabniške baze določenega blog ponudnika lahko nekajkrat poveča bazo virov. Podatki so prosto dostopni - če jih lahko Google doda v iskalnik, zakaj jih ne bi tudi v agregat?

Agregat s sortiranjem
Le agregat s možnostjo sortiranja podatkov je za uporabnika premalo. Menjavanje pogoja v SQL stavku je enostavno in uporabno do določene točke -, a s povečanjem uporabniške baze je potrebno podatke razvrščati, izpostaviti boljše. Digg je uspešen predstavnik “grupiranja” podatkov.

Pametna vsebina
Na spletu obstajajo napredne aplikacije, ki omogočajo avtomatično iskanje sorodne vsebine. Agregat naj ne bo le pusto kopiranje ter razvrščanje, pač pa bogatenje zapisanega. Splet se nikoli ne konča -, naj ga ne bo konec na vaši spletni strani.

Na koncu pa bom napisal še par besed o poskusu, na katerem trenutno delam. Ustvaril sem vrjetno največjo bazo virov slovenskih blogov - podatke sem pridobil z agregatov (beri: prosto dostopa uporabniška baza), ponudnikov blog domovanj, .. Končna številka se giblje okrog 10.000.

Obdelava ogromne baze podatkov zahteva optimiziran in centraliziran sistemom, ki skrbi za pregled in obdelavo. V dvodnevnem zbiranju v tem trenutku v bazi hranim preko 40.000 blog zapisov. V sistem sem za obdelavo podatkov povezal 3 strežnike -, 10.000 blogov pregleda, obdela in shrani podatke v približno 40 minutah.

Zaenkrat se bomo morali zadovoljiti s parimi slovenskimi agregati in drobci uporabniške baze, razdrobljene po celem spletu in portalom z uredniško izbrano vsebino -, v prihodnosti pa pričakujem uporabniško-uredniško koherenco, ki bo avtomatično ustvarjanje baze uspešno nadgradila z izbrano spletno vsebino.

PHP: Best way to fetch content over internet

The comment in PHP manual under curl() function, by trucex, made me think - is there really a huge difference between PHP functions, with which we fetch data from the internet.

I’ve written a small PHP script, with microtime(true) function to measure the time, that each function needs to fetch data from several local and world wide web sites (NYTimes, CNN, RtvSlo, 24ur, Wikipedia, ..). All functions were tested under the same conditions - server (3.2GHz, 1.5GB ram), line (5Mbit dl, 1.5Mbit ul) and as i said, same web sites.

Compared functions: fopen(), file_get_contents(), file(), fsckopen() and curl_init().

The results were quite surprising as the difference between functions is quite big.

file_get_contents - 78.052254915237
file - 37.172894954681
fopen - 35.497438192368
fsckopen - 20.492045879364
curl_init - 20.141245126724

As we can see from the results, the best way to fetch data is by using functions curl_init() or fsckopen() - as the worst was is by a very popular function file_get_contents().

The difference shouldn’t affect small scripts with several fetch functions, but for heavily usage of fetch functions I would recommend curl_init(). It can be used in PHP versions 4.x and 5.x, not only to get but to post data as well.

PHP YouTube class

I’ve written a short PHP class for importing data from YouTube - usefull for showing content related videos or a small YouTube search engine on you’re site. PHP version 5.x is needed, as the script is using PHP 5.x class SimpleXMLELement to parse the XML data returned from YouTube Data API. I won’t explain the class step-by-step, only the usage and it’s output.

1258198.jpg

Class: youtube
Function: get()

Usage:

$x = new youtube;
$x->get(QUERY STRING, OUTPUT LIMIT, HEIGHT OF EMBEDDED VIDEO, WIDTH OF EMBEDDED VIDEO);

QUERY STRING - search query (words, with which class preforms the query)
OUTPUT LIMIT - number of videos in the returned query (default = 10)
HEIGHT OF EMBEDDED VIDEO - height in pixels for the HTML code to embedd video (default = 350px)
WIDTH OF EMBEDDED VIDEO - width in pixels for the HTML code to embedd video (default = 425px)

Output:

title - title of the video
link - link to the video on YouTube
date - date stamp (when the video was published)
content - long description of the video
author - user from YouTube that uploaded the video
keywords - words that describe the video
video - url to the video file
video_duration - duration of the video file in seconds
code - HTML code to embedd the video
thumb - snapshot of the video (width 320px, height 240px)

Download:

- youtube.php.txt
- youtube.rar

Preview:

http://www.delavec.net/_youtube/
Insert the query string into the text input field, press Search button and system will return results - 10 videos from YouTube.

Snežnodeskanje na Krvavcu

Na Krvavcu je izgubil nedolžnost. Moj prvi snowboard. Sončen dan, karte v žepu in želja po začetku enodilneda športa - gremo na Krvavec.

Pred leti sem prenehal s smučanjem z namenom, da v kratkem prešaltam na snežnodeskanje. Potem pa ni bilo časa, volje, .. blablabla .. Včeraj sem nabavil še zadnje kose opreme, danes pa vse skupaj preizkusil v praksi.

Za prvič je blo .. kul. Več na riti kot na dili, domov pa prišel z razbolelimi mišicami.

dsc02730.JPG

img_0766.JPG

Asus F5M

Ker sem svetoval že pri nakupu, sem pretekli vikend v roke dobil prenosni računalnik Asus F5M - za namestitev operacijskega sistema in uporabnega programja. Preden sem prestopil k Applu sem bil s svojim A6Km zelo zadovoljen, zato v kvaliteto Asus računalniške opreme nisem dvomil.

Asus F5M je zelo zmogljiv prenosni računalnik - procesor Asus Tudion64 MK38 deluje na frekvenci 2.2GHz, 1GB DDR2 serijsko vgrajenega rama, 120GB SATA disk (5400rpm), NVidia C51MV GeForce Go6100 grafična kartica ter 15,4″ WXGA zaslon ColourShine (1280 x 800). Poleg sem dobil CD z vsemi potrebnimi gonilniki, tako da z namestistvijo ni bilo težav.

Prvi vtisi so le pozitivni - cenovno ugoden a zelo zmogljiv računalnik:

* velik zaslon in zelo lepa slika
* hitrost 64 bitnega procesorja se pozna tudi na 32 bitnem operacijskem sistemu
* serijsko 1GB ram palčka - eno prosto ram mesto
* hiter pretok podatkov na disku
* spletna kamera z 1.3MegaPX je super za videokonference
* kvalitetna plastika in enostaven način odpiranja

img_0731.JPG img_0733.JPG img_0735.JPG img_0736.JPG
img_0737.JPG img_0738.JPG img_0742.JPG img_0743.JPG
img_0744.JPG img_0745.JPG img_0747.JPG img_0749.JPG
img_0750.JPG img_0751.JPG img_0752.JPG

Pustni karneval na Viru

Na Viru pri Domžalah se je drevi odvijal že tradicionalni pustni karneval. Mask je bilo kar precej - od aktualno političnih, risanih junakov pa do starih mam z orglicami -, število obiskovalcev pa, kjub mrazu in občasnemu pršenju, kar veliko.

Dobrodošli !

29023_img_0753_blogshow.jpg Read the rest of this entry »