@haskellru

Страница 210 из 1551
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

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
потому, что он полагается на хэши sha1 и теперь можно подбирать объекты, которые им соответствуют?
Для такой атаки нужен доступ к репозиторию на запись, а с ним, думаю, и так много способов все сломать

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, я молчал. когда пришли за мной, никто не заступился за меня.

Google
Ilya
24.02.2017
07:58:05
Тёма
24.02.2017
08:14:37
гиту пипец, хотя он вроде бы может переехать на sha256
Почему пипец? Если в гите встречаются два объекта с одинаковыми хешами, то более старый всегда будет перезаписывать более новый. Ссылочка на комментарий Линуса: http://marc.info/?l=git&m=115678778717621&w=2

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
@vlastachu дело даже не в идрисе конкретно, любые реплы в режиме вима в spacemacs не юзабельные какие-то ((
так в емаксовом режиме там всё ок, ну то есть автодополнение, подсветка, команды работают, прекрасный репл

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
с идрисом так не прокатити?
конечно прокатит, но как-то... к примеру я сохраняю файл (ещё не забиндил на сохранение, нажимаю какое-то длинное сочетание клавиш), оно показывает ошибки, показывает подсказки прувера и заодно перезакгружает репл

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

ну хорошо, пойду по наименьшему сопротивлению – настрою атом

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
ты о ProofGeneral?
не знаю такого слова

Vladimir
24.02.2017
21:49:20
не знаю такого слова
ну это для Coq в Emacs

больше ничего и нет вроде

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

Страница 210 из 1551