Potpis u vozačkoj dozvoli (hoax)

Ne znam da li postoji bolji case study o moći društvenih mreža u Srbiji od ovoga što se u vezi famoznog potpisa u vozačkoj dozvoli dešavalo u poslednjih 24h.

Počelo je verovatno kao nečija neslana šala, neko je kreirao takozvani hoax o tobožnjoj naplati kazni zbog nepotpisane vozačke dozvole. Ništa novo, pre samo par godina takav hoax o navodno novom i veoma opasnom kompjuterskom virusu širio se nedeljama mrežom, sve dok na kraju nije došao i do dnevnika RTS-a koji se propisno izblamirao šireći informacije o istom! Bilo je potrebno nekoliko dana dok nisu svi ukapirali da je u pitanju lažna uzbuna, prevara, hoax.

U eri Facebooka i Twitera za širenje ovakvog hoaxa bilo je potrebno svega par sati. Neko je nešto načuo o tome, onda su ljudi prenosili informaciju preko Facebook statusa, twitera, pa čak i slali SMS poruke. Iako je bilo glasova razuma poput ovog, iako sam ceo dan promukao twitujući hoax hoax hoax, ljudi su i dalje bili u panici. Na kraju je ovu epidemiju gluposti začinio i b92.net objavljujući “vest” o tome kako im se ceo dan javljaju gledaoci zbog kazni zbog nepostojećeg potpisa u vozačkoj dozvoli.

Na stranu blamaža jedne medijske kuće koja je nasela na ovo (nisu ni prvi a verovatno ni poslednji), mene zabrinjava jedna druga činjenica. Ljudi su prestali da misle sopstvenom glavom.

I kao što su 90-tih stariji ljudi beskrajno verovali pojedinim režimskim medijima (mora biti tačno, bilo je na televiziji), tako sam i danas mogao videti komentare u stilu “neverovatno je ali je tačno, objavio je b92”. WTF?!!. Na kraju je agoniju (nadam se) okončalo saopštenje MUP-a da naravno nije predviđena nikakva kazna za nepostojeći potpis u vozačkoj.

Novi zakon o saobraćaju nije bauk, možete kompletan tekst skinuti sa Interneta i u njemu ne postoji ni jedno jedino slovo koje pominje bilo kakve kaznene poene za nepostojeće potpise. Manje više isti je kao i prethodni uz par dodataka. Ali ovde naravno nije reč o tome. Reč je o moći (društvenih) medija ne samo da brzinom svetlosti prošire informaciju do svakog konzumenta već i da kreiraju vaše mišljenje!

Mislite svojom glavom i ne verujte svemu što dolazi sa Interneta, čak ni kad su u pitanju ljudi kojima beskrajno verujete. Šta ako su i oni u krivu?

Poslednji osvrt na 2009

Došao je i taj poslednji dan u 2009. godini kada je red malo se osvrnuti natrag da vidimo šta smo sve prošli pre nego otvorimo šampanjac i zakoračimo u Novu 2010 Godinu.

U Januar smo tradicionalno zakoračili sa Božićnim SMS Čestitkama a tih dana zbog problema sa ruskim gasom bilo je veoma bitno da imate nekoga da vas greje oko srca.

U Februaru nas je ponovo posetio Iron Maiden a ja sam nakon što sam očistio par metara snega zapalio na aerodrom i odleteo preko bare na sjajnu FOWA konferenciju.

U Martu sam saznao da čak i u doba surovog kapitalizma u Srbiji stvari i dalje funkcionišu sa primesama Balkanskog šarma što se kod mog poziva broja 988 ispostavilo kao veoma dobra stvar.

U Aprilu sam objavio tobožnji kraj posle 4 godina Blogovanja a Blogodak je kao uveo članarinu preko infostana. Zbog ove dve zajebancije i dan danas dobijam mailove tipa “A ko sada piše na dinke.net”, a tu i tamo javi mi se poneki zabrinuti korisnik Blogotka zbog računa za infostan 🙂

U Maju sam po prvi put dobio i SMS Scam, a imali smo zadovoljstvo da prisustvujemo sjajnom takmičenju u Driftu u ovoj našoj maloj kasabi.

U Junu sam napisao opsežnu analizu o stanju u srpskom tenisu a Nick Slotter nas je konačno posetio nakon što smo sami morali da se postaramo za predsednika.

U Julu smo uz novi Firefox 3.5 proslavili tačno 40 godina od spuštanja na mesec, a ja sam napisao interesantno poređenje Top Sajtova i Top Tenisera.

U Avgustu smo najavili još jedan Blogopen, a postao sam i korisnik Twittera nakon čega je isti bio down gotovo 48 sati. Apple je izbacio Snow Leopard koji naravno nije bilo moguće tek tako poručiti online jer … Your country is not supported!

U Septembru smo imali još jedno druženje na Blogopenu, upoznao neke veoma drage ljude a Niš ponovo vratio na listu omiljenih gradova.

U Oktobru smo saznali da Microsoft ima još mnogo toga da nauči od Apple-a (barem kada je marketing u pitanju), a imali smo i još jedan BizzBuzz.

U Novembru sam nakon što sam po n-ti put ispušio za iPhone odlučio da sebe počastim sjajnim HTC Hero-om, koji je baš ovih dana čak i kod nas dobio laskavi status telefona godine.

I Decembar … busy month gde sam se na Blogu konačno vratio svojim korenima – pisanjem korisnih tekstova o stvarima od kojih živim … još uvek 🙂

Nadam se da će nam 2010 biti barem isto ovako dobra.

Srećna Nova Godina

MySQL: Brisanje pomoću Left Join-a

Danas sam ponovo morao da se pozabavim jednom ogromnom tabelom i uklonim sve podatke iz nje koji nisu imali odgovajuće reference u drugoj tabeli, idealan podsetnik koliko su podupiti u MySQL-u sporiji od Joinova 🙂

Da malo objasnim situaciju, imam skript koji između ostalog generiše tzv. “typo” domene, tako da imam jednu master_domains tabelu sa originalnim domenima i result_domains sa generisanim tipo domenima. Nešto poput ovoga:

mysql> describe master_domains;
+--------+------------------+------+-----+---------+----------------+
| Field  | Type             | Null | Key | Default | Extra          |
+--------+------------------+------+-----+---------+----------------+
| id     | int(10) unsigned | NO   | PRI | NULL    | auto_increment | 
| domain | varchar(255)     | NO   | UNI | NULL    |                | 
+--------+------------------+------+-----+---------+----------------+
2 rows in set (0.07 sec)

mysql> describe result_domains;
+-----------+------------------+------+-----+---------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |
+-----------+------------------+------+-----+---------+----------------+
| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment | 
| domain    | varchar(255)     | NO   | UNI | NULL    |                | 
| master_id | int(10) unsigned | YES  | MUL | NULL    |                | 
+-----------+------------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

Tabela result_domains ima polje master_id koje je spolji ključ ka id polju u master_domains tabeli. E sad, obzirom da pored ovoga takođe imam domene koji se na razne druge načine generišu (komplikovano za objasniti), danas sam imao zadatak da između ostalog počistim sve domene iz master_domains tabele koji nemaju odgovarajući ključ (master_id) u result_domains tabeli.

Pomoću pod upita ovo se može postići jednostavnim kverijem poput ovoga:

delete from master_domains where id not in 
(select master_id from result_domains_frontend)

Obzirom da se držim pravila da pre svakog brisanja odradim i select kveri sa istim parametrima u where klauzi, došli smo do ovog select kverija:

select * from master_domains where id not in 
(select master_id from result_domains_frontend) limit 10

Međutim on se izvršavao toliko dugo da sam nakon nekoliko minuta rešio da ga prekinem. Pouzdano znam da su podupiti mnogo sporiji od join-ova (iako su daleko elegantniji za pisanje), tako da sam rešio da isti kveri napišem jednim left joinom.

Left Join je savršeno oruđe kada želite da nađete one podatke iz prve (leva) tabele koji ne postoje u drugoj tabeli. Oni takođe imaju izvesne prednosti u odnosu na podupite obzirom da se izvršavaju znatno brže a uz to su i kompatibilni sa starijim verzijama MySQL-a koje podupite ne podržavaju (MySQL < 5.x). Međutim delete sintaksa je malo drugačija tako da sam nakon par pokušaja i listanja manuala došao do sledećeg ekvivalenta:

delete master_domains.* from master_domains 
left join result_domains_frontend 
on master_domains.id=result_domains_frontend.master_id 
where result_domains_frontend.master_id is null ;

I nakon par desetina sekundi došlo se do konačnog rezultata:

mysql> delete master_domains.* from master_domains 
left join result_domains_frontend 
on master_domains.id=result_domains_frontend.master_id 
where result_domains_frontend.master_id is null ;
Query OK, 270558 rows affected (46.58 sec)
mysql>