Chat History with pozdrav! (#ferewuz/$6133e97351b8910a)

Created on 2011-01-26 22:15:18.

2011-01-26

Vanč Levstik: 20:10:11
pozdrav!
Vanč Levstik: 20:10:15
smo tukaj?
Aleksander Bešir: 20:10:36
smo
David Božjak: 20:10:47
smo
Janez Barbic: 20:10:49
živjo
Vanč Levstik: 20:11:06
aha super
Vanč Levstik: 20:11:12
samo še profesor manjka torej
David Božjak: 20:11:31
v vednost in ravnanje: jaz še jem, tako da bi se za kakšnim par minut še vzdržal voice chata
David Božjak: 20:11:36
če se ne bomo tipkali
Vanč Levstik: 20:11:51
hehe ni problem
Janez Barbic: 20:11:54
np
Vanč Levstik: 20:11:54
sej lahko se kr tipkamo
Aleksander Bešir: 20:11:57
jaz sem za tipkanje :D
Janez Barbic: 20:12:06
čakamo profesorja itk :)
Janez Barbic: 20:15:05
aha sem našu težavo, environmental variables ne refresha
Janez Barbic: 20:15:20
oziroma reverta dokler ne rebootaš očitno
Janez Barbic: 20:15:23
sux
Janez Barbic: 20:15:25
Čo
Aleksander Bešir: 20:16:00
aja, na kartici to
Janez Barbic: 20:16:16
ne, Ubuntu
Vanč Levstik: 20:16:46
aha
Vanč Levstik: 20:16:49
morš nekje drugje nastavt
Vanč Levstik: 20:16:51
pa se ohrani
Vanč Levstik: 20:17:00
sam se ne spomnem napamet zdj kako :)
Janez Barbic: 20:18:07
Alex zdej lavfa gor tvoja verzija
Aleksander Bešir: 20:19:06
super, hvala, bom takoj testiral hci <--> logic povezavo ;)
Janez Barbic: 20:24:48
pa js bi bil ful vesel če bi Gašper malo skrajšal geslo :)
Janez Barbic: 20:25:04
ok, dajmo kr začet
Janez Barbic: 20:25:17
kaj že imamo in kaj je še v planu
Janez Barbic: 20:26:14
logika "zna" delat z merilnimi napravami in glede na odčitke reagira glede na scenarije
Janez Barbic: 20:26:21
deluje tudi na ARMu
Janez Barbic: 20:26:47
zna v narekovajih zato, ker so vhodni podatki trenutno generirani z random generatorjem
Janez Barbic: 20:27:10
pošilja tudi log sporočila loggerju za vse prejete meritve in izvedene akcije
Janez Barbic: 20:27:43
manjka še "daemonizacija" in pa dejanski klic programa pri izvajanju akcije
David Božjak: 20:28:08
če te smem samo prekiniti za skundo. a kod "zna" delati misliš da dejansko device manager pošilja "sporočila" random podatke, ali le te generira kar logika?
Janez Barbic: 20:28:19
logika
David Božjak: 20:28:30
aha, hvala
Janez Barbic: 20:28:49
tole bo treba predelat po mojem, nimam še ideje
Vanč Levstik: 20:29:02
neka simulacij adevice managerja ja
Janez Barbic: 20:29:19
kako pa bi logika in DM komunicirala?
David Božjak: 20:29:43
prof. je takrat predlagal z eno spremenljivko in semaforjem okoli
Aleksander Bešir: 20:30:11
to pomeni da bi morala logika pognati deviceManagerje kot svoje childe?
Vanč Levstik: 20:30:12
niso neki socketi bli tut predlagani?
David Božjak: 20:30:39
enako kot seminarska. le da bi blo (vsaj kakor jaz razumem) potreben po en semafor za vsak priklopljen device
David Božjak: 20:30:58
socket sem predlagal jaz za obratno komunikacijo, torej ko želi HMI zvedeti trenuten podatek
David Božjak: 20:31:08
ampak sem zraven napisal da se mi zdi to malo odveč
Janez Barbic: 20:31:19
aha to direktno od DMja
David Božjak: 20:31:35
da je pomoje dovolj da deamoni dovolj pogosto osvežujejo vrednost
David Božjak: 20:31:40
(ne samo takrat ko se spremeni)
David Božjak: 20:31:53
in potem se da kar to vrednost naprej
Aleksander Bešir: 20:32:02
aha, potem res ni treba socketov
David Božjak: 20:32:04
kot odgovor HMI-ju
Vanč Levstik: 20:32:34
aha štekam
Janez Barbic: 20:32:52
hmm, js si še nisem čisto na jasnem, zakaj bi rabili semafor
David Božjak: 20:32:54
to je napisano v wikiju na pod "note" na https://lusy.fri.uni-lj.si/redmine/projects/eneraptor/wiki/The_logic#Communication-with-the-device-managers
Janez Barbic: 20:33:12
ker nihče nikoli ne piše v buffer od merilne naprave razen naprave same
Janez Barbic: 20:33:21
za branje je pa vseeno kdaj se izvede
David Božjak: 20:33:36
ja to je res, ampak fora je bla v tem, da tako veš kdaj si dobil "event"
Janez Barbic: 20:33:51
ahaaa :)
David Božjak: 20:33:53
tko je to profesor razložil, jaz se drugače strinjam s tabo
David Božjak: 20:34:02
ni fora v tem, da bi mogu pazit na dostop v kritično območje
Janez Barbic: 20:34:24
ok, samo načeloma je frekvenca vpisovanja podatka v buffer full večja od frekvence branja
David Božjak: 20:34:36
amak event based je res ful bl ql, sam je pa tud teži napisat
Vanč Levstik: 20:34:48
v bistvu mi sami določmo kok pogosto preverjamo to vrednost a ni tko
Vanč Levstik: 20:34:52
pol niti nerabmo event based
David Božjak: 20:35:02
ja to bi šlo pomoje
Janez Barbic: 20:35:05
ok tole bi raziskal, je zanimiva ideja
David Božjak: 20:35:23
je res odvisno kok pogosto se piše
David Božjak: 20:35:44
takrat ko sem to pisal je bilo mišljeno da DM zapiše samo ko se vrednost spremeni
David Božjak: 20:35:56
zato je bilo event based (če se prav spomnim)
Vanč Levstik: 20:36:03
aha
Vanč Levstik: 20:36:26
sam mi bomo kle mel neko povprečje zadnjih "n" meritev
Vanč Levstik: 20:36:35
tko da se splača brat po neki določeni frekvenci
Janez Barbic: 20:36:43
ne, to je že zgodovina :)
Vanč Levstik: 20:36:47
aja ok :)
Janez Barbic: 20:37:00
imamo samo eno spremenljivko za buffer
Janez Barbic: 20:37:23
in nova se računa kot a*stara+(1-a)*nova
Janez Barbic: 20:38:13
potem syslog na ARMu
Vanč Levstik: 20:38:22
aha to je še treba rečt gašperju
Vanč Levstik: 20:38:31
da inštalira syslog-ng gor
Janez Barbic: 20:38:35
syslog-ng ne gre gor, bi ga moral probat compilat
Janez Barbic: 20:38:42
aha js govorim za ARM
Vanč Levstik: 20:38:44
js sm malo prebral
Vanč Levstik: 20:38:49
pa lahko maš syslogd na ARMu
Vanč Levstik: 20:38:58
pa potem syslog-ng na proxyju
Vanč Levstik: 20:39:04
pa komunicirata med sabo brez problema
Janez Barbic: 20:39:13
ja taka je ideja, sam treba nardit ;)
Janez Barbic: 20:39:32
proxy bom js nastavil, ni panike
Janez Barbic: 20:39:52
za arm si se pa ti Vanč javil če se ne motim :)
Vanč Levstik: 20:39:57
no sej samo da gašper potem naloži na proxy syslog-ng
Vanč Levstik: 20:40:02
pa bom potem jaz malo probaval na armu ja
Janez Barbic: 20:40:11
ok, ga bom pocukal za rokav
Janez Barbic: 20:40:38
potem pa še o izvajanju akcij
Janez Barbic: 20:41:00
Drugače kot s fork-exec ne gre, a ne?
Janez Barbic: 20:42:31
Mene samo nekaj tuki bega, če fork naredi kopijo celotnega programa, potem lahko vse skup postane preveliko za pomnilnik, ker bi načeloma moralo delat naenkrat veliko podprocesov
Janez Barbic: 20:43:05
ne vem če si jaz fork pravilno predstavljam sploh
Vanč Levstik: 20:43:28
hm naj bi blo tko nekako ja
Vanč Levstik: 20:43:37
maš pa še vfork
Aleksander Bešir: 20:43:38
samo exec pa ne, ane?
Vanč Levstik: 20:43:47
k si deli podatke z glavnim programom
Aleksander Bešir: 20:44:14
aha, že vem kaj si mislil
Janez Barbic: 20:44:15
ne, program vedno čaka exec da konča z delom
Vanč Levstik: 20:44:24
The vfork() function differs from fork() only in that the child process can share code and data with the calling process (parent process). This speeds cloning activity significantly, at a risk to the integrity of the parent process if vfork() is misused.
Janez Barbic: 20:45:04
vfork je riskanten, ker če se niti podvojijo bodo začele nove niti pisat po istih bufferjih kot stare
Janez Barbic: 20:45:56
sam zanima me, če je možno zagnat program brez da forkaš svoj proces, iz katerega si ga pognal
Janez Barbic: 20:46:09
oziroma kako bi to elegantno nardil
Janez Barbic: 20:46:31
če ne gre not fork-exec :)
David Božjak: 20:46:51
mislim da je to to, žal
Aleksander Bešir: 20:47:38
kaj pa ukaz system()?
Janez Barbic: 20:47:49
aha tega pa ne poznam
Aleksander Bešir: 20:47:55
to bi pognalo program iz lupine
Aleksander Bešir: 20:48:01
ne bi bil child logike
David Božjak: 20:48:12
sm mislu, da je samo v windowsih/dosu system
Aleksander Bešir: 20:48:17
hm, to pa ne vem
Janez Barbic: 20:48:32
http://en.wikipedia.org/wiki/System_(C_standard_library)
David Božjak: 20:48:37
očitno dela na enak način
David Božjak: 20:48:41
ja Janez, ravno to berem
Aleksander Bešir: 20:48:51
ja, je na linuxih ja
Janez Barbic: 20:48:54
jp, podoben ko exec
Aleksander Bešir: 20:49:03
samo da ne prekopira ničesar
Vanč Levstik: 20:49:26
zgleda v redu ja
Janez Barbic: 20:49:37
ok bom neki od tega porabil
Vanč Levstik: 20:49:53
čeprov pomoje tut fork exec bi dobro deloval
Vanč Levstik: 20:49:59
sej ko enkrat pride do exec
Vanč Levstik: 20:50:04
program porabi manj prostora takoj
David Božjak: 20:50:07
tuki bi blo res dobro profesorja vprašat za nasvet
Janez Barbic: 20:50:18
edino če gre system() v svoj thread
David Božjak: 20:50:35
glede na to da blocka klicujoč program dvomim
Aleksander Bešir: 20:50:41
ne blokira, ne
Aleksander Bešir: 20:50:55
to je kot da bi program odpru lupino, not vpisal ukaz in pritisnu enter
David Božjak: 20:50:58
kako ne: "system() executes a command specified in command by calling /bin/sh -c command, and returns after the command has been completed. "
David Božjak: 20:51:22
_returns after the command_ ? razen če je mišljeno samo klic?
Aleksander Bešir: 20:51:41
hm.. to me je pa zdej presenetlo
David Božjak: 20:51:54
http://linux.die.net/man/3/system
Janez Barbic: 20:52:03
ne vem, brezveze da ugibamo, bom js tole stestiral pa bomo vedl za sigurno :)
Janez Barbic: 20:52:12
je pa kul da imamo 2 opciji
David Božjak: 20:52:25
uf kaj boš testiral z implementacijo :) magar napiši profesorju mail...
Aleksander Bešir: 20:52:42
kot kaže system uporabi fork() za delovanje.. (piše v man-u)
Janez Barbic: 20:52:46
ah mali testni programček, da si razširim obzorja ;)
Aleksander Bešir: 20:52:47
tako da ni to nobena rešitev
Vanč Levstik: 20:52:55
glih to gledam ja:D
Vanč Levstik: 20:53:03
da je to v bistvu fork, exec
Aleksander Bešir: 20:53:10
grr
Aleksander Bešir: 20:53:13
Janez, moje znanje mini-xml-ja še ni zrelo kot kaže :) nekje sem zgleda naredil napako, tako da HCI zdej z zahtevki ubije logiko. :) čeprav se je v redu prevedlo, sem sigrno kje zamešal s pointerji.. cjoj
Janez Barbic: 20:53:26
hehe ok
Janez Barbic: 20:53:46
lol pa je res crknila
Janez Barbic: 20:53:55
ok not good :P
Aleksander Bešir: 20:54:02
ja, moram pogledat kje sem ga usijal
Janez Barbic: 20:54:11
kaj nas še čaka?
Janez Barbic: 20:54:30
kar se mene tiče so tole glavni problemi, ki jih je treba še rešit
Janez Barbic: 20:54:53
torej syslog, device manager(s) in fork-exec ob zagonu akcije
David Božjak: 20:55:44
potem je še doukmentacija (a to je taprava dokumentacija, specifikacija, kaj moramo dejansko oddati?) in predstavitev
Vanč Levstik: 20:55:53
ja
David Božjak: 20:55:53
sam to nekak ni isto poglavje
Aleksander Bešir: 20:55:56
moj raport:
- logika od sedaj zna izdelovati, risati in exportati statistične podatke. Te je možno sestaviti na zelo fleksibilen način.. Da ne razlagam, si lahko kar pogledate na http://www.polz.si:8080/eneraptor-web-app/
user / pass: test / test
Vanč Levstik: 20:56:04
predstavitev bo počas treba mal razmišlat
Vanč Levstik: 20:56:43
sem že zadnič enkrat malo gledal alex
Vanč Levstik: 20:56:45
super ja
David Božjak: 20:56:52
ja sploh za to ker moramo predstaviti tudi takrt ko ostali rpedstavljajo 6. dn
Vanč Levstik: 20:56:56
tisto zgoraj za prihranjeno energijo je tudi lepo narejeno
David Božjak: 20:57:04
dobro bi bilo vprašati če to predstavitev vzamemo kot trening za gor
Vanč Levstik: 20:57:11
ja js sm isto razmišlal
Janez Barbic: 20:57:16
hmm zakaj mi pa sedaj zateži za user in pass? :o
Aleksander Bešir: 20:57:30
test / test
Vanč Levstik: 20:57:49
hm nč, js se bom mogu poslovit zdj
David Božjak: 20:57:57
ja jst bom mogu tud kmal iti
Vanč Levstik: 20:57:58
bom pol še mal prebral log
Janez Barbic: 20:58:01
ok ajd :P
David Božjak: 20:58:07
ne sicer to minuto ampak
Vanč Levstik: 20:58:12
dejte še vprašat profesorja kakšna naj bo predstavitev prbližn
Vanč Levstik: 20:58:16
tko na kakem "nivoju"
Vanč Levstik: 20:58:19
zlo tehnična al kak
Vanč Levstik: 20:58:22
*kako
Janez Barbic: 20:58:22
aja vanč, random generator ;)
Vanč Levstik: 20:58:38
aha
Vanč Levstik: 20:58:46
nardim pol tisto sinusno kr kot sva rekla?
Janez Barbic: 20:58:49
ja
David Božjak: 20:58:52
u nice, ravno gledam graf za average per hour
Janez Barbic: 20:58:57
bo v Device Managerjih
Vanč Levstik: 20:59:13
ok
Vanč Levstik: 20:59:15
Vanč Levstik: 20:59:18
se slišmo
Vanč Levstik: 20:59:20
adijo
David Božjak: 20:59:21
ok, ajde
Aleksander Bešir: 20:59:24
čau ;)
Janez Barbic: 20:59:25
ajd
Aleksander Bešir: 21:00:09
hci-ju zdaj samo še manjkajo nefatalni zahtevki za logiko :)
Janez Barbic: 21:00:22
js imam drugač še par manjših zadev za dodelat
David Božjak: 21:00:25
hehe
David Božjak: 21:00:35
fatalne maš pokrite pol ? :)
Aleksander Bešir: 21:00:48
ja, te sem hitro spisal :)
Janez Barbic: 21:00:56
ja tile nefatalni zahtevki hci-ja, ti so lahko fatalni za logiko :P
Aleksander Bešir: 21:01:06
kot kaže :D
Janez Barbic: 21:01:43
moja ideja je, da bi lahko logika dinamično priklapljala in odklapljala merilne naprave, updatala/dodajala/odstranjevala scenarije
Aleksander Bešir: 21:01:48
nekoč sem že testiral kar tako, pa je blo ok, zdaj ko sem uporabil mini-xml pa ni več.. zagotovo sem tukaj nekaj za****
Janez Barbic: 21:02:16
a bi blo tole kar sem napisal smiselno?
Aleksander Bešir: 21:02:28
sej to je blo tudi v planu
Janez Barbic: 21:02:51
je, sam ni nujno pomembno
David Božjak: 21:03:04
Janez pomoje je super tako kot sva se pogovarjala... torej da dinamično samo s strani hmija, configuration file pa prebereš samo 1x ob startupu
David Božjak: 21:03:20
če pa hmi naredi kakšne spremembe pa to zabeležiš tudi v configuration file
Janez Barbic: 21:03:27
najslabša varjanta je, da se logika resetira in vse naprave naloži na novo
Janez Barbic: 21:03:39
ja David vem, sam to je preprosto :P
Aleksander Bešir: 21:03:48
hci zna 6 stvari:
- narediti enostaven ping
- zahtevati seznam scenarijev
- prepisati seznam scenarijev
- zahtevati seznam nastavitev logike
- prepisati seznam nastavitev logike
- zahtevati takojšnji zagon neke akcije
David Božjak: 21:04:09
bi bilo čisto dovolj če nebi potem zgubil une F_tn-1 vrednosti
David Božjak: 21:04:14
pomoje
Janez Barbic: 21:04:33
katere vrednosti? :o
David Božjak: 21:05:15
pač računaš trenutno vrednost z uno f = a * f_{t_n} + (1-a)*f_{t_{n-1}}
Janez Barbic: 21:05:23
aja
Janez Barbic: 21:05:31
sam to itak nima tok veze
Janez Barbic: 21:05:45
ker je na merilcu še vedno skoraj enaka
David Božjak: 21:05:56
pomoje je sam to prolbem da ne morš kr restartat appa, drugač tistih par sekund nedosegljivosti pomoje ni kritična
David Božjak: 21:06:00
vsaj zaenkrat ne
David Božjak: 21:06:16
tko da če lahko zanemarimo uno, pomoje ni problem da se program restarta
Janez Barbic: 21:06:21
glavni problem je pri threadih, ker jih moram dinamično "spawnat"
Janez Barbic: 21:06:48
sej točnota kos kode me zanima, če je ok spisan
Janez Barbic: 21:07:12
to bi mogu mal pokazat in pokomentirat
Janez Barbic: 21:07:19
ker verjetn imaš s tem izkušnje
Janez Barbic: 21:08:08
aha tole:
Aleksander Bešir: 21:08:12
lahko torej naredimo drugačne zahtevke od hci-ja, če mislita da bi bilo bolje.. namesto da hci spreminja xml scenarijev in naprav, lahko samo poda zahtevo za spreminjanje nečesa v seznamih
David Božjak: 21:08:16
drugače niti ne, seveda lahko vseeno pogledam, ampak nimam neki izkušen na tem področju
Janez Barbic: 21:08:57
ne, ravno to mora bit, da HCI spremeni xmlje
Aleksander Bešir: 21:10:10
aha, prav.
Janez Barbic: 21:10:12
na meni je edino to, da nardim logiko na način, da bo znala dinamično updatat scenarije in naprave, ali pa bo samo ustavila vse niti in spet izvedla incializacijo
Aleksander Bešir: 21:10:31
a je inicializacija ponovno res tako draga?
Janez Barbic: 21:10:34
dinamično je sicer bolj komplicirano, ampak tudi boljše :)
Janez Barbic: 21:10:41
ne za nas ni
Janez Barbic: 21:11:04
ampak js to gledam kot potencialni projekt v neki firmi, kjer pa bi to hoteli imet :P
David Božjak: 21:12:09
no jaz sem za to da za enkrat tega ne počnemo dinamično, naredimo the easy way in to v dokumentacijo napišemo pod predalgane izboljšave
Janez Barbic: 21:12:27
ok se strinjam
Aleksander Bešir: 21:12:49
in potem bomo baje v Amsterdamu tako ali tako morali svoje projekte izboljšati, če se ne motim?
Aleksander Bešir: 21:12:58
pa bi takrat lahko to naredili
David Božjak: 21:12:59
ja, sicer ka0 v kolaboraciji z ostalimi
David Božjak: 21:13:04
ampak sem za to ja
Aleksander Bešir: 21:13:06
aha
David Božjak: 21:13:11
da nam ne bo dolgčas gor :)
Janez Barbic: 21:13:15
aha ok
Janez Barbic: 21:13:33
sam a bo treba met svoj laptop tam la kako?
Janez Barbic: 21:13:54
ker delo na random mašini je bolj tko...ni mi kul :P
Janez Barbic: 21:14:00
ma no ja, bomo že
Aleksander Bešir: 21:14:11
jaz bom pomoje vzel laptop, ja
David Božjak: 21:14:19
pomojem ne rabiš svojga laptopa sem pa sigurn da ti noben ne brani če ga vzameš
David Božjak: 21:14:28
jaz imam namen vzeti svojga s sabo
Aleksander Bešir: 21:14:35
imaš itak 20 kil prtljage lahko + ročno, ki je laptop
Janez Barbic: 21:14:36
težava je da mi je crknil :P
David Božjak: 21:14:49
če rabi še kdo ni problem zrihtat še kakšnega (za silo), sam formatirat bi blo treba
Janez Barbic: 21:15:44
ne sej tist je še daleč, bomo se potlej sekiral za prtljago
Janez Barbic: 21:15:48
:)
Janez Barbic: 21:16:06
pa pri prezentaciji bomo itak imeli prezi, a ne? ;)
Aleksander Bešir: 21:16:19
jaz bom tako vesel, ko bo ta eneraptor končan.. :) nekako se ne morem otrest filinga, da bo šlo preveč na tesno
Aleksander Bešir: 21:16:29
jaz sem za, ja
David Božjak: 21:16:54
ja prezi je ql, sam men ful ne gre tole kreiranje prezentacij (tud v outlooku ne)
David Božjak: 21:17:07
z veseljem pripravim predlog kako bi prezentacija potekala pa to
Aleksander Bešir: 21:17:14
za prezentacije in fensi zadeve sem jaz vedno poln idej :D
David Božjak: 21:17:15
ampak slajdov bi se pa otepov
David Božjak: 21:17:20
odlično!
Aleksander Bešir: 21:17:42
čudi me da ni profesorja
Aleksander Bešir: 21:17:55
nismo še rekli zadnje niti glede imena projekta
David Božjak: 21:17:55
ja to je res čudno
Janez Barbic: 21:17:57
ma bo šlo na tesno, ampak bo šlo
David Božjak: 21:18:07
aha jst sm napisov gor da mi je eneraptor ful všeč
David Božjak: 21:18:11
in da je lih tok slovensko kot angleško
David Božjak: 21:18:21
tko da nism pol neki brainstormov za kakšnim drugim imenom
Aleksander Bešir: 21:18:29
haha, ta je dobra :D
Janez Barbic: 21:18:31
aja sej res, ime
Janez Barbic: 21:18:40
js nisem nič razmišljal o tem
David Božjak: 21:18:57
eneraptor = energy efficient raptor, eneraptor = energetsko osveščen raptor
David Božjak: 21:19:00
big deal
Janez Barbic: 21:19:03
razen tega da bi probal kako latinsko izpeljanko nardit, da bo nevtralno :P
David Božjak: 21:19:37
no jaz sem za to da se ohrani to, seveda pa ne bom imel nič proti če se spomnimo česa res ql
Janez Barbic: 21:19:46
aja pa še tole lahko povem kot zanimivost
Janez Barbic: 21:20:25
syslog-ng, takrat ko mi ga ni uspelo nastavit sem se registriral na njihovi strani in malo težil kaj pa kako
Andrej (Andy) Brodnik: 21:20:47
huh, se res opravičujem, a sem povsem pozabil na osmo uro.-(((
Janez Barbic: 21:20:48
danes me je poklicala njihova predstavnica marketinga
Janez Barbic: 21:21:01
in mi ponudila licenco :)
Janez Barbic: 21:21:14
živjo profesor :)
David Božjak: 21:21:20
prof: pozdrav!
Aleksander Bešir: 21:21:25
še iz moje strani!
Janez Barbic: 21:21:27
izgleda da jim kontakt s študenti ful pomeni
Aleksander Bešir: 21:21:33
kot kaže res
David Božjak: 21:21:41
očitno ja
David Božjak: 21:22:08
kot pravim, jaz sem se ravno poslavljal. profesor imate slučajno kaj takega pri čemer moramo biti vsi prisotni?
David Božjak: 21:22:12
no saj Vanča več ni, pa vseeno
Aleksander Bešir: 21:22:15
Janez, oprosti ker prekinjam: sem debugiral tisti del kode, kjer sem nekaj zafrknil - segmenation fault je.
Janez Barbic: 21:22:27
:)
Janez Barbic: 21:22:40
segfault sem sanjal zadnje dni :P
David Božjak: 21:23:03
ok offtopic, ampak a še koga ful mika, da bi odpru od sodelavca ogromn legacy C application, poskrolov na čist random location in napisov printf("Segmentation fault"); return -1;
David Božjak: 21:23:17
jst moram priznat da moj inner-prankster kr umira
Janez Barbic: 21:23:23
:D
Janez Barbic: 21:23:45
del njega umre ko to vidi, sigurno :P
Janez Barbic: 21:23:47
profesor: demo že teče na FRI-SMS
Andrej (Andy) Brodnik: 21:26:33
sem
Andrej (Andy) Brodnik: 21:26:39
sem preletel log.
Andrej (Andy) Brodnik: 21:26:54
(tle je res nerodno -- povsem sem pozabil na 8 uro -- sooooori!!!)
Aleksander Bešir: 21:27:05
se zgodi vsakomur ;)
Aleksander Bešir: 21:27:08
ni problema
Andrej (Andy) Brodnik: 21:27:34
glede randomizacije:
Andrej (Andy) Brodnik: 21:27:53
predlagam, da se napiše device driver, ki komunicira po predpisanem protokolu z logiko
Andrej (Andy) Brodnik: 21:28:12
pri tem res device manager potem generira naključne vrednosti.
David Božjak: 21:28:56
jaz se opravičujem ampak sedaj moram pa jaz iti. bom zjutraj še pred službo prebral log v primeru da boste napisali kaj nujnega
David Božjak: 21:29:04
ampak že tako zamujam 20 min
Andrej (Andy) Brodnik: 21:29:11
glede komunikacije device manager (DM) -- logika:
David Božjak: 21:29:15
dosti več si pa ne upam :)
Andrej (Andy) Brodnik: 21:29:26
velja David
Andrej (Andy) Brodnik: 21:29:30
sori in hvala!
Janez Barbic: 21:29:39
ajd
David Božjak: 21:29:57
skype dela log tudi če je ugasnjen? ali moram kje iskati shranjen log?
Andrej (Andy) Brodnik: 21:30:14
log bo v redmine
David Božjak: 21:30:25
ok, najlepša hvala in se opravičujem še enkrat
Andrej (Andy) Brodnik: 21:30:26
ga bom dal tja
Andrej (Andy) Brodnik: 21:30:34
ma kaj vi david, jaz!!!
Andrej (Andy) Brodnik: 21:31:27
še enkrat bi vprašal glede komunikacije DM -- logika; kako ste si jo zamislili?
Aleksander Bešir: 21:31:48
o tem je tekla negotova debata
Andrej (Andy) Brodnik: 21:32:03
sem gledal
Janez Barbic: 21:32:15
podobno kot smo naredili gonilnik na vajah za merilec temperature?
Andrej (Andy) Brodnik: 21:32:16
in kaj ste dorekli? kakšne so ideje?
Andrej (Andy) Brodnik: 21:32:41
aha. kako je bilo to?
Aleksander Bešir: 21:32:51
spraševali smo se, ali lahko fork()/exec() povzročita probleme če bi bilo zelo veliko podprocesov
Janez Barbic: 21:33:07
tam se vse zgodi preko sistemskega klica
Andrej (Andy) Brodnik: 21:33:14
zakaj bi imeli procese? kaj bi bilo v njih
Janez Barbic: 21:33:41
lahko fork-exec po DMjih? :)
Aleksander Bešir: 21:33:44
Janez in David sta želela, da bi logika pognala DM-je.
Aleksander Bešir: 21:33:55
da bi potem laho uporablali semaforje
Aleksander Bešir: 21:34:00
in skupno spr.
Andrej (Andy) Brodnik: 21:34:06
aha, mislim, da to ni najboljše
Andrej (Andy) Brodnik: 21:34:37
logika sicer naj požene procese s fork in exec, samo potem bi komunikacijo raje naredili preko vtičev
Janez Barbic: 21:34:57
aha to je splošno, tudi za izvajanje akcij scenarijev
Janez Barbic: 21:35:24
a lahko to povzroči kake težave s pomnilnikom, če bi imeli veliko procesov?
Andrej (Andy) Brodnik: 21:35:40
da, verjetno bi slednji tudi upravljali preko socketov
Janez Barbic: 21:36:52
ok, kaj pa ta način kot smo ga naredili na vajah, preko sistemskega klica?
Andrej (Andy) Brodnik: 21:36:54
skupne spremenljivke se običajno uporabljajo v okviru ene aplikacije, medtem ko DMji in logika niso ista aplikacija
Andrej (Andy) Brodnik: 21:37:32
to bi slo, seveda. Samo v rem primeru bi DM ne obstajal drugače kot samo jedrni modui.
Andrej (Andy) Brodnik: 21:37:43
v resnici bi to bilo super!
Janez Barbic: 21:37:50
jaz vidim potencialno težavo pri klicu podprograma iz scenarijev
Andrej (Andy) Brodnik: 21:37:57
edina težava je potem to, da bi morala logika polniti še syslog
Andrej (Andy) Brodnik: 21:38:30
no, to bi ne bila težava, ker bi podprogame iz scenarijev klical preko sistemskih klicev
Janez Barbic: 21:38:37
sistemsko logiranje je malenkost po dosedanjih izkušnjah
Janez Barbic: 21:39:06
v ponedeljek sem se oglasil pri Rajkotu zaradi domačih nalog in sva se pogovarjala o našem projektu
Andrej (Andy) Brodnik: 21:39:19
že, samo kdo bo delal syslog klice? iz jedra jih ne moreš
Janez Barbic: 21:39:41
aha, tega pa nisem poizkusil
Janez Barbic: 21:39:53
glede Rajkota, on bi nam naredil termometer
Janez Barbic: 21:40:09
tako da bi lahko imeli vsaj eno realno merilno napravo priključeno na naš sistem
Andrej (Andy) Brodnik: 21:40:11
hm, mislim, da syslog ne dela iz jedra.
Andrej (Andy) Brodnik: 21:40:22
glede termometra -- super!
Janez Barbic: 21:40:47
zato sem mislil, da bi lahko komunikacijo izvedli preko sistemskih klicev
Andrej (Andy) Brodnik: 21:41:41
kot sem rekel, bi to šlo. A imam naslednje pomisleke/vprašanja:
Andrej (Andy) Brodnik: 21:42:40
1.) branje se bo moralo dogajati periodično; to ni načeloma problem, saj ima logika lahko to narejeno
Andrej (Andy) Brodnik: 21:43:31
2.) kdo bo pisal syslog, ker se mi zdi, da iz jedra to negre; rešitev je dodatni demon, ki periodično bere (kot logika) in zapisuje syslog
Andrej (Andy) Brodnik: 21:44:00
3.) nimamo več dogodkovno gnanega programiranja, kar pa samopo sebi ni problem
Andrej (Andy) Brodnik: 21:44:21
4.) dodatno -- ni težav z aktuatorji, ker jih prav tako prožimo preko sistemskih klicev
Andrej (Andy) Brodnik: 21:44:48
Device manager sedaj sestoji iz treh delov:
Andrej (Andy) Brodnik: 21:45:09
1.) api preko systemske knjižnice, ki kliče sistemski klic
Andrej (Andy) Brodnik: 21:45:28
2.) jedrnega modula, ki upravlja z enoto
Janez Barbic: 21:45:37
2.) dodatni daemon bi bral z drugačno frekvenco kot logika? drugače pa na delo logike neposredno vplivajo izračunane meritve kot delež stare iz bufferja logike in delež iz merilne naprave. zato bi raje logiral točno to izračunano meritev, ker je ta meritev najbolj relevantna
Andrej (Andy) Brodnik: 21:45:44
3.) demona,ki periodično bere vrednosti ter jih zapisuje v syslog
Andrej (Andy) Brodnik: 21:46:12
To mi je še zelo všeč!
Andrej (Andy) Brodnik: 21:46:21
Glede frkvence branja:
Andrej (Andy) Brodnik: 21:47:10
načeloma je vseeno, ker bi vedno bral izmerjeno vrednosti. Le logika bi uporabljala izravnjalno enačbo a*m+(a-1)*m'
Janez Barbic: 21:47:20
to enačbo že uporablja
Andrej (Andy) Brodnik: 21:47:31
super.
Janez Barbic: 21:47:37
in vrši odločanje glede na rezultat
Janez Barbic: 21:47:54
in ta rezultat se logira na vsako periodo branja iz merilne naprave
Andrej (Andy) Brodnik: 21:48:00
ne, predlagam, da se logira prebrana vrednost, ker to je vrednost naprave
Andrej (Andy) Brodnik: 21:48:27
lahko pa logika beleži še tudi izračunane vrednosti --  a to je vrednost logike in ne naprave
Janez Barbic: 21:48:34
aha ni problema, ampak še vedno to lahko naredi logika
Aleksander Bešir: 21:48:37
s tem da bi bilo smiselno imeti logiranje nekoliko z manjšo periodo?
Janez Barbic: 21:48:44
torej logira prebrano vrednost
Aleksander Bešir: 21:48:56
vendar ne vsako, ane?
Janez Barbic: 21:49:03
vsako
Andrej (Andy) Brodnik: 21:49:08
ne, logika ne beleži prebrane vrednosti
Andrej (Andy) Brodnik: 21:49:35
to ni naloga logike, to je naloga demona (3. del DMja, kot sem ga opisal zgoraj)
Aleksander Bešir: 21:50:00
pa res. Ampak tudi DM ne bi smel logirati vsake vrednosti..
Janez Barbic: 21:50:19
ja to mi je jasno, ampak js vidim tukaj manjši problem
Andrej (Andy) Brodnik: 21:50:20
DM logira vrednosti z neko frekvenco, ki se nastavi
Andrej (Andy) Brodnik: 21:50:28
in kje je problem?
Aleksander Bešir: 21:50:30
ok, super ;)
Aleksander Bešir: 21:50:41
preveliko polnjenje baze sem imel v mislih
Andrej (Andy) Brodnik: 21:50:51
demon in logika sta povsem neodvisna med seboj
Aleksander Bešir: 21:51:12
če bi DM osveževali in logirali nekaj 100 krat na sekundo bi bil to za bazo velik problem
Janez Barbic: 21:51:20
torej vrednosti, na podlagi katerih se logika odloča, niso logirane, ampak so logirane vrednosti direktno iz merilne naprave
Aleksander Bešir: 21:51:23
vsaj mislim
Andrej (Andy) Brodnik: 21:51:30
tako je.
Janez Barbic: 21:51:38
torej je tudi izračun porabe / prihranjenja lahko različen od realne
Aleksander Bešir: 21:51:42
prav, samo to sem želel da bo jasno ;)
Andrej (Andy) Brodnik: 21:52:17
to je vedn o res, ker merimo vedno diskretne vrednosti
Andrej (Andy) Brodnik: 21:52:27
bolj natančen je, če gosteje merimo
Andrej (Andy) Brodnik: 21:52:39
ponovno -- stvar odločitve.
Andrej (Andy) Brodnik: 21:53:02
A skoki niso tako veliki, da bi morali ne vem kako pogosto vzorčiti.
Janez Barbic: 21:53:12
ja, to drži
Janez Barbic: 21:53:34
saj mogoče sem malo preveč pikolovski tule :)
Andrej (Andy) Brodnik: 21:53:44
Če bi res želeli natančno vzorčiti, bi napisali še enega demona, ki bi na arm-u pogosto vzorčil in pošiljal na syslog že poračunane vrednosti
Aleksander Bešir: 21:54:25
po mojem to ni potrebno
Andrej (Andy) Brodnik: 21:54:41
se povsem strinjam
Janez Barbic: 21:55:20
torej naredimo gonilnike kot kernel objecte?
Andrej (Andy) Brodnik: 21:55:31
tako je.
Janez Barbic: 21:56:10
ok, logira pa se vrednosti iz merilnih naprav
Andrej (Andy) Brodnik: 21:56:29
ja, preko demona naprave
Janez Barbic: 21:56:31
ločen daemon
Andrej (Andy) Brodnik: 21:56:38
tako je
Janez Barbic: 21:56:51
kaj pa akcije, ali bi akcije tudi logirali?
Andrej (Andy) Brodnik: 21:57:00
akcije logira logika
Janez Barbic: 21:57:09
ok, potem je to narejeno
Andrej (Andy) Brodnik: 21:57:47
hm, saj res, ...
Andrej (Andy) Brodnik: 21:58:18
naj bodo tudi aktuatorji sistemske klice, preko katerih lahko poizveš o opravljenih akcijah.
Andrej (Andy) Brodnik: 21:58:22
bi to šlo?
Janez Barbic: 21:58:59
hmm, ne vem kaj s tem mislite :)
Janez Barbic: 21:59:07
aktuatorji sistemske klice
Andrej (Andy) Brodnik: 22:00:04
no, ko nekdo preko sistemskega klica zahteva akcijo (običajno logika), lahko preko sistemskega klica poizvemo, kaj je bilo narejenega (običajno demon)
Andrej (Andy) Brodnik: 22:00:17
sem bil uspešen pri razlagi?
Janez Barbic: 22:00:30
ja
Andrej (Andy) Brodnik: 22:00:37
kul
Andrej (Andy) Brodnik: 22:00:52
potem ohranimo ločen princip logiranja naprave (demon) in logike
Janez Barbic: 22:01:24
hmm, samo si ne predstavljam kako bi to naredil
Andrej (Andy) Brodnik: 22:01:35
kateri del?
Janez Barbic: 22:01:50
če kličem sistemski klic ta klic vrne neko vrednost oziroma izvede neko delo
Andrej (Andy) Brodnik: 22:01:59
demon samo periodično kliče sistmski klic kot pri bralnih napravah. to je ok, ne?
Janez Barbic: 22:02:09
ja
Janez Barbic: 22:02:37
in sedaj daemon poizve, če je recimo logika poklicala ta sistemski klic?
Andrej (Andy) Brodnik: 22:02:57
Nekako tako.
Andrej (Andy) Brodnik: 22:03:21
samo imamo v API dve funkciji (lahko isti sitemski klic):
Andrej (Andy) Brodnik: 22:03:34
izvedi(operacija, parametri)
Andrej (Andy) Brodnik: 22:03:36
in
Janez Barbic: 22:03:41
aha, pač z drugačnimi argumenti
Andrej (Andy) Brodnik: 22:04:05
izvedeneOperacije(stevilo zadnjih izvedenih operacij)
Janez Barbic: 22:04:15
ok to misli da bi moralo it, samo da si predstaljam koncept :)
Andrej (Andy) Brodnik: 22:04:29
super
Janez Barbic: 22:05:26
kar se mene tiče nimam ničesar zelo pomembnega več za razčistit
Andrej (Andy) Brodnik: 22:05:36
super
Andrej (Andy) Brodnik: 22:05:56
kdaj se lahko slišimo (ne bom pozabil tokrat)
Janez Barbic: 22:06:10
konec tedna? petek/sobota?
Andrej (Andy) Brodnik: 22:06:48
lahko, velja. se kaj vidimo na faksu? v petek imam izpit ob 1h-2h
Janez Barbic: 22:07:09
OS1?
Andrej (Andy) Brodnik: 22:07:20
ne KPOV
Janez Barbic: 22:07:42
aha, jaz lahko pridem po izpitu, ni problema
Aleksander Bešir: 22:07:45
mene ne bo ta teden v ljubljani
Aleksander Bešir: 22:07:51
žal :(
Aleksander Bešir: 22:08:06
sem pa za čim več sestankov, ja
Andrej (Andy) Brodnik: 22:08:19
ni panike, kdor je, se lahko kaj oglasi. Se pa slišimo po skype.
Andrej (Andy) Brodnik: 22:08:26
Kar v petek?
Aleksander Bešir: 22:08:31
Prav. Lahko
Andrej (Andy) Brodnik: 22:08:48
enkrat po izpitu in pred 6h, prav?
Janez Barbic: 22:09:02
ok, bom poslal mail, da vidita še david in vanč
Aleksander Bešir: 22:09:11
zmenjeno
Andrej (Andy) Brodnik: 22:09:32
se zmenite potem vi, ne? glede ure.
Janez Barbic: 22:09:40
ok
Aleksander Bešir: 22:10:38
Lahko ja. Bom takrat jaz malo več povedal o HCI-ju. Statistika je dokončana, pa bom malo razložil, kaj vse se da prikazati
Andrej (Andy) Brodnik: 22:10:55
super
Aleksander Bešir: 22:11:23
No, prav. Lahko noč torej ;)
Andrej (Andy) Brodnik: 22:11:44
lahko noč in še enkrat sori!
Janez Barbic: 22:11:47
Lahko noč :)
Andrej (Andy) Brodnik: 22:11:52
bom jaz dal zapis v redmine
Andrej (Andy) Brodnik: 22:12:09
|-)