Может быть, в чистом виде (как у автора) это и миф, но вообще есть доволньо известный прием подбора пароля (или его хеша) при наличии blind sql injection, когда подается специальный запрос, посимвольно сравнивающим пароль с текущей догадкой и, например, ждущий сколько-то времени, если сравнение на текущем символе выдало true. Я в свое время смог ускорить этот процесс, подбирая хеш бинарным поиском.
Здорово, что вы подняли эту тему. Чем мне особенно нравится Julia, так это тем, что в ней, как и в python или matlab можно реализовывать вычисления сразу в векторной форме. Это просто (с точки зрения написания кода), но не всегда эффективно, если компилятор/библиотека линейной алгебры не умеет оптимизировать такие вычисления.
Пример: r = a * k + b + c
(здесь a, b, c — массивы, а k — скаляр).
При наивной реализации компилятора/библиотеки этот код приведет к созданию 2-х временных массивов, в первый будет записан результат умножения, во второй результат сложения, ну и если особенно сильно не повезет, то добавится и третий временный массив. В настоящий момент, насколько мне известно, в python/numpy все обстоит именно таким образом. Накладные расходы на выделение памяти могут быть не столь заметны, если язык в целом довольно медленный, и мы счастливы просто от того, что может вызывать быстрые функции из BLAS/LAPACK, но после того, как все вычисления векторизованы до упора, а производительность надо поднять еще и еще, то нужно продолжать сбрасывать балласт.
И тут в julia есть замечательный механизм макросов и библиотека Devectorize, которая позволяет мне написать: @devectorize r = a .* k + b + c (здесь .* — это поэлементное умножение, сейчас станет понятно, для чего требуется это уточнение), и для данного конкретного примера автоматически вместо данной строчки будет сгенерирован цикл:
for i in 1:length(a)
r[i] = a[i] * k + b[i] + c[i]
end
В данном коде не происходит создания временных объектов, а благодаря тому, что в julia циклы быстрые, почти такие же как в Си, то мы получаем еще немного (на самом деле очень много) пространства для оптимизации без нужды писать некрасивые циклы.
Тем, что julia создавался с нуля исключительно для научных вычислений и активно оптимизируется исключительно под эту нишу, не пытаясь при этом быть универсальным-самым-лучшим-в-мире-языком.
Еще одна причина для яндекса поступить подобным образом это помешать конкурентам на рынке рекламы получать ту самую желанную информацию о пользователе. Конечно, всегда можно подключиться к яндекс метрике и тем самым помочь самому яндексу со сбором все той же самой информации. Справедливости ради стоит отметить, что это относится не только к яндексу, уверен, что гугл уже давно так делает.
Про заботу о конфиденциальности пользователей, к сожалению, я не очень верю.
Пожалуй, добавлю кое что от себя для заинтересовавшихся. Алгоритм Витерби очень хорош, но у него есть одна маленькая проблема: ему требуется обратный проход, что делает несколько проблематичным обработку данных в реальном времени. Тем не менее, иногда (для некоторых моделей никогда, для некоторых часто) оптимальные пути состояний внезапно сходятся в одной точке. Если немного поразмыслить, то становится понятно, что из этой точки можно делать обратный проход, не дожидаясь конца последовательности, без ущерба для оптимальности. Существует эффективный алгоритм отслеживания оптимальных путей, который хранит их в специальной древесной структуре данных с минимальным оверхедом, реализующий этот принцип.
Кроме того, алгоритм Витерби вообще говоря является частным случаем более сложного алгоритма belief propagation (max-product / max-sum), который грубо говоря делает все то же самое, но не только для цепочек, а для произвольных деревьев. Алгоритмы этого семейства довольно хорошо исследованы и имеют хорошие приближенные параллельные варианты. Может показаться, что параллельность здесь вставляется очевидно — в прямой проход во время вычисления стоимости для следующего возможного состояния (можно паралеллить по этим состояниям), но, увы, состояний обычно достаточной мало, поэтому такое распараллеливание не приносит особой выгоды. Это все, правда, заслуживает отдельной статьи
Наша цель — донести сам факт наличия этого конфликта до широкой общественности, исключить возможные подтасовки фактов в подконтрольной прессе со стороны предполагаемых захватчиков, предупредить возможное давление на сотрудников в будущем, добиться честного, непредвзятого и законного разрешения сложившейся ситуации.
1. Допустим, вы правы. Как можно исключить долю Алексея и Саймона (44% по версии Михаила) и проголосовать без них?
2. То есть нам в минус то, что мы не используем какую-то принципиально отличную лексику от Алексея? «наша компания и мы ей владеем» — это вам было угодно собрать эти слова в кавычки, мы же написали, что с идейной точки зрения считаем ее нашей, но нашей не значит «принадлежащей нам».
Братков мы на веру не принимали, их наши коллеги встретили в офисе.
А нашему старому руководству мы вообще-то действительно доверяем, как вы верно подметили. С этого, можно сказать, и начали. Почему само по себе это так подозрительно?
3. Аргументы у нас как раз вовсе не эмоциональные. Сам факт записи удручает и дискредитирует, но помимо нее есть еще это несчастное собрание акционеров. Есть блокированные счета. Как с этим быть? Тоже списать на эмоции? Мне кажется, вы несколько необъективны, поскольку уверенно обходите стороной эти вопросы.
Пожалуйста, внимательнее прочтите мой ответ вам.
Я не говорю про то, что получить свою законную ЗП это значит сдаться. Я говорю о том, что недобросовестный противник сможет использовать этот факт против нас в прессе, как оно уже это делает.
Не переживайте. За нашей «высокой зарплатой» мы рано или поздно придем, чего, действительно, деньги-то терять.
Я не считаю, что факты против нас. Я считаю, что со стороны противника фактов просто нет. Есть письма и предложение в них поверить. И зарплата 20-ого числа.
Формальная правота не состоялось уже по причине того, что не состоялось акционерное собрание, ЗП и прочие выплаты были просрочены, братки-таки вели себя не очень красиво (в комментах пишут, что еще и не очень законно). Пожалуйста, не игнорируйте этот факт
Пардон, вы считаете, что мы держим голову в песке? Мы не желаем связываться с этими людьми. Обращаю ваше внимание на то, что они пока не прокомментировали конкретно _наши_ претензии, озвученные в этом посте.
Кроме того, у нас есть опасение, что, получив зарплату (и даже обещанный нам аванс за январь) мы дадим повод написать о нас что-то в духе «бунтовщики сдались, получили зп и уже завтра встанут на рабочие места». С них станется. А вы им поможете здесь, на хабре
Можем, более того, кто-то ее уже получил. Нашим иностранным коллегам вообще надо лететь к себе домой на рождество с новым годом, поэтому деньги для них особенно актуальны.
Однако, замечу, что на календаре нынче 20 декабря, и З/П была просрочена где-то на 2 недели. То есть, они, конечно, молодцы, что сегодня соизволили произвести выплаты, но это не отменяет того факта, что из-за блокировки счета мы не получили ее вовремя, а так же не смогли заплатить лейблам и банально за доставку воды.
Мы на нее не явились. Собрания акционеров там также не проводилось.
Не сложно предугадать ваши дальнейшие вопросы, исходя из занимаемой вами позиции, поэтому отвечу сразу.
Не явились, потому что опасались давления, см. выше. Братков в первый день знакомства нам хватило. Кроме того, мы проигнорировали это приглашение из солидарности с «прежним» руководством. Насколько нам известно, пресс-конференции там так же не состоялось
Безусловно, обе стороны крайне заинтересованы. И финансово, и репутационно.
Однако в данной ситуации мы, сотрудники, являемся третьей заинтересованной стороной. Мы хотим, в первую очередь, чтобы восторжествовала правда, какой бы она ни была. Пусть оперативно начнется непредвзятое следствие. Пусть соберутся акционеры. Мы очень хотим продолжить нашу работу в прежнем режиме.
Если этот или другие наши посты разойдутся широко по интернету, то, я считаю, что у правды появится гораздо больше шансов быть обнаруженной
В таком случае, обратитесь к нашему посту и конкретно к списку доводов относительно того, почему мы считаем смену СЕО неправомерной. В остальном же искренне обрадован вашим здравомыслием и непредвзятостью
У вас тоже есть возможность повлиять на исход этого дела, придав его огласке. Это, безусловно, исключительно ваше решение, но я бы хотел заметить, что шансов узнать истину (какой бы она ни была) при активном общественном контроле намного больше, чем без него
Кстати, из julia легко вызывать код на Си или питоне
Пример:
r = a * k + b + c(здесь a, b, c — массивы, а k — скаляр).
При наивной реализации компилятора/библиотеки этот код приведет к созданию 2-х временных массивов, в первый будет записан результат умножения, во второй результат сложения, ну и если особенно сильно не повезет, то добавится и третий временный массив. В настоящий момент, насколько мне известно, в python/numpy все обстоит именно таким образом. Накладные расходы на выделение памяти могут быть не столь заметны, если язык в целом довольно медленный, и мы счастливы просто от того, что может вызывать быстрые функции из BLAS/LAPACK, но после того, как все вычисления векторизованы до упора, а производительность надо поднять еще и еще, то нужно продолжать сбрасывать балласт.
И тут в julia есть замечательный механизм макросов и библиотека Devectorize, которая позволяет мне написать:
@devectorize r = a .* k + b + c(здесь .* — это поэлементное умножение, сейчас станет понятно, для чего требуется это уточнение), и для данного конкретного примера автоматически вместо данной строчки будет сгенерирован цикл:for i in 1:length(a) r[i] = a[i] * k + b[i] + c[i] endВ данном коде не происходит создания временных объектов, а благодаря тому, что в julia циклы быстрые, почти такие же как в Си, то мы получаем еще немного (на самом деле очень много) пространства для оптимизации без нужды писать некрасивые циклы.
Про заботу о конфиденциальности пользователей, к сожалению, я не очень верю.
Кроме того, алгоритм Витерби вообще говоря является частным случаем более сложного алгоритма belief propagation (max-product / max-sum), который грубо говоря делает все то же самое, но не только для цепочек, а для произвольных деревьев. Алгоритмы этого семейства довольно хорошо исследованы и имеют хорошие приближенные параллельные варианты. Может показаться, что параллельность здесь вставляется очевидно — в прямой проход во время вычисления стоимости для следующего возможного состояния (можно паралеллить по этим состояниям), но, увы, состояний обычно достаточной мало, поэтому такое распараллеливание не приносит особой выгоды. Это все, правда, заслуживает отдельной статьи
2. То есть нам в минус то, что мы не используем какую-то принципиально отличную лексику от Алексея? «наша компания и мы ей владеем» — это вам было угодно собрать эти слова в кавычки, мы же написали, что с идейной точки зрения считаем ее нашей, но нашей не значит «принадлежащей нам».
Братков мы на веру не принимали, их наши коллеги встретили в офисе.
А нашему старому руководству мы вообще-то действительно доверяем, как вы верно подметили. С этого, можно сказать, и начали. Почему само по себе это так подозрительно?
3. Аргументы у нас как раз вовсе не эмоциональные. Сам факт записи удручает и дискредитирует, но помимо нее есть еще это несчастное собрание акционеров. Есть блокированные счета. Как с этим быть? Тоже списать на эмоции? Мне кажется, вы несколько необъективны, поскольку уверенно обходите стороной эти вопросы.
Я не говорю про то, что получить свою законную ЗП это значит сдаться. Я говорю о том, что недобросовестный противник сможет использовать этот факт против нас в прессе, как оно уже это делает.
Не переживайте. За нашей «высокой зарплатой» мы рано или поздно придем, чего, действительно, деньги-то терять.
Я не считаю, что факты против нас. Я считаю, что со стороны противника фактов просто нет. Есть письма и предложение в них поверить. И зарплата 20-ого числа.
И, кстати, про обиды тут
Кроме того, у нас есть опасение, что, получив зарплату (и даже обещанный нам аванс за январь) мы дадим повод написать о нас что-то в духе «бунтовщики сдались, получили зп и уже завтра встанут на рабочие места». С них станется. А вы им поможете здесь, на хабре
Однако, замечу, что на календаре нынче 20 декабря, и З/П была просрочена где-то на 2 недели. То есть, они, конечно, молодцы, что сегодня соизволили произвести выплаты, но это не отменяет того факта, что из-за блокировки счета мы не получили ее вовремя, а так же не смогли заплатить лейблам и банально за доставку воды.
Не сложно предугадать ваши дальнейшие вопросы, исходя из занимаемой вами позиции, поэтому отвечу сразу.
Не явились, потому что опасались давления, см. выше. Братков в первый день знакомства нам хватило. Кроме того, мы проигнорировали это приглашение из солидарности с «прежним» руководством. Насколько нам известно, пресс-конференции там так же не состоялось
Насчет 15 млн — сколько по-вашему стоит построить content delivery network и заключить соглашения с лейблами?
Однако в данной ситуации мы, сотрудники, являемся третьей заинтересованной стороной. Мы хотим, в первую очередь, чтобы восторжествовала правда, какой бы она ни была. Пусть оперативно начнется непредвзятое следствие. Пусть соберутся акционеры. Мы очень хотим продолжить нашу работу в прежнем режиме.
Если этот или другие наши посты разойдутся широко по интернету, то, я считаю, что у правды появится гораздо больше шансов быть обнаруженной