Из жизни людоедов:
- Смоем Британию радиоактивным цунами
- Россия не требует, чтобы президент Украины сдался, она требует, чтобы он отдал приказ прекратить сопротивление
- Я могу и ошибаться, но у Гитлера тоже была еврейская кровь
- Украина и Запад пошли дальше Гитлера
- Заберем и отправим Украинское зерно и кукурузу в Китай
- Град с шинами made in USSR
- Сотни ботов, рассказывающих, что "Russia is shaping the battlefield"
Из жизни людоедов:
- "За что мы сражаемся? Да как всегда, за наших/правду/будущее/..."
- Художественная резьба по квотингу из статьи в Гардиан, призванная доказать: Буча - это все неправда и провокация. (раз, два, три)
- Решение о вывозе зерна из Херсонской области
- Россия не могла не начать спецоперацию, поскольку альтернативой был бы развал страны
- "Освободив мир от оскотинивания, на которое его обрекли вожди, выдвинутые мелкими буржуа и мелкими лавочниками, Россия, выбрав путь возвращения к истокам и к принципам, сделала на нем первые шаги. Хватит ли сил, чтобы пройти его до конца?"
- Украинские няни проникают в ваши детские сады
Из жизни людоедов:
- Во второй мировой войне, весь мир воевал против России , прямо как сейчас.
- Впрочем, с более древней историей тоже все не слава богу: мама у Рюрика была славянка
- Все, Украинская армия выдохлась (в комментах победобесие)
- На крейсере Москва погиб один человек, все остальные эвакуированы
- Россия засекречивает данные о торговле с другими странами
Очередная порция из жизни людоедов:
- Борщ - это экстремизм и нацизм (Мария Захарова)
- Митинг "против дискриминации детей" в Германии с имперской, советской, военной символикой
- Что же делать с тем, что в Украине нас теперь не любят (комментари)?
- Россия не заботиться о захваченных территориях - как же так?
- Донецкий котел захлопывается! (в 1247 раз)
- Обсуждение импортозамещения подшипников
- Обсуждение курсов и перевода денег в Россию
- Как зарегать в России машину, пригнанную из Украины?
- Пасха с буквой Z
Очередная порция людоедов для истории.
- "Война на Украине какая-то нежесткая, надо жестче."
- "Я привезла гуманитарку из ЛНР(кажется?) в Мариуполь" - видно, как автор старался написать обезличенный текст с "тут стреляют , убивают, взрывают, оно разрушено, развалено, ..." максимально далеко обходя "и кто же это сделал?"
- "Буча - фейк, Зеленский - фейк, вообще все фейк"
- Автор пишет текст про украинский национализм в популярном жанре "а вот во времена молодости", и палится на "а на выпускной они пошли смотреть на Чернобыль, и все заразились"(?!!!!)
- "Доллар по 75!" - из-за текущей "профдеформации" это особенно смешно.
- "Вы ничего не знаете, в Херсоне уже мир и порядок"
- "Как заставить мир поверить, что Буча - это дело рук Украины?"
Надо было раньше начать записывать, но было не до того. В ФБ/OK/VK люди пишут коротко, а в ЖЖ по-прежнему пишут простыни и "программные тесты". Ссылки для себя, чтобы можно было посмотреть, о чем же писали пользователи ЖЖ из России в ходе войны (и что писали в комментариях). Выборка, естественно, полностью предвзятая.
- "Власти Украины уже идут под крыло России"
- Рубль крепнет, а доллару скоро конец
- На самом деле в Буче ничего не было, Россия отошла, т.к. очень гуманна
- Еще один лонгрид про "окончательное решение Украинского вопроса"
- ВСУ в Мариуполе сдаются
- Куда бы поехать в Украину после окончательной победы
- Буча - это фейк, и вот почему (кажется самая полная с
- Вас устроит, если Украина согласится отдать оккупированные территории (опрос с 1000 ответов)
- Санкционные перспективы микроэлектроники в России
- Давайте закроем выезд IT-специалистам
- Вот нацисты и вот нацисты, правильно мы на вас напали
- Мы не могли не напасть
- Это вы над нами шутили-шутили и дошутились
- Зря Украина взорвала театр в Мариуполе
- Где руины Мариуполя? Нет руин в Мариуполе
- По-моему самый первый пост про "Где же вы были 8 лет?"
Поскольку сейчас любые средства расширения аудитории хороши, напишу и тут тоже.
Я написал и обновляю FAQ по переселению беженцев из Украины в Великобританию
Правки/комментарии/... приветствуются (прямо там в документе)
Я написал и обновляю FAQ по переселению беженцев из Украины в Великобританию
Правки/комментарии/... приветствуются (прямо там в документе)
I've helped a friend to move from LiveJournal to Dreamwidth, which prompted them to make LiveJournal and Dreamwidth backups which in turn prompted me to collect all the recent patches for ljdump and make it work with TLS+"clear" auth.
Repo could be found here: https://github.com/adept/ljdump
Repo could be found here: https://github.com/adept/ljdump
This is part two of the writeup, part one could be found here.
Day 3 (morning of Sunday)( Read more... )
Day 3 (morning of Sunday)( Read more... )
Gather round and settle down for the next instalment of the ICFPC write-ups.
ICFPC stands for ICFP Contest (and ICFP, in turn, stands for International Conference on Functional Programming), and I have been participating in them since early 2000s and writing up my adventures here. My most famous writeup (in Russian) about the best ICFPC so far -- 2006 -- could be found here.
TL;DR: This year, our team name was "Folding at home", there were three of us + my wife who solved a bunch of puzzles manually (but did not write code). We wrote an interactive computer-aided solver in OCaml and finished 36th in the Lightning Round and 21st in the Main Round. I liked this year's contest more than 2020 (but less than 2006 :). Puzzle was somewhat similar to the Origami puzzle from ICFPC-2016.
And if you want to know more than just TLDR, prepare for the wall of text :) ( Let's go )
ICFPC stands for ICFP Contest (and ICFP, in turn, stands for International Conference on Functional Programming), and I have been participating in them since early 2000s and writing up my adventures here. My most famous writeup (in Russian) about the best ICFPC so far -- 2006 -- could be found here.
TL;DR: This year, our team name was "Folding at home", there were three of us + my wife who solved a bunch of puzzles manually (but did not write code). We wrote an interactive computer-aided solver in OCaml and finished 36th in the Lightning Round and 21st in the Main Round. I liked this year's contest more than 2020 (but less than 2006 :). Puzzle was somewhat similar to the Origami puzzle from ICFPC-2016.
And if you want to know more than just TLDR, prepare for the wall of text :) ( Let's go )
ICFPC-2020: To boldly go ... where?
2020-07-22 10:59 pmThis is part two of the ICFPC-2020 write up. Part one is here.( Read more... )
Time to break the long radio silence to treat you to another tale of my ICFPC adventures. For uninitiated, ICFPC stands for ICFP Contest (and ICFP, in turn, stands for International Conference on Functional Programming), and I have been participating in them since ... well, since time immemorial (2004? 2003?) and writing up my adventures here. My most famous writeup (in Russian) about the best ICFPC so far -- 2006 -- could be found here.
This time I am going to do the write-up in English because there would be lots of English text quoted, and because I want my teammate (Hi, Alex!) and colleagues to read it.( Let's go... )
This time I am going to do the write-up in English because there would be lots of English text quoted, and because I want my teammate (Hi, Alex!) and colleagues to read it.( Let's go... )
It is this time of the year again :)
Борода еще седее, но совсем чуть-чуть. Внезапно обнаружил себя родителем школьника. Проекты с детьми сложнее, чем проекты на github. Плюс один иностранный язык, хоть и со скрипом. На работе учил интерна, который моложе, чем мой .emacs. Внезапно понял, что в текущей индустрии уже столько же, сколько до этого провел в предыдущей. Один год - это больше, чем 1 миллион шагов, но меньше, чем два. Планов еще больше, а времени для них еще меньше (но это по-прежнему лучше, чем наоборот).
Борода еще седее, но совсем чуть-чуть. Внезапно обнаружил себя родителем школьника. Проекты с детьми сложнее, чем проекты на github. Плюс один иностранный язык, хоть и со скрипом. На работе учил интерна, который моложе, чем мой .emacs. Внезапно понял, что в текущей индустрии уже столько же, сколько до этого провел в предыдущей. Один год - это больше, чем 1 миллион шагов, но меньше, чем два. Планов еще больше, а времени для них еще меньше (но это по-прежнему лучше, чем наоборот).
ICFPC-2018
2018-07-25 07:01 pmВ этом году ICFPC был про футуристическую 3D печать.
Коротко задачу можно описать так:
Вам дается описание 3d-модели, составленой из кубиков одинакового размера. Все кубики или стоят на земле или одной из сторон соединены с каким-то другим кубиком. У вас есть "нанобот", который может перемещаться в пространстве (наплевав на гравитацию) и "печатать" кубики в непосредственной близости от себя. Кроме того, от бота можно "отпочковать" нового бота (и так до 20 штук) и кроме того, можно временно "включить антигравитацию" в зоне печати, и тогда кубики, не прикрепленные к чему-то, будут висеть в том месте, в котором их напечатали. При отключенной антигравитации висящие в воздухе кубики считаются фатальной ошибкой и вызывают завершение программы.( Read more... )
Коротко задачу можно описать так:
Вам дается описание 3d-модели, составленой из кубиков одинакового размера. Все кубики или стоят на земле или одной из сторон соединены с каким-то другим кубиком. У вас есть "нанобот", который может перемещаться в пространстве (наплевав на гравитацию) и "печатать" кубики в непосредственной близости от себя. Кроме того, от бота можно "отпочковать" нового бота (и так до 20 штук) и кроме того, можно временно "включить антигравитацию" в зоне печати, и тогда кубики, не прикрепленные к чему-то, будут висеть в том месте, в котором их напечатали. При отключенной антигравитации висящие в воздухе кубики считаются фатальной ошибкой и вызывают завершение программы.( Read more... )
ICFPC-2018
2018-07-20 10:51 pmТем временем незаметно подкрался очередной ICFPC: https://icfpcontest2018.github.io/
В этом году программируем нано-3D принтеры.
Пока пишу сам, на ocaml-е. Если кто хочет за компанию - пишите :)
В этом году программируем нано-3D принтеры.
Пока пишу сам, на ocaml-е. Если кто хочет за компанию - пишите :)
Первая часть рассказа вот тут, в ней было про финансы, а тут мы поговорим про не-финансовые аспекты.( Read more... )
Работа в UK - считаем деньги
2018-04-08 02:53 pmСпециально для Макса и Жени и ещё Жени :)
Допустим, вы получили offer на работу в UK. Как понять, насколько он хорош, и во что выльется переезд и жизнь в Великобритании? ( Read more... )
Допустим, вы получили offer на работу в UK. Как понять, насколько он хорош, и во что выльется переезд и жизнь в Великобритании? ( Read more... )
Galactic Puzzle Hunt - 2018
2018-03-29 08:49 pmЧто-то я давно ничего не писал. Напишу-ка я про то, как мы поучаствовали в Galactic Puzzle Hunt
( Read more... )
( Read more... )
Время идет. Борода стала чуть седее. Дети стали чуть старше. Пережит один переезд и 0.1 ремонта. Пройдено 1400 км. Сменил метро на поезд, а лис - на зайцев. За окном проезжают brexit, MIFID и Трамп. Перезимовали суровую английскую зиму с метелями и снегопадами. Минус две социальные сети. Плюс три настольных игры. Много планов, но мало веремени (но это лучше, чем наоборот :)
Спасибо за поздравления!
Спасибо за поздравления!
У меня в ЖЖ было куча ссылок между постами, и я хотел в DW поправить их так, чтобы они вели на соответствующие посты в DW.
Оказалось, что все велосипеды уже придуманы до нас :) Вот тут человек наколхозил скрипт, который пробегает по архиву, сделанному ljdump, собирает соответствия между URL-ами в ЖЖ и DW, правит посты и обновляет их в DW.
Из коробки скрипт у меня не заработал, пришлось его чуть поправить, чтобы он умел работать с ЖЖ-никами, в которых есть подчеркивания (как это было у меня). Результат на github-е (https://github.com/adept/ljdump/blob/master/fix_links.py), запускать из директории с результатами ljdump.
Оно будет показывать diff для всех поправленных постов и после подтверждения обновлять их. Можно выбрать альтернативную программу для сравнения через переменную окружения DIFF.
Я запускал так: DIFF=patdiff ~/path/to/fix_links.py
Вроде бы как все переехало нормально, ссылки поправлены, ничего не поломалось.
UPD: Заодно, вписав в скрипт пару строк вида url['вот это']='заменить на это', пофиксил все картинки, которые поломались после того, как dropbox закрыл public фолдеры. Красота!
Оказалось, что все велосипеды уже придуманы до нас :) Вот тут человек наколхозил скрипт, который пробегает по архиву, сделанному ljdump, собирает соответствия между URL-ами в ЖЖ и DW, правит посты и обновляет их в DW.
Из коробки скрипт у меня не заработал, пришлось его чуть поправить, чтобы он умел работать с ЖЖ-никами, в которых есть подчеркивания (как это было у меня). Результат на github-е (https://github.com/adept/ljdump/blob/master/fix_links.py), запускать из директории с результатами ljdump.
Оно будет показывать diff для всех поправленных постов и после подтверждения обновлять их. Можно выбрать альтернативную программу для сравнения через переменную окружения DIFF.
Я запускал так: DIFF=patdiff ~/path/to/fix_links.py
Вроде бы как все переехало нормально, ссылки поправлены, ничего не поломалось.
UPD: Заодно, вписав в скрипт пару строк вида url['вот это']='заменить на это', пофиксил все картинки, которые поломались после того, как dropbox закрыл public фолдеры. Красота!
Как я переезжаю в dreamwidth
2017-04-06 10:54 pmСказал сделать импорт всего, importer отругался, что "Unable to load FOAF data", но вроде все из профиля втянул. Что ему не нравиться - неясно, в ЖЖ по ссылке /data/foaf все отлично отдается.
Взял ljdump.py отсюда, добавил два патчика отсюда и выкачал им все из ЖЖ и из dreamwidth.
С помощью bash и patdiff сравнил выкачанное, наколхозив вот такой скрипт:
Страшный sed из-за того, что в ссылки на пользователей ЖЖ dreamwidth добавляет site="livejournal.com" и обязательные кавычки вокруг имени пользователя.
Похоже, не переехало только embedded video, а все остальное - пучком. Настроил кросспост в ЖЖ. Что еще я пропустил?
Что DW делает с френдами, которые тоже переехали сюда? Как-то их вычисляет/добавляет, или нет?
Взял ljdump.py отсюда, добавил два патчика отсюда и выкачал им все из ЖЖ и из dreamwidth.
С помощью bash и patdiff сравнил выкачанное, наколхозив вот такой скрипт:
#!/bin/bash
lj="$1"
dw="$2"
for l in ${lj}/L-* ; do
l_url=$(xmlstarlet sel -t -v "event/url" -n $l | grep -o '[0-9]*')
d=$(ag -l "/${l_url}</import_source" ${dw})
d_url=$(xmlstarlet sel -t -v "event/url" -n $d | grep -o '[0-9]*')
echo "$l (${l_url}.html) vs ${d} (${d_url}.html)"
[ -z "$d" ] && { echo "cant find dw post for $l"; exit 1; }
patdiff -ascii <(xmlstarlet sel -t -v "event/event" -n $l | \
sed -re 's#lj (user|comm)="?([^ &"]*)"?[^&]*>#user site="livejournal.com" \1="\2"\>#g') \
<(xmlstarlet sel -t -v "event/event" -n $d)
done
Страшный sed из-за того, что в ссылки на пользователей ЖЖ dreamwidth добавляет site="livejournal.com" и обязательные кавычки вокруг имени пользователя.
Похоже, не переехало только embedded video, а все остальное - пучком. Настроил кросспост в ЖЖ. Что еще я пропустил?
Что DW делает с френдами, которые тоже переехали сюда? Как-то их вычисляет/добавляет, или нет?
So long, and thanks for all the fish
2017-04-04 10:03 pmЖурнал переехал на https://dastapov.dreamwidth.org/
Сделал на день рождения жены квест. Кто хочет, может попробовать свои силы тут.
Комменты скринятся
UPD 1:
Я css и javascript/DOM не умею на уровне "читаю со словарем, сталкиваюсь раз в два года", поэтому все простенькое и страшненькое
UPD 2:
Судя по некоторым комментариям, кажется, что там один майнсвипер. Это не так :)
UPD 3:
Первыми на финише отметились:
Комменты скринятся
UPD 1:
Я css и javascript/DOM не умею на уровне "читаю со словарем, сталкиваюсь раз в два года", поэтому все простенькое и страшненькое
UPD 2:
Судя по некоторым комментариям, кажется, что там один майнсвипер. Это не так :)
UPD 3:
Первыми на финише отметились:
- catap
- x
- swizard
ICFPC-2016: afterparty
2016-09-21 10:17 pmОрганизаторы выложили результаты
Моя скромная команда сползла с 19-го места на 22-е (все равно, я считаю, офигенно для этого подхода к решению).
Первое место, как и в прошлом году, взяли Unagi и вот тут можно посмотреть, как работает их солвер.
Lightning round полностью вручную взял jabber.ru, как уже было, кажется, в 2007-м году.
Моя скромная команда сползла с 19-го места на 22-е (все равно, я считаю, офигенно для этого подхода к решению).
Первое место, как и в прошлом году, взяли Unagi и вот тут можно посмотреть, как работает их солвер.
Lightning round полностью вручную взял jabber.ru, как уже было, кажется, в 2007-м году.
Butt Naked
2016-08-18 10:56 pmХодил на днях в театр смотреть The Book of Mormon. Это такая религиозная сатира про мормонов, как очевидно из названия. Авторы - Трей Паркер и Мэтт Стоун, которые South Park. Сам спектакль более умеренный, чем любая серия South Park, но "талант не пропьешь", и весь спектакль там ездят паровым катком по религии вообще, мормонам в частности, по американцам, рассовым стереотипам и т.д. и т.п.
Все герои, и главные, и второстепенные, имеют вполне обычные имена - за исключением полевого командира в Уганде, который называет себя General Butt-F@#$ing-Naked. Объясняет он это тем, что сейчас он тут будет грабить и убивать, а кто осмелиться сказать слово поперек - с тем он разберется лично, немедля голову долой и все такое -- и делать это он все будет в чем мать родила, отсюда и имя. Удивительно, правда, то, что дальше по ходу пьесы ни имя, ни его поведение никак не обыгрывается и его с таким же успехом могли бы звать Джон Смит. Ну, вполне в духе South Park, ладно.
По пути домой я читаю википедию про спекталь, реакцию на него мормонов и т.п. и тут ВНЕЗАПНО.
Все герои, и главные, и второстепенные, имеют вполне обычные имена - за исключением полевого командира в Уганде, который называет себя General Butt-F@#$ing-Naked. Объясняет он это тем, что сейчас он тут будет грабить и убивать, а кто осмелиться сказать слово поперек - с тем он разберется лично, немедля голову долой и все такое -- и делать это он все будет в чем мать родила, отсюда и имя. Удивительно, правда, то, что дальше по ходу пьесы ни имя, ни его поведение никак не обыгрывается и его с таким же успехом могли бы звать Джон Смит. Ну, вполне в духе South Park, ладно.
По пути домой я читаю википедию про спекталь, реакцию на него мормонов и т.п. и тут ВНЕЗАПНО.
ICFPC-2016: день третий
2016-08-09 11:52 pmПредыдущие части : день первый, день второй.
На третий день (традиционно, в 10:00) я обнаружил, что сполз до 42 места (из около 200 активных участников). Какое-то время ушло на вытягивание новых задач и разглядывание того, как другие участники решают мои задачи. В 11:00 я вернулся к написанию солвера.( Read more... )
На третий день (традиционно, в 10:00) я обнаружил, что сполз до 42 места (из около 200 активных участников). Какое-то время ушло на вытягивание новых задач и разглядывание того, как другие участники решают мои задачи. В 11:00 я вернулся к написанию солвера.( Read more... )
ICFPC-2016: день второй
2016-08-09 10:16 pm(предыдущая часть, следующая часть)
Первый день у меня закончился тем, что я пробовал сделать модель "бумаги", которую можно будет "гнуть", и потом извлекать из нее результаты сгибания в виде, пригодном для отправки на сервер в качестве решения.( Read more... )
Первый день у меня закончился тем, что я пробовал сделать модель "бумаги", которую можно будет "гнуть", и потом извлекать из нее результаты сгибания в виде, пригодном для отправки на сервер в качестве решения.( Read more... )
ICFPC-2016: день первый
2016-08-09 12:31 am(Это первая часть рассказа, а вот вторая и третья)
В этом году ICFPC был про оригами.
Вам дается контур сложенной из бумаги плоской фигуры (в виде координат точек) и вы должны ее сложить. Для тех, кто уже офигел и не знает, за что хвататься, дается дополнительная подсказка - еще одна "картинка", показывающая все ребра и складки в этом контуре -- представьте, что вы смотрите оригами "на просвет", однако при этом все точно совпадающие складки и ребра сливаются воедино. Организаторы называли это "контуром" и "скелетом". Еще про оригами известно то, что оно сложено из листа бумаги размером 1x1. ( Read more... )
В этом году ICFPC был про оригами.
Вам дается контур сложенной из бумаги плоской фигуры (в виде координат точек) и вы должны ее сложить. Для тех, кто уже офигел и не знает, за что хвататься, дается дополнительная подсказка - еще одна "картинка", показывающая все ребра и складки в этом контуре -- представьте, что вы смотрите оригами "на просвет", однако при этом все точно совпадающие складки и ребра сливаются воедино. Организаторы называли это "контуром" и "скелетом". Еще про оригами известно то, что оно сложено из листа бумаги размером 1x1. ( Read more... )