All streams
Search
Write a publication
Pull to refresh
-9
0

Программист

Send message

в итоге окажется, что у нас проголосовало миллионов 300 человек по всей стране

послушайте, ну детский сад какой-то. Пришли представители партий, ЦИК, воткнули свои флешки, там им система показала красивый прогресс-бар "идет расшифровка", и потом нарисовала ту цифру, которую ей админы сказали нарисовать (а им нужные люди из нужного управления подсказали). Как проверить, что в реальности подсчет бюллетеней вообще состоялся? И тогда зачем вся это заморочка с протоколами, шифрованием, анонимными серверами и так далее, раз мы джентельменам верим на слово?

"По словам разработчика" - прям повеселили. В ИТ джентельменам на слово не верят, это раз. И то, что не будет открытых список шифровок с привязкой к кандидадам - это скорее плохо, чем хорошо, так как нет у человека возможности проверить, что его голос посчитали правильно.

у ДИТа смарт-контракты на гитхабе есть

как блокчейн поможет верифицировать процесс подсчета?

хотя можно публиковаать списки шифровок с привязкой к кандидату, и если нашли себя не в нужном списке, то подавать претензию, и организовать раунд пересчета, типа того, тогда вроде еще жизнеспособно.

ну вот допустим вы проголосовали, все зашифровали/подписали, отдали в ЦИК, он даже у себя на сайте всем желающим опубликовал ту шифрованную лабуду, которую вы ему передали, вы зашли, нашли себя, проверили, что все нормально, да, ЦИК знает, как вы проголосовали. Как вы проверите то, что ваш голос хоть как-то учтен в той цифре (близкой к 146%), которую рядом радостно по телевизору показывают? Иными словами, как проверить легитимность итоговой цифры? А вот чтобы это проверить, нужно как-то те опубликованные списки расшифровать и пересчитать = запилить новое голосование, к которому также возникнет точно такой же вопрос. Если бы все данные, кто как проголосовал, лежали бы открыто, вопроса бы не было - bash, curl, wc, как говорится, в помощь.

Я посмотрел алгоритмы тайного голосования в статье, и там везде одним из конечных шагов стоит "A подсчитывает голоса и публикует результат выборов". Этот шаг в теории можно заменить на "A выкидыавет в топку результаты и рисует цифру, какую скажут", как от этого защищают протоколы, кроме как публикуют списки? В списках может все быть хорошо и каждый в отдельности удостоверится, что его голос учтен правильно, но без массового нарушения тайны голосования проверить-то все равно не получится.

дочитал, потому и пишу, что "хорошо, что автор потом от этого отошел"

Если честно, то вся суть статьи примерно тут:

ежедневно заставлять себя делать хоть что-нибудь трудное, хоть пустяк, делать который как раз не хочется; создавать себе всевозможные стимулы, ухитряться привязывать неинтересное к интересному, неприятное к приятному; нагнетая суровый ритм, ставить себя в безвыходные положения, страшно на себя злиться и жестоко наказывать и, наоборот, всячески поощрять и вдохновлять; жить в постоянном фанатическом самовнушении: «Я волевой человек, для меня нет ничего невозможного, я все могу», и т. д.

Да с собакой лучше обращаются. И все ради последнего предложения, которое про "я" и про "все могу". Хорошо, что автор потом от этого отошел.

На транзакционность в Phoenix-е я бы не надеялся при кол-ве нод > 1. Там secondary index-ы -то толком не работают на более чем одной ноде.

еще кстати можно JIT попробовать запилить

все-таки switch-ем оставили интерпретатор. Это плохой подход, так как компилятор может не соптимизировать switch в таблицу, а также на каждую инструкцию генерится по 3 инструкции перехода, которые очень сильно тормозят процессор.

скорее всего будет очень мало планет на орбитах, а те, которым повезло сформироваться, будут хаотично летать внутри ШС от звезды к звезде, то замерзая намертво, то расплавляясь

Ага, можно. Но формально это в одно выражение сделано

Дело в том, что Armmaster и есть авторитетное мнение. Если мне не изменяет склероз, он портировал QEMU, чтобы тот мог эмулировать эльбрус.

Давеча один мой коллега сказал, что на его взгляд, качество джуниоров сильно упало: не каждый джун осилит прийти на собеседование закодить консольные крестики-нолики. Кстати, челенж для джава-скалистов - слабо закодить их в 1 строку? ;)

Iterator.continually(scala.io.StdIn.readLine).takeWhile(s => s != null && s.nonEmpty).filter(_.forall(c => c == ' ' || c.isDigit)).map(_.split(' ')).filter(_.size == 2).map(s => s.map(_.toInt)).filter(a => a.forall(v => v >= 0 && v < 3)).scanLeft((Array.fill(9)(' '), 0)) { (ap, pair) => if (ap._1(pair(0) * 3 + pair(1)) == ' ') { def search(s: Array[Char], order: Char, level: Int): (Int, Int) = { val r = (0 to 2); val x = r.exists(i => r.forall(j => s(i * 3 + j) == 'x') || r.forall(j => s(i + j*3) == 'x') || (s(0) == 'x' && s(4) == 'x' && s(8) == 'x') || (s(2) == 'x' && s(4) == 'x' && s(6) == 'x')); val y = r.exists(i => r.forall(j => s(i * 3 + j) == 'o') || r.forall(j => s(i + j*3) == 'o') || (s(0) == 'o' && s(4) == 'o' && s(8) == 'o') || (s(2) == 'o' && s(4) == 'o' && s(6) == 'o')); if (x == true) (-1, -1) else if (y == true) (1, -1) else if (s.forall(_ != ' ')) (0, -1) else { val r = (0 to 8).filter(i => s(i) == ' ').map { i => s(i) = order; val res = search(s, if (order == 'x') 'o' else 'x', level + 1); s(i) = ' '; (res._1, i) }; if (order == 'x') r.minBy(_._1) else r.maxBy(_._1) } }; val c = ap._1.clone(); c(pair(0) * 3 + pair(1)) = 'x'; val res = search(c, 'o', 1); if (res._2 > -1) c(res._2) = 'o'; (c, res._1) } else ap } .map { case (arr, res) => println("***********"); (0 to 2).foreach(i => println(arr(i*3) + " | " + arr(i*3 + 1) + " | " + arr(i*3 + 2))); println("***********"); println("Win: " + res); if (arr.forall(_ != ' ')) -1 else res }.takeWhile(_ == 0).foreach(_ => ())

Только на интервью я хз, смогу или нет такое осилить. Походу, меня даже джуном не возьмут.

а я чего-то неопределенного поведения не вижу в ваших объяснениях. Первая ошибка - простая логическая, вам даже компилятор мог в теории про нее сказать, вторая - невнимательно спеку читали. UB в описанных вами кейсах нет.

Боюсь, гонор тут ни при чем

Information

Rating
6,237-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity