[ oprez, poduza poruka u malo mozda agresivnijem stilu, ali sasvim
dobronamjerna i NHF ]

On Tue, Sep 29, 2009 at 12:32:08PM +0000, Valent Turkovic wrote:
> On Mon, 28 Sep 2009 14:31:10 +0200, Matija Nalis wrote:
> 
> > "These scripts do not have safety nets. Be sure that you feel confident
> > to fix anything you might break. If you do not know your PUTs from your
> > GETs, if you do not know the details of API 0.6, or know what changesets
> > are and how they work, then DO NOT USE THIS SOFTWARE"
> > Znas li detalje 0.6 APIa ? Odgovor na ovo pitanje je bojim se NE i vidi
> > se iz ovoga sto si poslao. Evo ti samo (ne predirektni) hint zasto:
> 
> Znam sto su changeseti, no priznajem API-ja se nisam dotakao, nisam imao 
> potrebe do sada. Niti ne vidim da bih morao znati za konkretnu primjenu 
> uvih skripti. Svakako bi detalje trebali API-ja znato oni koji prave 
> skriptu, no zasto bih to morali no ne vidim zasto bi morali i svi kojima 
> je ona potrebna? Vjerovatno nesto ne shvacam, pa mi molim te pojasni.

Pa zato jer ti je to napisao autor scripti VELIKIM SLOVIMA, a za kojeg je
evidentno (samim tim sto je napisao scripte) da ima dosta bolje razumijevanje 
o cijeloj prici od tebe ili mene. Kuzis, dok te kao klinca tata lupi po ruci i 
kaze "pec-pec!" dok krenes prstima u uticnicu onda to prihvatis kao cinjenicu 
da on bolje zna pa ne guras prste unutra dok ne narastes dovoljno da skuzis 
tocno o cemu je problem sa tim interesantnim rupama. 

Ili kad su ti rekli da prelazis cestu samo kad svjetli zeleno svjetlo.
Mislim, gdje je tu logika, kakve veze ima boja neke zarulje sa tim kaj ti
zelis prijeci preko ceste da kupis sladoled ? Tebi se sladoled jede SAD bez
obzira na boju glupog svjetla :-)

Ako ne razumijes zasto, onda postuj sto kazu pametniji (mislim na autora, ne
na sebe, toliko me ego jos ne puca :), i biti ce u pravilu puno manje suza !

> > http://wiki.openstreetmap.org/wiki/API_v0.6/Crowd_sourced_Testing Ako ti
> > treba jos veci hint = ne samo raditi copy/paste bez razumijevanja u svoj
> > ~/.osmtoolsrc ! To je sto se tice prvog problema.
> 
> Priznajem, ovo sam napamet napravio, evo sadrzaja koji sam unio, ali 
> prema uputama su,nadam se, ispravne.

Upute su ispravne. Tj. ispravne su za ono za sto pocetnik (pocetnik za te
scripte, ne newbie opcenito) treba napraviti sa skriptama. Problem je jedino
sto se ti zaljeces grlom u jagode umjesto da krenes uciti putem kojim je
autor zamislio, a to je da testiras na testnim podacima (a sto je BTW jedini
ispravni put, vise o tome nize, a to ces nadam se prihvatiti i sam).

> username=Valent Turkovic
> password=tajna
> apiurl=http://api06.dev.openstreetmap.org/api/0.6/
> instance=00ffffffff
> 
> Ne bih se cudio ni da username mora biti bez razmaka ili nesto slicno. Da 

To je mozda i sesta greska :) - nisam gledao (ja nemam taj specificni issue).

> li mi je apiurl ispravan? Priznajem da mi ovaj dio nije najjasniji, cak 
> ni nakon sto sam procitao wiki. Da li se api06. uopce moze koristiti za 
> "pravo" uredjivanje ili je samo za testiranje i sto god na njemu napravim 
> nema opasnosti da se zbrljaju pravi podatci u OSM bazi? Takodjer, ako sam 

Pa koliko precizniji mora biti URL (naglasavanja moja) ?
http://wiki.openstreetmap.org/wiki/API_v0.6/Crowd_sourced_Testing

"There are public API v0.6 servers running for *TESTING PURPOSES*. The aim
is for every tool that uses the API to be able to be *TESTED AGAINST THESE
SERVERS* to make sure that it is still working, or that it is fixed."

"http://api06.dev.openstreetmap.org/ started with a *BLANK* Postgres db"

"Their database *MAY BE WIPED* to fix problems"

Da, ako se vec treba crtati, radi se zaista o API instanci za *testiranje*.
Naravno da ces testirati prvo na *testnim podacima*, a ne pokretati
destruktivnu i nikad prije isprobanu scriptu na produkcijskim podacima,
pobogu! Tek jednom kada na testnoj instanci APIa izvjezbas BAREM jedno 10-20
razlicitih undoova i sl. i uvjeris se da rade tocno onako kako zelis i kako
smatras da bi trebali raditi, tek ces onda eventualno razmisliti pokusati
takvo sto izvesti na produkcijskoj bazi!

A ne uzeti bazuku s police (cak i ako ti je netko pokazao gdje stoji), i
onda ju okrenutu u smjeru za koji ti se cini ok (iako je drzis okrenutu
naopacke) poceti isprobavati stiskati razne gumbice i povlaciti razlicite
polugice na njoj :-)

> > Drugo, niti dio sa "know what changesets are and how they work" nije bas
> > sjeo, sto je isto jasno vidljivo iz ovoga sto si poslao.
> 
> Hm, moguce, evo kako shvacam changesete pa me molim te ispravi gdje 
> grijesim. 
> 
> Svaka promjena, ili vise njih, koju pojedini korisnik napravi se vodi pod 
> unikatnim brojem i njega se zove changeset. Konkretno u ovom slucaju se 
> radilo o changesetu 2642489 [1] koji je samo jednu akciju, brisanje 
> pizzerie AS.

Taj dio je tocan, i zato sam i rekao samo blago "da ti nije bas sjelo" a ne
da "nemas blagog pojma sto changeset je" :-) Vidi nize zasto.

> Trivijalno je na mjest gdje je prije bila dodati tocku, amenity i name no 
> bas zato sto je jednostavam primjer vidio sam dobru priliku za nauciti 
> kako "krpati" pogreske za drugima ili ako se netko krene praviti pametan 
> te krene brisati podatke.

Mozda bi ipak igranje i isprobavanje trebao isprobavati na *testnoj* istanci
(kao sto ti je i developer scripti lijepo napisao i naveo u primjeru) ? Pa
tek kada si barem umjereno siguran da znas sto radis probati to na pravim
produkcijskim podacima koje koristi jos pokoji milijuncic ljudi osim tebe ?

> Dakle ja sam samo htio ponistiti changeset 2642489 i to za tocku 
> 454975881.
> 
> Prema uputama undo i undelete skripti, dosta je jasno kako bi to trebalo 
> biti.

Mozda ipak bolje da te prestanem navoditi prema rjesenju prije nego dovodem
do toga da zaista uspjesno pokrenes skripte :)

Stvari koje su "dosta jasne", a koje zapravo ne razumijes (pa ih pokreces
krivo), su znacajno opasnije od onih za koje priznas da bas ne kuzis...

> usage: ./undo.pl <node|way|relation> <id> <username|changeset> <changeset>
> usage: ./undelete.pl <node|way|relation> <id> <changeset>
> 
> > Pa pogledaj barem koje sve scripte taj direktorij sadrzi i njihov help
> > ako vec nista drugo ! To je bar samo par minuta posla.
> 
> Mozda nisam napisao, ali sam pogledao sve skripte i dobro proucio upute, 

Jesi li ? Ima ih 5, zar ne ? Mozes li mi reci sto svaka od njih radi ?
Probaj.

Pitam, zasto sto bi kada ih ZAISTA pogledas i kada odgovoris na pitanje
gore, te procitas helpove scripti do kraja (a ne samo prvi "usage:" redak),
bi ti se trebalo samo od sebe ukazati i koji je drugi problem, i koji je
bio gore spomenuti nedostatak u razumijevanju changeseta i njegove upotrebe.

> > tih scripti - ne radi nekog elitizma, nego radi sigurnosti javnosti
> > [pada mi na pamet onaj Linusov quote sa "giving rabbits a bazooka"
> > usporedbom]).
> 
> WTF? Pa ponata je da imamo alate koje mozemo koristiti za ono za sto su i 
> namjenjeni. 

Alati su namjenjeni za masovno unistenje i masovne izmjene podataka.

Zelis li da svaki newbie ima GUI interface sa nacrtanom nuklearnom bombicom
klik na kojega ce unistiti hrpetinu podataka u OSMu ako se klikne na njega ?
Ja NE zelim. I ne samo radi zlonamjernih/iznerviranih osoba. Nego pogotovo
zbog onih kojima je "sasvim logicno" (a opet, sasvim krivo) cemu taj gumbic
sluzi.

> AKo netko dodje i krene brljati po podacima trebam imati alat za ispravke,
> trenutno su to jedino ove skripte. Zato uopce pisati nepotpune ili netocne
> upute?!?

Upute su tocne, no ti si ih krivo shvatio. Nepotpunost koja u njima postoji
je iz "safety" razloga da sprijeci korisnike koji nisu shvatili da u rukama
imaju pravi mitraljez da ga otkoce dok ne shvate barem okvirno sto imaju u
rukama i kako se to koristi i sto su corci i prema kuda ga trebaju usmjeriti
kada ga isprobavaju.

> Jasno da mislim s odgovornoscu koristiti skripte. Trenutno ne vidim razlog
> zasto si digao toliku paniku, nije da sam uz ovo pitanje imao napisanu

Meni je jasno da ti "mislis" napraviti nesto korisno a ne zlo, no ono sto se
u stvarnosti dogadja je da radis stvari koje zapravo "nisi zamislio" a sve
radi nerazumijevanja toga sto i kako radis. Srecom su (namjerno) nepotpuni
podaci napraviti da to budu samo neuspjesno pokretanje scripti a ne realna
steta.

Ako uspjevas possible-mass-destruction scripte pokretati sa 3-6 (jury is
still out :) krivih parametara (krivih u smislu da bi trebali biti drugaciji
da postignes rezultat koji zelis postici) i jos *uz* te greske ispustis par
dodatnih neophodnih koraka (neophodnih u smislu da bi ih trebao napraviti da
postignes rezultat koji zelis postoci) onda je meni to prilicno dobar
indikator da je mozda za world at large bolje da NE koristis te scripte.
Bez obzira sto imas dobre namjere (znas onu narodnu sa highway=hell,
surface=good_intentions)

> skriput koja ce unositi random changesete i brisati ih ;) Ipak razumijem
> tvoje stajaliste i slazem se da treba biti vrlo oprezan s mocnim alatima,
> no na kraju ipak svatko odgovara sam za ono sto napravi.

Naravno da na kraju ipak svako odgovara sam za ono sto napravi, no ja i
dalje ne podrzavam prodaju automatskog i WMD oruzja u svakoj trafiki. Iako
je ocito da bi ti ljudi na kraju sami odgovorali za sve sto s njima naprave
(barem moralno, ako vec ne i kazneno).

> > krivo shvatio jedan od parametara. "sudo rm -rf / nesto" je mala beba
> > prema njima. Ako nisi siguran sto, kako, i tocno na koji nacin rade to
> 
> Imamo cijeli history ovdje, vidi se kada sam ju stavio, kada ju je mferko 
> obrisala te kada si ju ti vratio. Changeseti u pitanju su: 2023131, 
> 2642489 i 2663056. Dakle cijeli history je tu i imamo backup. Po meni je 
> to daleko bezopasnije od rm -rf, ili kao rm -rf ali na file sistemu koji 
> prati verzije svih fileova pa se daju vratiti (nesto tipa novela).

Zato jer je ovo totalno trivijalan primjer, koji je sretno prosao. U imalo
drugacijoj situaciji dogoditi ce se puno vjerojatnije:

1) ti (ili tkogod) ces unistiti neki bitni changeset, jer ne znas koristiti
   scripte

2) vrijeme prolazi, i ti (ili tkogod) ne znas popraviti problem (jer da ga
   znas sam popraviti, (1) se ne bi niti dogodio). Dok ti trazis pomoc da
   undoa tvoje undove, drugi ljudi ce krenuti rucno popravljati stvari koje
   vide strgane na mapi. (jer ne znaju da si ih ti strgao krivim pokretanjem
   scripte i da radis na tome da nadjes nekoga tko ce to popraviti
   automatski)

3) dok ti nadjes nekoga tko moze undoati tvoj charset, undoanje istog bi vec
   mozda proizvelo hrpu conflikata, dakle treba pofiksati te konflikte (i
   konflikte koji fiksanje takvih konflikata dovodi u konflikte), a koji
   nece nuzno biti slozeni u lijepe changesete koji se ticu samo tvoje
   greske, nego pomijesani sa drugim nezavisnim izmjenama, pa tek onda
   pristupiti undoanju tvog changeseta.

4) cak i kada se stvari rucno popikaju koliko mogu, neke ce stvari
   vjerojatno ostati strgane.

dok napravis "rm -rf" sve sto trebas je vratiti podatke sa zadnjeg backupa,
izgubivsi samo zadnjih par sati svog rada (a ono gore u OSMu moze biti
znacajno kompliciranije, duze i bolnije, uz ucesce puno vise ljudi, i sa
puno manje sigurnim rezultatima za razliku od vracanja s backupa).

Conflict solving/merging je nesto sa cim se SCM alati bore godinama, i nema
savrsenih (cak niti dosta dobrih) rjesenja. Relacijske baze su tu nesto
bolje, ali i tamo to funkcionira *samo* dok ne commitas transakciju (OSM
ekvivalent bi bio "zatvoris changeset").

> > sto rade, nemoj ih niti pokusavati koristiti. Radije ponovo rucno ukucaj
> > tih par nodeova copy/pasteajuci iz historya, ili ukoliko se radi o
> > ogromnoj kolicini pingaj na listi da netko tko je sigurniji popravi
> > problem.
> 
> Ok, nemam problema s time ako se ti javljas da ces ti biti dezuran OSM 
> policajac za povrat podataka ili brisanje krivo unesenih. Mogli bi 

Ako sam zaista jedini koji moze skuziti kako te scripte rade, prihvatiti cu
i taj kriz. Ali sam siguran da ima preko nekoliko ljudi koji ih znaju
koristiti bolje od mene (i jos bitnije: implikacije koje one nose sa sobom),
vjerojatno i u HR prostoru (ali fizicka lokacija bar za pokretanje scripti
nije problem).

Mislim da je najbolje kako je napisano u uputama na wikiju: kada se pojavi
neki takav problem (a da nije trivijalniji za rucno ispraviti) nakon
kontaktiranja korisnika neka se fino detaljno iznese problem na mailing
listu, predlozi sto bi trebalo napraviti, i ako nema nekih prituzbi i
nejasnoca da se javi netko tko ce to napraviti (sto mogu biti i ja, ili
netko drugi [dapace], ili moze biti forwardano na vanjske liste ako nikog
nema), i ukoliko onaj tko se javio ne vidi da je netko drugi to krenuo
raditi (poslao "budem ja" na listu u istom trenu kad i ovaj, ili ako vidi
bitne izmjene na podrucju o kojem se radi) za pola sata onda to i napravi.
Bez raprave na listi mislim da bi se te i takve scripte ne bi trebale
pokretati. Bez obzira koliko netko bio siguran u sebe.

> napraviti i OSM Police znacke ako treba ;)

Ja bi jaknu ! :)

> Ako ne onda bih htio nauciti pa da sam to radim kada treba ili kada me 
> drugi zamole.

Pa ako hoces nauciti, uci, imas source, imas dokumentaciju APIa, imas
navedeni API za isprobavanja - ne trebam ti ja niti nitko drugi :-)

> > Sorry ako sam zazvucao ostro, ali hvata me jeza od olako koristenih
> > automatizirajucih toolova. Vidim jasno buducnost - jednog dana ce tako
> 
> He he, razumijem te ;) Bas zato sam vjezbao na malome changesetu, gdje je 
> u pitanju samo jedna tocka te i mogucnost greske minimalna.

Da ponovim jos jednom - iznimno cijenim entuzijazam i trud koji ulazes !
Samo sam misljenja da do nekih stvari covjek sam mora doci da bi ih znao
ispravno koristiti (pogotovo kada su dovoljno potencijalno destruktivne), 
pa ti stoga ipak necu dati copy/paste konfiguracije i linija koje rade :)

A i vrijeme je da polako pocnem gundjati "da danasnja mladez samo juri okolo
k'o muhe bez glave bez imalo opreza" ili nesto slicno :-))

-- 
Opinions above are GNU-copylefted.

_______________________________________________
Talk-hr mailing list
Talk-hr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-hr

Reply via email to