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

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

PS: если вдруг кто еще не знает, что такое ICFPC, можете почитать мои старые отчеты, начиная с этого, они все под тэгом icfpc.

Ох 26

2016-03-09 04:43 pm
dastapov: (new)
В хексах симпатичнее, чем в десятичной :-)
dastapov: (new)
Я тут потратил несколько вечеров, чтобы написать програмку под андроид. Очень простую (3 активности, пять кнопочек, два calendar view, одна база sqlite). Остаток поста - о том, какие грабли мне попались по пути, и кто, интересно, их там разложил?

Кто пишет под андроид - может почитать и поржать. Кто не пишет, но собирается - может почитать и подумать, так ли оно ему надо? Кто пишет под iOS - может почитать и позлорадствовать, что с Apple все по-другому. Поехали. )
dastapov: (new)
Во-первых, поздравляю человека и парохода jabber.ru с победой в lightning раунде.

Во-вторых, на этом месте мог бы быть отчет, но писать особо не о чем. В этом году я пробовал что-то сделать самостоятельно, но буквально сразу увидел (кажется, на IRC) слово SECD и в результате отвлекся на чтение книжки Хэндерсона "Functional Programming Application and Implementation", которой явно вдохновлялись организаторы. В результате я узнал много нового и интересного о том, как можно использовать camlp4, чтобы реализовать "компилятор" из сделанного тобой DSL в OCaml, а также о том, что такое SECD-машина (как она дана у Хэндерсона, а не урезанный вариант из задачи этого года).

После возни с полноценной SECD-машиной мотивация делать обкоцанную SECD-машину у меня как-то пропала, и я для себя на этом ICFPC-2014 закрыл. А что у вас?
dastapov: (new)
Сегодня начинается ICFP Contest, также известный как ICFPC.

В этом году я ни с кем не кооперировался, никак не готовился, и вообще собираюсь писать на ocaml :) А вы?

PS: если вдруг кто еще не знает, что такое ICFPC, можете почитать мои старые отчеты, начиная с этого, они все под тэгом icfpc.
dastapov: (new)
Тут в связи с известными событиями зазвучала фраза "Ну так украинцы сбивали же уже самолет в 2001-м году, вот сбили еще один".

Я удивился, т.к. мои личные воспоминания сводились к "что там именно произошло - так никто и не узнал".

Ну, и я пошел почитать. Самолет из 2001 года - это вот этот. Воспоминания меня не обманули - что именно там произошло так и не было достоверно установлено.

Самые интересные материалы, которые я прочитал, были взяты по ссылкам из википедии и с сайта одного человека, но их содержание не дает особого повода усомниться в достоверности:
1. Заключение украинской экспертной комиссии (российской в инете не нашел)
2. Дискуссия с адвокатом, представлявшего Украину

Т.к. заключение - на украинском, будет уместно сделать короткий пересказ выводов.
1. Невозможно установить, где конкретно произошел взрыв относительно корпуса самолета
2. Недостаточно данных, позволяющих отнозначно и без сомнений установить полную траекторию полета ракеты вплоть до момента ее подрыва
3. Пусковая установка была сконфигурирована на стрельбы по мишеням на дальности до 90 км, ее радар не видел самолет. Сопровождать несколько целей одновременно комплекс не в состоянии. Самостоятельная смена мишени исключается исходя из конструктивных особенностей комплекса и взаимного расположения траекторий самолета и мишени
4. ТТХ ракеты не позволяют ей долететь мимо мишени и долететь до самолета за время, необходимое для его поражения
5. Траектория, приписываемая ракете в заключениях Международной Авиационной Комиссии (МАК), невозможна исходя из конструктивных особенностей ракетного комплекса
6. Обломки самолета найдены были. Обломков ракеты найдено не было.

UPD: Примерно то же самое от самого адвоката: https://www.facebook.com/andriyko/posts/10152563072998841?fref=nf

UPD 2: я вижу, что надо изложить мое мнение подробнее, чтобы не было разночтений. Я не пытаюсь утверждать, что не было самолета, или не было ракеты, или ракета не попала в самолет. На вопрос "что же там произошло?" у меня ответ "кажется, попали ракетой в самолет, т.к. нету никакого другого разумного объяснения, но в то же время нет (у меня, по крайней мере) удовлетворительного ответа на вопрос, как именно это произошло?"

Даже признание тогдашнего украинского министра обороны, что мол да, это скорее всего наша ракета не сопровождалось объяснением того, как же это получилось.

Из широкой публики этого так никто и не узнал (и, думаю, не узнает). Я попробовал найти ответ на этот вопрос самостоятельно, и понял, что отчета МАК в сети нет (и как я понимаю - полного отчета и не было, была только выжимка на сайте, отчет киевских экспертов задает вопросы, и нет других документов, которые бы на них отвечали; учения были совместные, полигон был российский, ракетный комплекс был украинский, наблюдатели были отовсюду, воздушное пространство было российское ...

Короче, как правильно написал [livejournal.com profile] arkanoid, "у всех случайно сбитых военными самолетов много общего ... слишком много вранья".
dastapov: (new)
Смотрите, какой интересный документ. В нем много технических терминов без объяснения и канцелярита, поэтому попробую рассказать своими словами.

Если коротко, то написано, что российский оператор Rostov Cellular Communications (он же Tele2) сделал что-то такое эдакое, после чего звонки ряда украинских абонентов (МТС Украина) маршрутизировались ... через узлы сети Tele2. Это - как минимум - дает Tele2 полные метаданные о звонках (кто, кому, когда, как долго, ...), а как максимум - позволяет слушать исходящие звонки.

Справедливости ради надо сразу сказать, что атака совсем не МТС-специфична, и могла случится с любым другим оператором.

Как же это стало возможно?Read more... )
dastapov: (new)
Если вдруг кто еще не знает, то в этом году ОНО будет с 25 по 28 июля. Кто собирается участвовать?
dastapov: (new)
Готов принимать поздравления в связи с 200 летием со дня рождения Тараса Шевченко. Ну и я где-то там рядом примазался ;)
dastapov: (Default)
(ЖЖ сожрал мой пост и не подавился, повторяю его)

Если вы "пропали", и у вас есть телефон

Напишите SMS. Это может быть быстрее, чем звонить и ждать, возьмут там трубку или нет. Если вам удасться отправить SMS (не важно, будет он доставлен или нет), то у оператора сохранится запись с уникальным номером базовой, которая его приняла.

Для андроида есть приложения вроде этого, которые могут отправлять "тревожный SMS" с вашими кординатами. Приложение по ссылке отправит SMS после 2-5 кратного нажатия на power. Disclaimer: я видел и другие приложения, но ни одно из них не тестировал.(дальше еще много всего) )
dastapov: (new)
Люди, которые находились на улице Грушевского в Киеве двадцать первого января 2014 года, получали странные SMS-ы, в которых сообщалось о том, что они "зарегистрированны как участники массовых протестов".

Операторы сотовой связи все как один заявили, что они тут ни при чем. С тех пор я получил множество писем с вопросом о том, что бы это могло быть, как это технически можно осуществить и т.п. Т.к. сам я этих SMS-ов в глаза не видел и даже не общался лично с людьми, их получавшими, мне нужные какие-то исходные данные. Если вы получали такие SMS, не пожалейте минуту времени и заполните форму.

UPD: если у вас есть возможность запросить у своего оператора детализацию событий, посмотрите, если там эти SMS-ы

UPD2: Таки IMSI catcher: http://proit.com.ua/news/telecom/2014/01/24/183526.html
dastapov: (new)

Эпиграф



Нас было 7 человек. У нас было 20 модулей на хаскеле, приватный репозиторий на гитхабе, 6 веток в этом репозитории, ImplicitParams, MagicHash и UndecidableInstances в коде и одна highmem нода на амазоне, а также hangouts для общения, юнит-тесты, просто тесты, google docs для заметок и куча статей про SMT-солверы. Не то что бы мы это все использовали, но на ICFPC ты ищешь в инете всякую дурь и бывает трудно остановиться. Единственное что вызывало у меня опасение - это SMT-солверы. Нет ничего более беспомощного, безответственного и испорченного, чем человек, читающий статьи в ходе контеста. Но я знал, что рано или поздно мы подсядем и на эту дрянь.

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



Наша команда называлась "(unmatched", и состояла она из меня, Жени [livejournal.com profile] jkff, Ромы ro-che.info, Вани [livejournal.com profile] _navi_, Саши [livejournal.com profile] sorhed, Макса (которого нет в ЖЖ) и еще одного Саши [livejournal.com profile] wizzard0.

Мы набрали 1301 из 1820 возможных, из них 457 в lightning round, т.е. в первые 24 часа (UPD: и, похоже, заняли там 10 место! Аааааа!). Мы заняли место между 11-м и 25-м, но еще не знаем, какое конкретно.

Мы писали на Haskell и вот наш репозиторий.

Спасибо моим соратникам - вы все молодцы и умницы! Традиционное спасибо моей жене [livejournal.com profile] yulanta за моральную и прочую поддержку :)

А теперь - длинная история про то, как дело было.Read more... )
dastapov: (new)
В российских СМИ пишут, что за пассажирами метро будут следить при помощи SIM-карт (раз и два).

Утверждается, что "... Система будет работать следующим образом, рассказывает начальник оперативного отдела: когда пассажир пройдет в зоне действия датчика — ее радиус около 5 м, — система зафиксирует, что мимо пронесли SIM-карту с определенным номером. Если карта находится в розыске, система автоматически проложит маршрут ее передвижения и передаст информацию на пульт дежурного."

Как же это технически может быть реализовано?Read more... )
dastapov: (new)
Привет.

Мне тут пишут про то, что Карстен Нол нарыл очередную дыру (и таки да!). Правда, почему-то присылают при этом бестолковые ссылки типа вот этой.

Так вот, бестолковые ссылки читать не надо. Надо читать либо первоисточник, либо журналистов, которые умеют копать и думать самостоятельно.

Краткое изложение для тех, кому лень читать многабукв.Дырка есть, но как всегда с дырками - есть  )
dastapov: (new)
Недавно один мой коллега Н принес на работу головоломку Bedlam cube. А другой мой коллега Д заинтересовался и стал его складывать.

Головоломка, надо сказать, действительно непростая, и Д мучался с ней больше недели. В конце-концов у него получился аккуратный кубик с небольшой дыркой, и еще одна деталь, которую надо было когда-то раньше засунуть внутрь, а теперь уже даже и непонятно, что с ней делать.Read more... )
dastapov: (new)
Обращаюсь за помощью к коллективному разуму.

Есть у меня NAS с RAID-ом. На нем - ~400 Gb Ценных Данных. Хочется их на куда-то сбекапить off-site, на случай непредвиденных обстоятельств - если вдруг RAID накроется целиком и сразу весь.

Хочется, чтобы:
1)Лить бэкап можно было прямо с NAS-а (а там - linux и ARM), то если либо по rsync, либо по ftp/ssl или sft, либо еще что-то подобное, и уж точно не какой-то GUI-клиент.
2)Все, что я лью туда, должно быть зашифровано (допустим, каким-то симметричным алогоритмом с большим ключом).
3)Версионированиие и прочие модные штуки (доступ с мобилки, шаринг файлов, фото-альбомы(!)) - не нужны.
4)Супер-пупер надежность с 29-ю девятками после запятой - тоже не нужна. Мне нужна разумная страховка на случай, если с моей стороны случится что-то маловероятное, а не основное средство для бэкапа. Для меня будет достаточно, если они скажут "извини, тут с вот этим файлом беда вышла - надо перезалить".
5)Инкрементальные бэкапы - обязательны

Вроде ж не много хочу, да? И вот что выяснилось ... )
dastapov: (Default)
Вот они, родимые.

Мы - на позорном 131 месте. Где-то за 20 минут до финиша, когда мои товарищи по команде вырубались после бессонной ночи, возник вопрос - какой же солвер сдавать в качестве финального?

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

Второй солвер запускал два треда, и в одном крутил первый солвер, подсчитывая набранные очки после каждого выданного куска программы и запоминая лучший полученный результаты. Во втором треде крутился тупой-тупой А* над игровыми состояниями, целевой функцией которого было найти программу с оценкой лучше текущей имеющейся, а эвристикой - сумма расстояний до лямбд.

На мелких картах второй тред успевал перебрать все (или почти все) и выбраться из практически любой ловушки. На больших же картах он рисковал со временем пожрать всю память и быть убитым OutOfMemory Killer-ом (который живет в ядре linux). Если бы это произошло, то мы бы на такой карте не набрали ничего. Осознание этой засады пришло слишком поздно, и сделать какой-то монитор/ограничитель мы уже не успевали.

Забоявшись out of memory, я убедил полусонных Женю и Ваню, что сдавать надо первый вариант. В результате мы вылетели в первом раунде.

Второй вариант набрал бы как минимум 7200 очков (я запускал его на оценочных картах с лимитом в 30 секунд, а за 150, думаю, он мог бы набрать и больше) и мы были бы где-то в районе 50-60 месте. Ну, как известно, если бы да кабы ... :) Мораль придумайте сами.

Посмотрим, что будет в следующем году.
dastapov: (Default)

Обязательное вступление: что это вообще такое?


Каждый год случается международная конференция ICFP - International Conference on Functional Programming. К этой конференции приурочен програмерский конкурс под названием ICFPC. Несмотря на название конференции, участвовать в контесте может любой желающий, и пользоваться можно любыми языками, не только функциональными, кроме того - участники могут объединяться в команды. ICFPC отличается от соревнований типа ACM и topcoder тем, что он менее "заточен" под какие-то конкретные языки или наборы навыков, а задачи в нем прикольные и позволяют получить удовольствие не только от победы, но и от участия.

Я стараюсь принимать участие во всех ICFPC, и о том, как это было в прошлые годы, можно почитать в этом журнале по тэгу icfpc.

Подготовка


В этом году я заранее вписал даты в календарик, взял на работе отгул, и договорился с Женей [livejournal.com profile] antilamer и Ваней [livejournal.com profile] _navi_ о том, что мы будем выступать одной командой и писать на Haskell.

Моя жена собиралась где-то в это же время поехать с детьми на историческую родину, и мы подгадали поездку так, что на время ICFPC я остался один-совсем-один. Если быть точным, за 4 часа до старта я был в аэропорту и провожал их на самолет, и вернулся домой за 5 минут до начала.

Подготовка, таким образом, свелась к заливанию ssh-ключей на bitbucket (где у нас был git-репозиторий) и обмену контактами с остальными участниками команды :)

Старт и условие

Read more... )
dastapov: (Default)
Дискуссии про то, что можно, а что нельзя сделать определенным техническими средствами очень часто скатываются в унылый срач, в котором стороны по кругу повторяют одно и то же из-за того, что:
1)Технические проблемы обсуждаются на уровне самой простой возможной реализации
2)Фичи и возможности обсуждаются на уровне навороченного сервиса или коммерческого продукта
3)Разрыв в сложности и требованиях к качеству между (1) и (2) одной из сторон напрочь игнорируются.

Чем меньше человек шарит в обсуждаемом, тем больший разрыв между (1) и (2) у него получается, и тем охотнее он его игнорирует.Напрмер, СМС для оповещения населения ... )
dastapov: (Default)
В твиттере smart_haos пишет (после недавнего наводнения в Кубани): "У сотовых операторов есть информация по координатам абонентов. Почему МЧС не умеет использовать этот ресурс для адресных оповещений?"

1)Потому, что SMS - негарантированный сервис. Ни скорость доставки, ни сама доставка - не гарантированы. То, что обычно все доходит быстро - это, грубо говоря, просто "везет". Пока не начались перегрузки сети, например.Read more... )
dastapov: (Default)
Работа моя нынешняя пригласила Саймона Пейтона-Джонса (того самого) прийти и рассказать нам что-то интересное.

Он согласился и пришел, рассказывал вариации на тему побега из башни из слоновой кости (кто не видел - пролистайте хоть слайды, они ржачные). Т.к. аудитория наполовину состояла из caml-программистов, позубоскалили на тему eager и lazy evaluation, и т.д. и т.п.

В процессе я узнал, что (извините за пиджин рашн):Read more... )
dastapov: (Default)
В продолжение вчерашней дискуссии.

Допустим, мы как-то распознаем разговоры и сохраняем получившийся текст. Я намерено не хочу сейчас касаться ни качества "аудио", которое придется распознавать, ни качества получающегося в результате текста. Пусть даже тут у нас все будет идеально.

Расскажите мне пожалуйста, что с этими текстами делать потом? (напомню, что мы говорим про Кровавый Режим, который надеется получить с этого какой-то профит).Read more... )
dastapov: (Default)
Забавно наблюдать, как люди стартуют с посылки "Кровавый Режим удаленно включает телефон и СЛУШАЕТ", а когда им начинают задавать вопросы, это превращается в "Ну, может и не включает удаленно, но уж точно внедряет в телефон ЧТО-ТО, чтобы он сам потом включался и передавал".Read more... )
dastapov: (Default)
Некая мадам [livejournal.com profile] olga_andronova (говорят, даже технический редактор где-то там) рассказала, как ей кровавый режим Путина удаленно включал телефон в летящем самолете(!): http://olga-andronova.livejournal.com/170052.html

Кто-то в комментах дал ей ссылку на мой ЖЖ, меня тут же записали в проплаченных прихвостней пресловутого режима, и пошло-поехало. В комментариях там также можно наблюдать:Read more... )

ICFPC-2012

2012-06-21 04:57 pm
dastapov: (Default)
А кто что себе думает про ICFPC-2012? Кто собирается участвовать? На чем писать? Я в этом году твердо намерен не пропустить мероприятие - кто хочет объединить усилия?

UPD: договорился с [livejournal.com profile] _navi_ и [livejournal.com profile] antilamer.
dastapov: (Default)
Знаете, есть такая игра, в которой ведущий описывает какую-то невероятную ситуацию, а все игроки пытаются разобраться, в чем же дело, задавая вопросы, на которые можно отвечать только "да" или "нет"?

Например, ситуация может быть такая: "в чаще леса среди обгоревших деревьев лежит труп. На нем маска для ныряния, плавки и акваланг". После долгих расспросов выясняется, что человек спокойно себе плавал в каком-то водоеме, пока его не зачерпнул вертолет, который тушил лесной пожар. Потом его сбросили (вместе с водой) над горящим лесом и он разбился.

В этом объяснении есть только один скользкий момент: реально ли, чтобы вертолет вот так зачерпнул пловца? Как только вы допустили для себя, что это реально, все остальное уже не вызывает никаких вопросов. Все хмыкают: "ну, дела!" и переходят к следующей загадке. А теперь представьте ... )
dastapov: (Default)
Я внезапно понял, что сегодня я обязательно должен рассказать вам про Одну Футболку.

Когда-то - неважно, когда - я регулярно наведывался в компанию К. Атмосфера там была демократичная, в костюмах с галстуками мало кто ходил. Словом, типичная IT-шная лавочка.

И вот я туда пришел первый раз, и попался мне там на глаза персонаж в запоминающейся футболке - яркого цвета и с какой-то рожей на пузе. Прихожу я туда второй раз - он опять в этой же футболке. В третий раз - ну, вы уже поняли ...

Я с его коллегами пошутил на тему того, что вот ведь как мне везет - третий раз прихожу, и все время попадаю на одну и ту же футболку. И тут выяснилось следующее: он в этой футболке - каждый день(!).

А все началось с того, что как-то раз этот персонаж вел со своими коллегами неспешную беседу про холостяцкий быт, и они принялись считать минимальный разумный размер гардероба. А персонаж возьми и скажи: "А футболка может быть вообще одна!". Тут его подняли на смех и сказали, что никак не возможно с одной футболкой - на работу же каждый день, а ее ж надо стирать, и два дня подряд не надевать, чтобы не иметь чмошный вид. Слово за слово, поспорили. Причем, при большом стечении народа.

Спор был примерно такой: за каждый день, пока товарищ ходит в одной и той же футболке (стирать! два дня подряд не надевать!), он получает какую-то сумму (неплохую, другие бы и пообедали на эти деньги). Как только пришел в чем-то другом - все, лавочка закрывается.

А товарищ оказался принципиальный и давай ходить в футболке каждый день. И проходил так уже год, и останавливаться не намерен. Футболка обветшала слегка, но пока держится. А кто с ним спорил, теперь ежемесячно в день зарплаты выдают ему оговоренную сумму. После первых двух-трех месяцев они было заартачились, но общественное мнение их убедило, что слово пацана надо держать. Потом они уже и сами привыкли.

True story. Чем все в конце-концов закончилось, не знаю. Думаю, футболка разлезлась на тряпочки в конце-концов.
dastapov: (Default)
Вот еще прибежало в почте: "Часто в шпионских фильмах агенты ФБР делают прослушку и ждут две минуты, после чего находят адрес человека, а если звонок срывается, то не могут найти.

Это кажется очень нелогичным, не могли бы вы дать комментарий специалиста?
"

Мне это тоже кажется нелогичным.Read more... )
dastapov: (Default)
В комментариях к соседней записи опять стала муссироваться тема записи всех звонков без разбора, и мне захотелось сделать короткое резюме.Зачем оператору писать все разговоры, если денег ему дадут и так? )

Profile

dastapov: (Default)
Dmitry Astapov

May 2022

M T W T F S S
       1
2345678
9101112131415
161718 19202122
23242526272829
3031     

Syndicate

RSS Atom

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags