Najboljša Linux/BSD server distribucija?

Od začetka uporabe Linux operacijskega sistema sem ostal zvest distribuciji Slackware. Navadil sem se na robustnost, za učenje pa je ravno pravšnja. ÄŒeprav mi ponuja praktično vse kar potrebujem za “hosting” web aplikacij, imam občutek, da že dolgo ni več ”najboljša na trgu”.

Na inštalacijo čaka nov strežnik, distribucija še ni izbrana. Kot sem že napisal, mi je Slackware najljubši, a ker gre za precej do-it-yourself distribucijo, mi prestop na drug OS vrjetno ne bi povzročal težav. Uporabljam le shell dostop, potrebujem pa robustno server distribucijo, ki bo ponujala neko jedro, za razvoj aplikacij in hitro izvajanje le-teh (čimvečji izkoristek) ..

Pred leti sem testiral več vrst Linux in BSD distribucij, a me je pomanjkanje znanja in podpore odvrnilo od nadaljne uporabe. Kakšna je dandanes podpora (dokumentacija, forumi, .. ) za BSD distribucije? Svoj čas za FreeBSD ni bilo moč dobiti kakršnekoli podpore - le na IRC kanalu, pa še tam niso točno vedeli, kako zadeva funkcionira ..

ÄŒe dam Slackware na stran, se odločam med Debianom, FreeBSDjem in OpenBSDjem .. katerega od teh priporočate? Katere so prednosti in slabosti posamezne distribucije? Obstaja še boljša Linux/BSD distribucija, primerna “za strežnik” ?

Social networking

V spletnem svetu postaja vse bolj popularen t.i. “social networking“, sam pa si spomladanske večere krajšam z ustvarjanjem profilov na tovrstnih straneh.

Zakaj profili? Je to vdor v zasebnost? Je splet hudičevo seme? Pravzaprav so te mreže prostor za relaksacijo, iskanje idej in informacij, morda tudi prijateljev. Njihov namen vsekakor ni izdelava vsesplošne mreže ljudi, ki jih poznamo ali jih na spletu spoznamo. Razvoj gre v smer izdelave specifičnih spletnih aplikacij, za množico.

Po priporočilih (Kevin, Leah, ..) in predvsem zaradi lastnega zanimanja, sem začel sodelovati pri testiranju še razvijajočih spletnih aplikacijah, prav tako pa bolj aktivno uporabljati že obstoječe - popularne, a zame do sedaj nezanimive portale.

ÄŒe jih uporabljate tudi sami, me dodajte v svojo mrežo prijateljev ..

Facebook
Twitter
Pownce
RtvSlo
Digg
Vimeo
YouTube
Muxtape
social|median

Spletna shramba videospotov

Danes je Multimedijski center RTV Slovenije predstavil spletno shrambo slovenskih in tujih videospotov. Uporabnikom omogočajo ogled posameznih videospotov, razvrščenih po avtorjih, ter ustvarjanje lastnih miksov (playlist).

www.rtvslo.si/videospoti

ÄŒe bi me vprašali, katero vrst videov najraje gledam na Youtube, bi vam hitro odgovoril, da so to videospoti. Na disku pač nimam vseh popularnih pesmi, vleči z interneta se mi jih ne da, splet pa mi predstavlja neomejeno bazo raznoraznih, popularnih in zimzelenih, videospotov.

Povezava v celoto je smiselna, saj uporabniki tako spoznamo več izvajalcev, možnost izdelave lastnih miksov pa je zadetek v polno. Windows Media Player in WinAmp playliste enostavno zamenjamo s spletnimi -, za nove pesmi, izvajalce, .. pa poskrbi kar avtor spletnega portala.

MMC RTVSLO Videospoti nam na prvi strani prikažejo zadnjih 20 dodanih videospotov, 10 najbolj gledanih in 10 najbolje ocenjenih. ÄŒe izvajalca ne najdemo z imenikom na desni strani, lahko uporabimo tudi iskanje na prvi strani.
Na spletni strani posameznega izvajalca so izpisani vsi videospoti, besedilo zadnjega ter možnost ustvarjanja miksa (playliste).

Miksi nam omogočajo ustvarjanje seznamov skladb (v tem primeru videospotov), katere lahko kasneje predvajamo ali shranimo. Medtem ko skačemo in iščemo izvajalce, lahko ob skladbi “kliknemo” na ikono z znakom plus (+) ter s tem v “Video miks” dodamo posamezen videospot.
Ko pa želimo miks predvajati, enostavno na desni strani v okencu “Video miks” pritisnemo na gumb Predvajaj. Preusmerilo nas bo v predvajalnik ter videospote predvajalo enega za drugim (lahko izberemo tudi drug vrstni red).
ÄŒe pa želimo miks poslušati še kdaj ali jih želimo ustvariti več, ga lahko tudi shranimo (potrebna je prijava v sistem).

Moj glasbeni video miks -> Glasbeni miks #1.

Poleg vstopa v virtualno življenje Second Life je shramba videospotov vsekakor zanimiva  in uporabna aplikacija, nastala pod prsti MMC RTVSLO.

Fresh copy of Wordpress

Updated software is the key to secure and reliable work space. Developers often publish updates and bug fixes for their software and the users must manualy update (haven’t seen an automatic updater for web applications yet).

I use Wordpress as a CMS for several web pages, so when new version is published, i have to manualy update them all.
I could save some time by installing software with SVN and then just update, but I didn’t. So the goal of this article is to import Wordpress SVN repository to an existing Wordpress path and then daily update all copy’s from the www, automaticly.

First, we have to import the SVN repository of Wordpress files into the existing path. I guess you could use some other way to do this, but mine works quite fine.
Let me just add, that you need to have SVN installed, i use Linux OS, you might use some other platform as well (commands are alike).

First, we create a file, in the ./ path of the Wordpress, named updated:
touch updated

.. and chmod it to 777:
chmod 777 updated

We open it in our favourite editor and copy/paste this lines in ..

#!/bin/sh
svn co http://svn.automattic.com/wordpress/trunk/ svnblog
cp -r ./svnblog/.svn ./
cp -r ./svnblog/* ./
rm -r ./svnblog

Second line commit’s fresh copy of Wordpress from WP SVN repository and save’s it in the path named svnblog. Then it copy’s files and SVN repository to the existing WP path (don’t worry, the existing confing.php, tamplates, etc. won’t be deleted). The last line just removes the temporary path svnblog.

If there was a new version of WP released (for example from 2.3.3 to 2.5), then you should visit you’re blog administration (http://webaddress/wp-admin) and just click upgrade (often there is a DB update and this is the only way to make it happen).

Ok, we have imported Wordpress SVN repository into our existing path. From now on, if we want to update Wordpress copy, we just write the following command ..
svn update
.. in the ./ path of Wordpress copy. The updating process is “update only“, so don’t worry - you won’t loose images, templates, plugins, ..

But our goal was automatic daily updating - the next step requires crond installed and running. Just add the bottom line in the daily cron ..
svn update /path/to/wordpress > /dev/null

Now every day system will check for Wordpress updates on the Web SVN Repository and update you’re copy, so you’ll always have a fresh one.

Wordpress 2.5

ÄŒudo tehnike sem zaenkrat namestil zgolj iz testnih namenov, saj, kot sem tudi sam opazil, lepo število funkcij še ne deluje pravilno. V grobem povedano, gre za predelavo jedra skripte, več Ajax-a, prenovljen Web 2.0 design nadzorne plošče in novo postavitev elementov v desnem stolpcu pod osrednjo konstrukcijo strani.

Veliko ne bom govoril, ker se je in se še bo po blogosferi pisalo o novem fenomenu, za začetek predlagam branje Wordpress DevBlog zapisa o novi različici.

Kot že rečeno, prenovili so postavitev nadzorne plošče - na prvi strani malce premetali elemente, dodali listo najnovejših vtičnikov, razširili listo zadnjih zapisov in komentarjev.

wp5.jpg

Največ novosti je na strani za pisanje novih zapisov. Desni meni, kjer smo v prejšnji različici urejali kategorije, status objave, .. so premaknili pod obrazec za pisanje zapisa, na desno stran pa gumbe za objavo in predogled.
Največ je obetal “nalagalec” slik/datotek - po novem lahko nalagamo več slik naenkrat in na blogu objavimo galerijo slik. Nalagalec se odpre v v lightboxu - omogoča pa nam nalaganje več slikovnih, video in avdio datotek naenkrat. Video in avdio komponente nam zaenkrat še ne vstavi v zapis, le povezavo do datoteke.
Druga večja novost pa so podkategorije - dodajamo jih lahko v neskončnost (npr. Avtomobili -> Audi -> A5).

Obogatili so tudi strani s seznami zapisov / komentarjev, ter dodali stran s tagi in seznamom naloženih datotek.

Dodajanje “blokcev” (widgets) je precej enostavno, prav tako urejanje. Prednaloženi so npr. že koledar, iskalnik, kategorije, RSS feedi, zadnji komentarji, .. Zanimiv je tudi urejevalnik glave bloga - privzeti srajčki lahko kar preko brskalnika zamenjamo barvo glave in pisave.

wp51.jpg

Botomlajn, zgleda kul. Že pri prvem zapisu sem imel težave pri oddaji, ker “Publish” gumb “ni prijel”, vse ostalo deluje super. Pogrešam morda le avtomatičen watermark na slikah.

Moj testni Wordpress 2.5 blog stoji na spodnjem naslovu ..

www.andaily.com/blog

Nadgradnje zaenkrat ne bi priporočal - zadeva obeta a je še v razvojnem obdobju. Po bazi sodeč, nadgradnja z različice 2.3 ne bo povzročala težav.
Prav tako bi morale delovati vse “2.3 srajčke” - Wordpress zaenkrat še ostaja na brez-template sistemu in meša PHP kodo s HTML & CSS.

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.

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.