Zdravo Dušane i hvala na detaljnoj analizi. :)

Naravno, posao deluje zanimljivo i korisno, a svakako i reference.
Ako možeš da ih povežeš bolje sa našima, lepo bi bilo da pomogneš svojim kolegama preporukama, a indirektno i dobrim studentima koje ni ne znaš.

Ono što bih dodao kao mišljenje iz svog skromnog iskustva je:
1) Što se tiče okruženja, i očekivao bih da bude tako dobro u CERN-u. Meni je uglavnom bilo, barem naizgled. Što više vremena provedeš, shvatićeš da su i tamo ljudi - zeza se, ali i podmeće, nadmeće, koči, itd. Meni je u Google bilo super, ali nekima je to posao i ne sviđa im se sve. U UK mi je bilo super, ali su međuljudski odnosi gori nego što bi se u Srbiji očekivalo. U Nemačkoj su bili striktni, ali je meni bilo super - nije me kačila njihova politika zapošljavanja, gde očiglednu prednost imaju Nemci. U Italiji je divljina, pa oni na vrhu imaju odrešenije ruke na račun onih na dnu.
2) Ako pretpostavimo da su ti glavni motiv za odlazak posao i novac, za očekivati je da i ovde ne budeš gladan, a da ti posao u svakom slučaju postane posao - nešto što radiš za pare, pri čemu deo posla voliš.
3.1) Ako neko vreme radiš kod njih, pa se vratiš, referenca će ti biti super i za očekivati je da ćeš imati bolju polaznu tačku za traženje dobrog posla, pogotovo ako te bude interesovalo zaposlenje u inostranstvu.
3.2) Sa druge strane, ako ostaneš u Srbiji, nakon istog tog vremena ćeš već imati dobar posao. :)
4.1) Ako odeš sa devojkom, može vam biti super što ćete uživati u prednostima, bez preterano osvrtanje na mane. Naime, kako tvoje kolege počnu da završavaju fakultet, sve manje će imati vremena za druženja. Mi smo tako sa fudbala prešli na odbojku, pošto su i devojke mogle da igraju. Ubrzo nakon toga, ljudi postaju toliko okupirani poslovima i novim privatnim životima, da se ne viđaju toliko sa društvom sa fakulteta. Nakon što dobiju porodice, ne viđaju nikoga, osim rodbine i eventualno one kojima su deca otprilike istog godišta i žive blizu (nezavisno da li su društvo sa fakluteta ili ne). Drugim rečima, drugarstvo je precenjeno! :D Šalim se, naravno! Ali vreme koje se provodi sa društvom se bitno (eksponencijalno) smanjuje od trenutka diplomiranja.
4.2) Ako odeš bez devojke i kreneš da radiš po ceo dan da bi se dokazao, a devojke-nacionalistkinje traže Švajcarce koji već imaju pare i po mogućstvu što manje diploma i posla,... Vidiš i sam gde priča ide. :D Posle nekog vremena se čovek navikne/ustali, šta god radio i ono što ti sad deluje kao vreme u koje bi nešto promenio u slučaju da ne valja (npr. godinu) se lako rastegne na 5 ili 10 puta duži period.
5) Ako gubiš vreme bavljenjem problematikom ići/ne, ostale stvari za to vreme prolaze pored tebe. Drugim rečima, ako ti se ide, što pre, pa makar se za godinu vratio sa iskustvom, parama, i odloženim životom u Srbiji za godinu, umesto da 10 godina vagaš da li da odeš. :)
6) Raditi online postaje sve popularnije. Iz iskustva kolega, posle deceniju-dve u inostranstvu većina i dalje čeka priliku da se otvori predstavništvo u Srbiji (nekad po 10 godina, od čega 70-80% na 10k km od žene i ćerke) - veliki sistemi su intertni i ne treba odlagati život čekajući promene.

Srećno!
Nenad

On Sat, Oct 8, 2022 at 7:44 PM Dusan Cvijetic <dusancvijetic2000@gmail.com> wrote:

Pozdrav,

Izvinjavam se zbog kasnog odgovaranja. Želeo sam tokom prethodne nedelje da namestim dual boot konfiguraciju, da bih mogao da koristim i Linux, pa sam odlagao da započnem sa radom i odgovaram na mejlove dok to ne uradim. Međutim, čini se da ću morati da ostanem samo na Windows-u još neko vreme.

CERN je bio sjajno iskustvo. Radio sam na razvoju VecGeom biblioteke za simulaciju geometrije detektora čestica. Na kraju borvka sam napisao i izveštaj, u kome možete naći i više detalja o mom delu posla.

U suštini, simuliraju sudare čestica sa raznim strukturama. Taj posao zahteva vrlo mnogo resursa i vremena, pa pokušavaju da paralelizuju sva izračunavanja koliko god mogu. Trenutno se trude da to postignu tako što će prilagoditi svoj kod radu na GPU. Da bi simulirali razne oblike, ranije su koristili zapreminske modele (simulirali bi ceo cilindar, kocku, nepravilno telo kao jedinstvenu strukturu), međutim oni izazivaju dosta divergencije u paralelnom radu. Zato sad prevode ove zapreminske modele u površinske, gde će svako telo razložiti na više manjih površina. To bi trebalo da pojednostavi jednačine koje se rešavaju i smanji divergenciju pri pokretanju koda na GPU.

Što se samog CERN-a tiče, mesto je prelepo. Kompleks je ogroman, i potrebno je više od pola sata da se prešeta "naselje" u kome sam ja bio. Postoji više takvih "naselja" koja su raspoređena širom akceleratorskog prstena, i za njihov obilazak bili bi potrebni sati. Priroda oko laboratorija je predivna, negovana i čista. U daljini se, preko planina, može videti i Mont Blanc kada je vreme lepo. Zanimljivo mi je bilo što plaćaju pastirima da dovedu ovce do laboratorija i pasu travu po CERN-u, da ne bi morali mašinski da kose travu.

Ljudi tamo su me oduševili. Moj mentor je bio izuzetno posvećen i ažuran, i mnogo sam naučio od njega. Iznenadilo me je koliku mi je autonomiju u radu dao, nije mi postavio bilo kakva ograničenja - samo generalni cilj ka kome treba da idem. U početku mi je ovo bilo čudno, ali sam se vremenom navikao i dosta oslobodio u programiranju.

Imao sam odlično društvo, kako iz komšijskih zemalja, tako i iz dalekog inostranstva. Zaista je bilo uživanje provoditi vreme sa tim ljudima, svim visoko motivisanim, vrednim i sposobnim, a opet uvek spremnim za dobar provod. I stariji su, takođe, bili jako interesantni. Desilo se da mi, tokom prezentacije mog projekta, jedan čovek postavi pitanje za typesafe alternativu za switch strukturu u C++. Uvek sam mislio da dobro i detaljno poznajem C++, no njegovo pitanje uopšte nisam ni razumeo, pa je moj mentor odgovorio umesto mene. Ispostavilo se da je čovek koji je postavio pitanje u timu za postavljanje standarda C++ i da me je pitao za nešto što su u jezik ubacili u poslednjoj verziji. Desilo mi se prvo u Petnici, pa na fakultetu, a najskorije u CERN-u, da me oduševi količina znanja koju ljudi oko mene imaju.

Sve su šanse da ću ponovo otići u CERN sledećeg leta, pošto mi je menor ponudio da se opet vratim. Trenutno mi se ne sviđa ideja da tamo živim i radim za stalno. Švajcarska je, iako prelepa, prilično sterilna, i mnogo su mi draži ljudi koje znam u Srbiji. Ipak, biće mi drago ako nastavim tamo da radim po par meseci godišnje.

Hteo sam da se ponovo zahvalim što ste me primili na ovaj projekat. Jako mi je zabavno da radim naučno programiranje. Mentor mi je rekao da me je pozvao jer je video da sam radio na QGHG, tako da bez rada na Institutu ne bih imao priliku da vidim ni CERN.

Pozdravi,
Dušan


On 27-Sep-22 8:26 PM, Marko Vojinovic wrote:

Pozdrav Dusane i Nenade (i ostali),

Evo tekuceg statusa koji zadaci su uradjeni a koji nisu:

1-5:   done
6:     in progress
7:     done
8:     to do
9:     in progress
10:    done (for the moment)
11-13: done
14:    to do
15-23: to do
24:    to do
25-32: to do

Formulacije svih zadataka imate na arhivi mailing liste [1,2,3].

Neki zadaci su reseni, Jaroslav privodi kraju kostur za gui (zadaci 6 i 9), a neresene zadatke mozemo da grupisemo u dva "paketa" zadataka, i tri samostalna zadatka:

 * Paket 15-23 je posvecen Pachner-ovim potezima (u D=2,3,4). Zadatke za Pachner-a za proizvoljno D nisam jos precizno formulisao --- imamo samo one fotke sa table kada sam Nenadu objasnjavao konceptualno kako radi Pachner u proizvoljnoj dimenziji (treba da ih posaljem na listu), ali to sve je skica, treba bolje i preciznije da se formulisu ti zadaci.

 * Paket 25-32 je posvecen crtanju kompleksa na ekran, i implementaciju svega toga uskoro treba da uradimo jer je Jaroslav maltene pri kraju sa konstrukcijom kostura za gui i uskoro ce doci vreme da se taj kostur "popuni mesom", tj. rutinama iz biblioteke i da pocne zaista da "radi" (Jaroslav je namestio maltene svu funkcionalnost elemenata gui-ja, ali se jos uvek ne radi nista sa bibliotekom tj. realnim podacima).

  * Tri "samostalna" zadatka su --- 8 (ucitavanje kompleksa iz fajla), 14 (kacenje novog simpleksa na granicu postojeceg kompleksa), i 24 (dodavanje topology parametra u SimpComp klasu). Ova tri zadatka vec duze vreme cekaju na resavanje, a nisu deo neke vece grupacije zadataka.

Moj predlog za Dusana je da proba da uradi prvo ova tri samostalna zadatka, 8, 14 i 24, za zagrevanje. Posto je vec svojevremeno lepo uradio zadatak 7 (snimanje kompleksa u fajl), zadatak 8 je prirodno vezan za istu tu temu, a 14 i 24 su nezavisni od onih paketa, i mogu da posluze kao dobro zagrevanje za pakete.

Zatim je ideja da se i Dusan i Nenad koncentrisu na resavanje dva paketa, jer to u principu treba da imamo gotovo kad budemo krenuli da povezemo biblioteku sa gui-jem. Neki okvirni plan je da gui "progleda" do kraja godine, a gornja dva paketa zadataka nisu mali posao, pa imajte to na umu.

To je otprilike presek dokle smo stigli i sta nas jos ceka za ovu godinu.

Naravno, ne zelim da vam ja pravim raspored ko ce sta da radi, svako neka uzme sta mu je zanimljivo, ali ovo gore je neka prirodna podela zadataka po smislu, pa imajte to u vidu.

Btw, Dusane, sta se desilo sa tvojim kolegom Nikolom, jel' on jos tu, i jel' zainteresovan da ucestvuje u ovome, ili ne? I drugo, kako je bilo u CERN-u, kakvi su ti utisci? Mozes da sastavis jedan e-mail za nas ostale, da nam prepricas sta si tamo radio, kako sta i na kom nivou rade programeri tamo, i generalno sta si pokupio od znanja i iskustva odande... Mislim da bi nas sve zanimalo da cujemo o tome, pa 'ajde sastavi neki neformalni report o svom boravku u CERN-u, i posalji ga na listu... ;-)

:-)
Marko

[1] http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/2022-February/date.html
[2] http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/2022-March/date.html
[3] http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/2022-April/date.html


Dr. Marko Vojinovic
Group for Gravitation, Particles and Fields
Institute of Physics
University of Belgrade
======================
home page: www.markovojinovic.com
e-mail:    vmarko@ipb.ac.rs



On Mon, 26 Sep 2022, Nenad Korolija wrote:

Zdravo Dušane,

Odlično!
Ovaj zadatak je urađen.
Možeš da baciš pogled na 4 funkcije:
collect_vertices sakuplja vertices u set<KVertex*>.
// Finds a k-simplex with given vertices, if exists:
KSimplex* SimpComp::find_vertices(set<KSimplex*> &s){
build_simplex_one_level_up
seed_single_simplex_or_sphere (generalna).

Za još dosta zadataka imam ideju kako ih rešiti (prodiskutovane sa Markom), pa ako se odlučiš za neki, možemo da budemo na vezi (najverovatnije će nam se ideje preklapati) kako bi svi
ispratili šta kako radimo, jer nam to može značiti za dalje.

Marko, možda bi bilo previše, mada najkorisnije, da radi generalni Pachner-ov potez? Ali ako pređe par zadataka, verovatno će biti uhodan u strukture i funkcije koje već postoje na
raspolaganju.

Pozdrav,
Nenad

On Mon, Sep 26, 2022 at 6:12 PM Dusan Cvijetic <dusancvijetic2000@gmail.com> wrote:
      Pozdrav svima,

      Završene su mi obaveze, pa bih preuzeo sad ovaj zadatak da radim.
      Potvrdite mi samo da ovo nije već odrađeno.

      Pozdravi,
      Dušan

      On 11-Feb-22 10:44 PM, Marko Vojinovic wrote:
      >
      > Implementirati seed f-ju za jedan D-simpleks (za proizvoljnu dimenziju
      > D):
      >
      >   SimpComp* seed_single_simplex( int D );
      >
      >   Input: dimenzija D (pozitivan ceo broj).
      >   Output: pointer na instancirani simplicijalni kompleks koji se
      > sastoji od jednog D-simpleksa.
      >
      > Ova f-ja predstavlja opsti slucaj f-ja seed_single_edge(),
      > seed_single_triangle() i seed_single_tetrahedron(), koje rade isti
      > posao za D=1,2,3. Postupak i ovde ide u tri glavna koraka:
      >
      > (1) Instancirati nov simplicijalni kompleks zadate dimenzije D i
      > metodom create_ksimplex() kreirati simplekse svih nivoa od k=0 do k=D.
      > Broj simpleksa datog nivoa k je jednak "D+1 nad k+1" (broj kombinacija
      > k+1-vog reda od D+1 elemenata), tj. (D+1)! / ( (k+1)! (D-k)! ).
      > Specijalno, ukupan broj verteksa (k=0) je D+1.
      >
      > (2) Popuniti podklasu neighbors svakog simpleksa pointerima na njegove
      > susede, koristeci add_neighbor(). Za slucaj proizvoljnog D-simpleksa
      > ne mozemo da se oslonimo na sliku, vec se mora implementirati
      > algoritam za prepoznavanje suseda (vidi nize).
      >
      > (3) Simpleksima nivoa k = D-1 dodeliti boju boundary, i za svaki
      > simpleks zadati vrednost boje na true.
      >
      > Algoritam za odredjivanje da li je dati n-simpleks podsused datog
      > k-simpleksa se realizuje na sledeci nacin:
      >
      > (2.1) Prvo se za svaki k-simpleks (k>0) zadaju njegovi susedi nivoa
      > k=0 (verteksi). Posto u celom kompleksu imamo tacno D+1 verteksa,
      > svaki k-simpleks ima tacno "D+1 nad k+1" razlicitih verteksa, po
      > definiciji D-simpleksa. Drugim recima, treba birati redom svaku
      > kombinaciju k+1-ve klase od D+1 verteksa, i dodeljivati ih kao susede
      > nivoa k=0 redom svakom k-simpleksu (jedna kombinacija u jedan
      > k-simpleks, tako da ne postoje dva k-simpleksa sa istim skupom 0-suseda).
      >
      > (2.2) Kada je korak (2.1) zavrsen, mozemo da odgovorimo na pitanje da
      > li je dati n-simpleks podsused datog k-simpleksa (n<k), tako sto
      > proverimo da li su svi 0-susedi n-simpleksa istovremeno i 0-susedi
      > k-simpleksa. Ako jesu, onda je n-simpleks podsused k-simpleksa, a ako
      > postoji makar jedan verteks koji pripada n-simpleksu a ne pripada
      > k-simpleksu, onda nije podsused.
      >
      > Koristeci kriterijum (2.2), za dati k-simpleks prodjemo kroz sve
      > n-simplekse 0<n<k, i one koji ispune kriterijum stavimo u pod-susede
      > k-simpleksa nivoa n, i takodje u n-simpleks stavimo k-simpleks kao
      > nad-sused nivoa k. Ovo ponoviti za sve k-simplekse 1<k<=D.
      >
      >
      > :-)
      > Marko
      >
      >
      > Dr. Marko Vojinovic
      > Group for Gravitation, Particles and Fields
      > Institute of Physics
      > University of Belgrade
      > ======================
      > home page: www.markovojinovic.com
      > e-mail:    vmarko@ipb.ac.rs
      >
      >
      --
      QGHG-it-dev-list mailing list
      QGHG-it-dev-list@ipb.ac.rs
      http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list




--
QGHG-it-dev-list mailing list
QGHG-it-dev-list@ipb.ac.rs
http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list