dastapov: (Default)
2018-07-26 08:54 am

ICFPC-2018: видео

А вот как оно работало.

Сборка:


Разборка и переделка:
dastapov: (Default)
2018-07-25 07:01 pm

ICFPC-2018

В этом году ICFPC был про футуристическую 3D печать.

Коротко задачу можно описать так:

Вам дается описание 3d-модели, составленой из кубиков одинакового размера. Все кубики или стоят на земле или одной из сторон соединены с каким-то другим кубиком. У вас есть "нанобот", который может перемещаться в пространстве (наплевав на гравитацию) и "печатать" кубики в непосредственной близости от себя. Кроме того, от бота можно "отпочковать" нового бота (и так до 20 штук) и кроме того, можно временно "включить антигравитацию" в зоне печати, и тогда кубики, не прикрепленные к чему-то, будут висеть в том месте, в котором их напечатали. При отключенной антигравитации висящие в воздухе кубики считаются фатальной ошибкой и вызывают завершение программы.Read more... )
dastapov: (Default)
2018-07-20 10:51 pm

ICFPC-2018

Тем временем незаметно подкрался очередной ICFPC: https://icfpcontest2018.github.io/

В этом году программируем нано-3D принтеры.

Пока пишу сам, на ocaml-е. Если кто хочет за компанию - пишите :)
dastapov: (Default)
2018-04-08 02:59 pm

Работа в UK - здравоохранение, школа, съем жилья

Первая часть рассказа вот тут, в ней было про финансы, а тут мы поговорим про не-финансовые аспекты.Read more... )
dastapov: (Default)
2018-04-08 02:53 pm

Работа в UK - считаем деньги

Специально для Макса и Жени и ещё Жени :)

Допустим, вы получили offer на работу в UK. Как понять, насколько он хорош, и во что выльется переезд и жизнь в Великобритании? Read more... )
dastapov: (Default)
2018-03-29 08:49 pm

Galactic Puzzle Hunt - 2018

Что-то я давно ничего не писал. Напишу-ка я про то, как мы поучаствовали в Galactic Puzzle Hunt
Read more... )
dastapov: (Default)
2018-03-09 12:18 pm

0x28

Время идет. Борода стала чуть седее. Дети стали чуть старше. Пережит один переезд и 0.1 ремонта. Пройдено 1400 км. Сменил метро на поезд, а лис - на зайцев. За окном проезжают brexit, MIFID и Трамп. Перезимовали суровую английскую зиму с метелями и снегопадами. Минус две социальные сети. Плюс три настольных игры. Много планов, но мало веремени (но это лучше, чем наоборот :)

Спасибо за поздравления!
dastapov: (Default)
2017-07-12 10:05 pm

Как я переезжаю в dreamwidth, часть вторая: фиксим ссылки

У меня в ЖЖ было куча ссылок между постами, и я хотел в 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 фолдеры. Красота!
dastapov: (Default)
2017-04-06 10:54 pm

Как я переезжаю в dreamwidth

Сказал сделать импорт всего, importer отругался, что "Unable to load FOAF data", но вроде все из профиля втянул. Что ему не нравиться - неясно, в ЖЖ по ссылке /data/foaf все отлично отдается.

Взял 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)="?([^ &"]*)"?[^&]*&gt#user site="livejournal.com" \1="\2"\&gt#g') \
            <(xmlstarlet sel -t -v "event/event" -n $d)
done


Страшный sed из-за того, что в ссылки на пользователей ЖЖ dreamwidth добавляет site="livejournal.com" и обязательные кавычки вокруг имени пользователя.

Похоже, не переехало только embedded video, а все остальное - пучком. Настроил кросспост в ЖЖ. Что еще я пропустил?

Что DW делает с френдами, которые тоже переехали сюда? Как-то их вычисляет/добавляет, или нет?
dastapov: (new)
2017-01-15 09:13 pm
Entry tags:

Квестик

Сделал на день рождения жены квест. Кто хочет, может попробовать свои силы тут.

Комменты скринятся

UPD 1:
Я css и javascript/DOM не умею на уровне "читаю со словарем, сталкиваюсь раз в два года", поэтому все простенькое и страшненькое

UPD 2:
Судя по некоторым комментариям, кажется, что там один майнсвипер. Это не так :)

UPD 3:
Первыми на финише отметились:
  • catap
  • x
  • swizard
dastapov: (new)
2016-09-21 10:17 pm
Entry tags:

ICFPC-2016: afterparty

Организаторы выложили результаты

Моя скромная команда сползла с 19-го места на 22-е (все равно, я считаю, офигенно для этого подхода к решению).

Первое место, как и в прошлом году, взяли Unagi и вот тут можно посмотреть, как работает их солвер.

Lightning round полностью вручную взял jabber.ru, как уже было, кажется, в 2007-м году.
dastapov: (new)
2016-08-18 10:56 pm
Entry tags:

Butt Naked

Ходил на днях в театр смотреть The Book of Mormon. Это такая религиозная сатира про мормонов, как очевидно из названия. Авторы - Трей Паркер и Мэтт Стоун, которые South Park. Сам спектакль более умеренный, чем любая серия South Park, но "талант не пропьешь", и весь спектакль там ездят паровым катком по религии вообще, мормонам в частности, по американцам, рассовым стереотипам и т.д. и т.п.

Все герои, и главные, и второстепенные, имеют вполне обычные имена - за исключением полевого командира в Уганде, который называет себя General Butt-F@#$ing-Naked. Объясняет он это тем, что сейчас он тут будет грабить и убивать, а кто осмелиться сказать слово поперек - с тем он разберется лично, немедля голову долой и все такое -- и делать это он все будет в чем мать родила, отсюда и имя. Удивительно, правда, то, что дальше по ходу пьесы ни имя, ни его поведение никак не обыгрывается и его с таким же успехом могли бы звать Джон Смит. Ну, вполне в духе South Park, ладно.

По пути домой я читаю википедию про спекталь, реакцию на него мормонов и т.п. и тут ВНЕЗАПНО.
dastapov: (new)
2016-08-09 11:52 pm
Entry tags:

ICFPC-2016: день третий

Предыдущие части : день первый, день второй.

На третий день (традиционно, в 10:00) я обнаружил, что сполз до 42 места (из около 200 активных участников). Какое-то время ушло на вытягивание новых задач и разглядывание того, как другие участники решают мои задачи. В 11:00 я вернулся к написанию солвера.Read more... )
dastapov: (new)
2016-08-09 10:16 pm
Entry tags:

ICFPC-2016: день второй

(предыдущая часть, следующая часть)

Первый день у меня закончился тем, что я пробовал сделать модель "бумаги", которую можно будет "гнуть", и потом извлекать из нее результаты сгибания в виде, пригодном для отправки на сервер в качестве решения.Read more... )
dastapov: (new)
2016-08-09 12:31 am
Entry tags:

ICFPC-2016: день первый

(Это первая часть рассказа, а вот вторая и третья)

В этом году ICFPC был про оригами.

Вам дается контур сложенной из бумаги плоской фигуры (в виде координат точек) и вы должны ее сложить. Для тех, кто уже офигел и не знает, за что хвататься, дается дополнительная подсказка - еще одна "картинка", показывающая все ребра и складки в этом контуре -- представьте, что вы смотрите оригами "на просвет", однако при этом все точно совпадающие складки и ребра сливаются воедино. Организаторы называли это "контуром" и "скелетом". Еще про оригами известно то, что оно сложено из листа бумаги размером 1x1. Read more... )
dastapov: (new)
2016-08-03 12:18 pm
Entry tags:

ICFPC-2016: осталось два дня

По такому поводу можно вылезти из спячки :)

Через два дня (в пятницу, 6 августа) начинается ICFPC-2016. В прошлом году у меня поучастовавть не получилось, предыдущие два были (по моему мнению) так себе. Посмотрим, что будет в этом году.

PS: если вдруг кто еще не знает, что такое ICFPC, можете почитать мои старые отчеты, начиная с этого, они все под тэгом icfpc.
dastapov: (new)
2016-03-09 04:43 pm

Ох 26

В хексах симпатичнее, чем в десятичной :-)
dastapov: (new)
2014-09-08 11:57 pm
Entry tags:

Снятся ли андроидам электро-грабли?

Я тут потратил несколько вечеров, чтобы написать програмку под андроид. Очень простую (3 активности, пять кнопочек, два calendar view, одна база sqlite). Остаток поста - о том, какие грабли мне попались по пути, и кто, интересно, их там разложил?

Кто пишет под андроид - может почитать и поржать. Кто не пишет, но собирается - может почитать и подумать, так ли оно ему надо? Кто пишет под iOS - может почитать и позлорадствовать, что с Apple все по-другому. Поехали. )