
Vladimir
23.02.2017
08:04:36
я не пойму почему ты это ставишь в претензию hackage
просто кто-то что-то не залил))

Alexander
23.02.2017
10:48:35
@voidlizard сплю, делаешь структуру V1 сериализуешь через safeCopy, на другой стороне через safeGet читаешь, если потом меняешь ее - то старую переименовываешь старую структуру в V0, пишешь новую и тайпкласс для миграции, если тебе приходит V0 то к нему автоматом применяется преобразование

Dmitry
23.02.2017
10:48:59
как бойлерплейта избежать при копировании?

Google

Alexander
23.02.2017
10:49:04
Но так не все миграции и с миграциями при связанных событиях сложно, как порешали скажу как
Весь бойлерплейт это старые структуры в коде и класс миграции
Не очень дорого, тем более что их в специальный модуль положить можно

Dmitry
23.02.2017
10:49:48
ну код миграции это по сути копирования одних (всех) полей в другие и инициализация новых полей
https://gist.github.com/voidlizard/5a937e7e407c625a894c9c88a37693c8
бойлерплейт же по сути дела

Alexander
23.02.2017
10:50:45
Ну без него как-то сложно..

Dmitry
23.02.2017
10:51:01
ну да, обсудили - coerce здесь не поможет
но как-то вообще не алё выглядит

Alexander
23.02.2017
10:51:45
Ну а как кроме, только протобуф если
Где поля индексированы и есть default для новых

Dmitry
23.02.2017
10:52:53
ладно, проще смириться, наверное.

Alexander
23.02.2017
11:21:38
Можно наверное как протобуф сделать, но там же тоже бойлерплейт будет..

Google

Dmitry
23.02.2017
11:22:03
не, это всё негуманно уже

Alexander
23.02.2017
11:30:25
У нас то вообще задница, у нас граф в котором экзестенциальные типы живут
Между версиями типы могут меняться так что нужно читать весь граф чтобы значение восстановить
А в новой версии новые типы и надо уметь прочитать старые бинарные данные и восстановить
Поидее RFC на то как это делать написали, но пока не запилили

Vladimir
24.02.2017
00:25:48
лол
практическая атака на SHA1
солидно

Dmitry
24.02.2017
05:32:52
гиту пипец, хотя он вроде бы может переехать на sha256

Vladislav
24.02.2017
05:40:03

Dmitry
24.02.2017
05:40:39
потому, что он полагается на хэши sha1 и теперь можно подбирать объекты, которые им соответствуют?

Vladislav
24.02.2017
05:40:40
Там вроде не используются криптографические свойства sha1

Dmitry
24.02.2017
05:40:44
но я не читал статью об атаке

Vladislav
24.02.2017
05:49:24

Alexander
24.02.2017
06:12:02
Я правильно понял, что они там генерят 2 одинаковых файла (по хешу), а не по нужному sha строят файл?

Vladislav
24.02.2017
06:13:27
они пока только одну пару сгенерировали
причем потратив кучу ресурсов:
"This attack required over 9,223,372,036,854,775,808 SHA1 computations. This took the equivalent processing power as 6,500 years of single-CPU computations and 110 years of single-GPU computations."

Vladimir
24.02.2017
07:49:18

Max
24.02.2017
07:52:35
сначала они пришли за md5, я молчал. потом пришли за sha-1, я молчал. когда пришли за мной, никто не заступился за меня.

Pepe
24.02.2017
07:54:31

Google

Ilya
24.02.2017
07:58:05

Тёма
24.02.2017
08:14:37

Pepe
24.02.2017
08:16:07
Чё то не понял они использовали статью или свой алгоритм разработали

Igor
24.02.2017
08:25:15
я даже как-то раз был тем счастливчиком, столкнувшимся с совпадением хешей, это я ещё только осваивал гит и был очень рад сложившимся обстоятельствам. ?

Тёма
24.02.2017
08:26:53
Почему пользователям? От удачно проведённой атаки, sha-1 не будет "коллизиться"через коммит. Да и мне sha-1 нравится. Назовут чексуммой и дальше будут использовать.
А что вышло? Просто тихо ничего не сработало?

Igor
24.02.2017
08:29:04
but since it [sha1 hash] matches an old object, a new object won't be created, and the commit-or-index ends up pointing to the _old_ object.ага.
я вроде просто потом пару пробелов в код добавил или пустую строку в конец файла, и нормально, зашло. но я долго не понимал проблемы.

Тёма
24.02.2017
08:31:04
Очень, очень счастливый человек.

Max
24.02.2017
08:31:32
раньше наверное коллизии чаще были
потому что я тоже в самом начале натыкался, а потом много лет не вижу такого
может раньше он как-то иначе считался, или ошибки какие-то были, хз

Тёма
24.02.2017
08:39:09
Из того, что я помню, были коллизии в аббревиатурах (укорочённых хешах)
Вроде дефолт был равен 7 и это не конфигурилось никак
Подвижки в вычислении нужного числа символов в укорочённых хешах до сих пор есть.
Кому интересно, можно посмотреть
https://github.com/git/git/commit/e6c587c733b4634030b353f4024794b08bc86892

Boris
24.02.2017
09:00:51
Добрый день, тут на хакерранке время убивал, нашел физзбазз соревнование. Чем короче написать тем больше баллов. Есть блог пост https://dmytrish.wordpress.com/2013/10/10/haskell-fizzbuzz/
Сумел улучшить на два символа, но судя по лидерборду можно еще на два символа сократить. Убил два дня. Два вопроса - как все таки тут еще можно сократить решение? И второй, что посмотреть на тему генерации хаскель кода на хаскеле. Чтобы написать поиск самой короткой программы?
r n=drop.(*)9.rem n
main=mapM(\n->putStrLn$max(show n)$r n 3"Fizz"++r n 5"Buzz")[1..100]

Ilya
24.02.2017
09:03:42
ого, какая жесть

Boris
24.02.2017
09:05:27
https://www.hackerrank.com/challenges/fizzbuzz/leaderboard
а вот и лидербор

Google

Alexander
24.02.2017
09:40:17
все равно баш выиграет или перл какой
на hackerrank был fizbuz в code pingpong

Boris
24.02.2017
10:53:32
ну перл и выиграл, 48 чтоли

Misha
24.02.2017
12:58:37
https://docs.perl6.org/language/haskell-to-p6
теперь только перл

Vyacheslav
24.02.2017
13:00:54
??

? animufag ?
24.02.2017
21:08:26
Думаю здесь найдутся emacs-, evil-, spacemacs- шарящие.
В общем решаю задачки по идрису и заодно решил посмотреть на spacemacs. в режиме emacs всё норм, но сочетания слишком длинные
M-m m h a Search the documentation for a string.
в режиме вима или гибриде я не могу выполнить команду в репле (нажимаю i ввожу что-нибудь, нажимаю энтер и там в строке просто ставится пробел и всё). Не думаю что у кого-нибудь был ровно такой же случай, но наверняка есть догадки какая там должна быть стандартная клавиша для этого
_______
хотя чувствую постоянно нажмать i, esc в репле также надоест

Alexander
24.02.2017
21:20:54
/me мучается в виме

Anatolii
24.02.2017
21:21:59
что пошло не так?
вим же прекрасен

Serghei
24.02.2017
21:22:36
+1
он божественен

Vladimir
24.02.2017
21:23:07
@vlastachu дело даже не в идрисе конкретно, любые реплы в режиме вима в spacemacs не юзабельные какие-то ((
сам мучаюсь

? animufag ?
24.02.2017
21:23:16
ну вим с идрисом предлагает внешний репл использовать (вроде), что в принципе не так уж и плохо

Alexander
24.02.2017
21:23:32
idris filename, :e
я использую
но не знаю как это будет работать со многими файлами

? animufag ?
24.02.2017
21:24:12
ноо казалось бы это излишне если у тебя и так подключенный процесс висит

Vladimir
24.02.2017
21:24:32

Google

Vladimir
24.02.2017
21:25:04
или там снизу/сверху

? animufag ?
24.02.2017
21:25:23

Igor
24.02.2017
21:25:24
а атом никто не пользует? с идрисом.

Anatolii
24.02.2017
21:25:36
я тмукс спличу для ghci
с идрисом так не прокатити?

? animufag ?
24.02.2017
21:26:11

Igor
24.02.2017
21:31:42
ну, на лекциях бравита в спб все ребята, что я видел, его использовали.
генерация кода там тоже работала вроде как. так что хз зачем emacs. это просто у лектора любовь какая-то.

? animufag ?
24.02.2017
21:33:50
с идрисом так не прокатити?
конечно прокатит, но как-то...
к примеру я сохраняю файл (ещё не забиндил на сохранение, нажимаю какое-то длинное сочетание клавиш), оно показывает ошибки, показывает подсказки прувера и заодно перезакгружает репл
ну хорошо, пойду по наименьшему сопротивлению – настрою атом

Igor
24.02.2017
21:37:46
я пока не знаю, как туда попасть, но думаю даже поучаствовать.

? animufag ?
24.02.2017
21:43:36
ну я так помню вместе с кок была какая-то емакс подобная штука (мб просто настроенный емакс) и там прям вообще жить можно было.
А ещё атом хайпился не больше года, сейчас все фронтендщики перелазят на вс код. Не знаю есть ли хоть какие то объективные показатели в которых они различаются, но боюсь что атом мейнтейнеры забросят

Vladimir
24.02.2017
21:48:04
ты о ProofGeneral?
я его и в spacemacs прикручивал)

? animufag ?
24.02.2017
21:49:20

Vladimir
24.02.2017
21:49:20
больше ничего и нет вроде

? animufag ?
24.02.2017
21:50:25
я про coqide