ΕΕΛ/ΛΑΚ - Λίστες Ταχυδρομείου

Re: New Project: Real-time Poll/Voting system

  • Subject: Re: New Project: Real-time Poll/Voting system
  • From: Konstantinos Margaritis <markos [ at ] debian [ dot ] gr>
  • Date: Sat, 24 Jul 2004 14:21:41 +0300
On Τετ 21 Ιουλ 2004 17:04, Alexios Zavras wrote:
> Prin pas sthn epikoinwnia, as doyme to antikeimeno (periexomeno).
> Symfwnoyme me ta parakatw ?
> - kathe poll einai mono mia erwthsh
> - h erwthsh einai enos apo toys parakatw typoys:
>   = open-ended (h apanthsh einai free-form text)
>   = multiple choice (h erwthsh synodeyetai apo mia seira apanthsewn
>     kai h apanthsh einai mia apo aytes)
>   = rating (h erwthsh synodeyetai apo mia klimaka kai h apanthsh
>     einai kati mesa se ayth)
> - ta apotelesmata einai h erwthsh kai posoys pshfoys
>   phre kathe apanthsh poy dothhke (toylaxiston --
>   an thelei kapoios na bgazei kai katanomes pshfwn
>   ana wra den tha toy xalasoyme xatiri)



> > είναι plain text μύνημα και custom made format (δεν τις προτιμώ
> > γιατί πρόκειται για reinventing the wheel).
>
> Den einai re-inventing an xrhsimopoieis kati allo "already
> invented" (px MIME gia pgp signing) :-).  Kai soy glytwnoyn oles
> tis xml-parsing libs. Alla pros syzhthsh (blepw + kai - se oles tis
> lyseis).

MIME θα χρειαστεί ούτως ή άλλως για encoding τυχόν binary data. Το 
καλό είναι ότι το SOAP/xml αναλαμβάνει το encoding αυτόματα και 
εγγυάται ότι κάθε πλευρά θα λάβει τα ίδια δεδομένα, ανεξάρτητα 
endianness, γλώσσας προγραμματισμού, λειτουργικού συστήματος κλπ.
Ναι είναι λίγο πρηξαρχ******* το SOAP στην αρχή και μου έφαγε πολλά 
ξενύχτια, αλλά όσο περισσότερο το δουλεύω τόσο περισσότερο μου 
αρέσει...
και πλέον υπάρχουν engines για SOAP σε κάθε πλατφόρμα, C++,Perl, 
Java, .NET (μπλιαχ) ακόμη και για Tcl :-) :
http://tclsoap.sourceforge.net/

> Please, no.  Den eimai katholoy fan toy push (gia non-real-time
> info) -- as rwtaei o client ton server an exei newtera availables
> polls. Kai o kathe client mporei na rwtaei oso syxna thelei
> (once a day, every 5 mins, ...).  Think "biff" :-)

Οκ, δεν έχω αντίρρηση.

> To communication to blepw ws ekshs:
>
> client->server:	"eimai o zvr, ti yparxei?"
> server->client:	"den exeis apanthsei stis 13, 17, 18"
> c->s:		"gia fere th 17"
> s->c:		"poll 17: [metadata], question '...'"
> c->s:		"answer to 17: 'xxx' [signed]"

> H, an thelw kati allo:
> c->s: "fere ta apotelesmata ths 16"
> s->c: "parta (na mh sta xrwstaw, poy lene :-)"

μια χαρά, i couldn't agree more :-)

> > * ελάχιστος αριθμός συμμετοχών για να θεωρηθεί ότι έχει βγεί
> > αποτέλεσμα
> > * μέθοδος βαθμολογίας ψήφων (εδώ θέλουμε κάποιον ειδικό σε
> > μοντέλα ψηφοφοριών)
>
> Den eimai sigoyros an ennoeis "bathmologia pshfwn" (h dikia moy
> metraei perissotero apo th dika soy) h "tropo epiloghs
> apotelesmatos once all votes are counted".  To deytero einai mallon
> kalytera na meinei ektos (se prwth fash), kai aplws na perigrafetai
> se kathe poll (opoy den einai profanes).
> Lew na meinei ektos giati yparxoyn apeires enallaktikes:
> apo apolyth pleiopshfia (50% + 1), mexri custom solutions
> opws to "TYANNOTT: Two Yesses And No No's Or Two Thirds"
> poy kanei mia 12-melhs omada poy kserw...

Ναι βασικά κάτι τέτοιο εννοώ. Τώρα δε θα ήθελα να ασχοληθούμε 
υπερβολικά με αυτό σε αυτό το στάδιο, αλλά αν ξέρει κάποιος κάποια 
από αυτά τα συστήματα και πώς θα μπορούσαν να επηρρεάσουν τον τρόπο 
σχεδιασμού της πλατφόρμας, ώστε να μπορούμε να προβλέψουμε και απλώς 
να προσθέτουμε plugins για τον τρόπο εξαγωγής του αποτελέσματος.

>
> Ki alla erwthmata:
> - ta apotelesmata tha einai available prin thn oloklhrwsh ?
> - an einai kleisto poll, ta apotelesmata tha einai orata se alloys
> ?

good points, θα έλεγα να είναι configurable από τον poll creator αυτές 
οι επιλογές.

> Me ta alla problhmata toy e-voting tha asxolhthoyme ? :-)
> px. egw thelw na tsekarw oti h pshfos moy efthase swsta,
> pws to petyxainw ?  mporw na th zhthsw na th dw ?  pws
> eksasfalizeis oti kapoios (admin h parapanw) den peirazei to
> apotelesma ? h oti den blepei tis pshfoys memonwmenwn pshfoforwn ?
> klp. klp. [gia opoion thelei, yparxei megalh bibliografia gia to ti
> prepei na ginei -- oxi toso gia to pws, dystyxws]

Ναι επίσης good points: να μπορεί κάποιος να παίρνει κάποια "απόδειξη" 
ότι ψήφισε, ένα αυτοματοποιημένο υπογεγραμμένο μήνυμα με τα στοιχεία 
της ψήφου του. 
Όλα τα αποτελέσματα θα πρέπει να γίνονται signed οπότε να αποφεύγεται 
το tampering ακόμη και στη βάση δεδομένων.
Έχεις links για τη βιβλιογραφία;

Κάτι που συζητούσαμε χτές με τον Πέτρο είναι κάποιου είδους moderation 
και καταλήξαμε στο εξής σκεπτικό:

Το όλο σύστημα θα πρέπει να σχεδιαστεί ως αρκετά γενικό και 
παραμετροποιήσιμο. Δε θέλουμε να φτιάξουμε κάτι μόνο για εμάς αλλά 
κάτι που να μπορεί να χρησιμοποιηθεί και από άλλους. Τί σημαίνει 
αυτό; 
* Οπωσδήποτε localizable (read: NO HARDCODED ENGLISH/GREEK STRINGS 
μέσα στο πρόγραμμα). 
* Παραμετροποιήσιμο και ανεξάρτητο περιεχομένου. Ο μηχανισμός θα 
πρέπει να είναι ο ίδιος είτε πρόκειται για polls μεταξύ μας για να 
βρούμε την πιο δημοφιλή μετάφραση είτε για polls μέσα σε μια εταιρεία 
για το ποια benefits προτιμάν οι εργαζόμενοι (δωρεάν μπύρα, διακοπές 
ή καινούρια κινητά! ΧΑ! ΧΑ! ΧΑ!)
* Όπως ανέφερε ο Αλέξης, τα αποτελέσματα δε θα μπορούν σε καμία 
περίπτωση να είναι δεσμευτικά (όσον αφορά τα polls) αφού είναι απλώς 
ενδείξεις. ΄Οσον αφορά τις ονομαστικές ψηφοφορίες (π.χ. πρόεδρος ενός 
συλλόγου) τότε θα είναι δεσμευτικά κατά περίπτωση και κατά πόσον 
συμφωνείται από τα ίδια τα μέλη. Δε μπορεί να υπάρξει τίποτε στο 
σύστημα που να δεσμεύει την υιοθέτηση του αποτελέσματος.
* Το περιεχόμενο θα καθορίζεται από αυτούς που θα χρησιμοποιήσουν την 
πλατφόρμα. Θα είναι στην δικαιοδοσία των admins να εφαρμόσουν μέτρα 
για την αποφυγή bogus μηνυμάτων/spam polls (π.χ. ποια έκδοση του 
Xanax προτιμάτε? σας άρεσε το νέο μαγιό της Βανδή;) κλπ από τυχόν 
poll creators που θέλουν να εκμεταλλευτούν την θέση τους προς όφελος 
κάποιας εταιρείας. Το ban ενός απλού χρήστη δε μας πειράζει 
ιδιαίτερα, αλλά το ban ενός poll-creator θα είναι οριστικό (το γιατί 
εξηγείται παρακάτω στις διαδικασίες).

Όσον αφορά τη διαδικασία:
* Καταρχάς πώς γίνεται κάποιος poll creator. Για να αποφύγουμε dummy 
accounts που σκοπό θα έχουν να κάνουν flood το σύστημα με γελοία 
polls, ο poll creator θα πρέπει να είναι ΑΠΑΡΑΙΤΗΤΑ κάποιος με κλειδί 
GPG υπογεγραμμένο από κάποιον από τους admins. 
* Για να διαγραφεί (ban) ένας απλός χρήστης (για οποιονδήποτε λόγο, 
π.χ. flood ψήφων με σκοπό την αλλοίωση των αποτελεσμάτων) αρκεί ένας 
admin. Για τη διαγραφή ενός poll creator (για λόγους παραβίασης των 
κανόνων περί σχετικού περιεχομένου) προτείνεται η πλειοψηφία των 
admins (γι' αυτό και προτείνω 3 admins το ελάχιστο) και μάλιστα με 
αυτοματοποιημένο τρόπο, ώστε να αποφευχθούν φαινόμενα του τύπου "δε 
με πάει ο admin και με έκανε ban" από τυχόν τσάτσους και 
εξουσιόκαβλους. Έχω υπάρξει και ο ίδιος θύμα τέτοιας φασιστικής 
συμπεριφοράς σε πρόσφατο φόρουμ για το θέμα της Μακεδονίας στο KDE 
και δε θέλω να υπάρχει καν δυνατότητα να έχει ο admin τόση εξουσία 
πάνω του.

> Me ti projects pame kai mplekoyme...

Ε όπως δείξαμε και στο Euro2004 οι Έλληνες γουστάρουν τα δύσκολα :-)


αναφορές

πλοήγηση μηνυμάτων