Рубрика «Занимательные задачки» - 35

Будут ли роботы стоять в пробках? - 1Эта история началась с того что я застрял в пробке на хайвее, не особенно большой, но полчаса простоял практически на месте. И, как это часто бывает, пробка рассосалась сама по себе — не было впереди ни аварии, ни ремонта, просто машины в какой-то момент начали двигаться быстрее, еще быстрее, и все — свободная дорога впереди.
Чем обычно занимаются в пробках? Ну кто-чем и когда-как, а я в тот день был в мирном философском настроении — просто сидел и размышлял. Вспомнил в частности пост на Гиктаймс о робомобилях где в комментариях бурно сравнивали манеру вождения людей и роботов и в конце кажется пришли к выводу что будущее на дорогах за AI, при нем и движение станет безопаснее и средняя скорость возрастет. Интересно, а пробки тогда будут? Другими словами, насколько пробки обусловлены внешними (обьективными) обстоятельствами, и насколько эффектом толпы, агрессивной или наоборот тормозной манерой вождения? Заодно вспомнилась прочитанная когда-то книга где утверждалось что моделирование дорожного трафика — одна из самых сложных математических задач, которая до сих пор не решена. Ну это наверное давно уже неправда, читал я это давно и книга уже тогда была не новой, сейчас уже наверняка и теории правильные написали, и на компьютерах своих все посчитали. Хотя… пробки же остались? В общем, полет фантазии было уже не остановить.
Итак, под катом мы попытаемся построить более-менее осмысленную модель движения транспорта на дороге и, если повезет, постараемся смоделировать разницу в вождении водителя-человека и AI. Я разумеется отдаю себе отчет что этой проблемой профессионально занимаются целые организации и вообще очень умные люди, но тем интереснее. И вообще, ставьте себе нереальные цели.
И еще одно — я убежденный сторонник думанья головой, поэтому в этом посте компьютерного моделирования не будет, вообще совсем не будет, только хардкорный карандаш и бумага.

Читать полностью »

Не так давно в нашей подборке полезных материалов речь шла о поступлении в вуз. Однако пройти обучение у преподавателей Университета ИТМО можно и без поступления — достаточно записаться на открытый онлайн-курс Университета и попробовать свои силы в программировании, фотонике, реологии, оптике и других направлениях, которые развивает Университет ИТМО. Возможно, такой курс поможет кому-то определиться с направлением обучения и будущих исследований или лучше подготовиться к вступительным испытаниям (что особенно актуально, например, для поступающих в магистратуру).

Открытые онлайн-курсы от Университета ИТМО - 1Читать полностью »

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

Экзамен для будущих «русских хакеров» в Московском Политехе - 1

Читать полностью »

Эй, телевизор, ты что, самый «умный»? - 1 Про опасности использования «умных» телевизоров слышали, наверное, все. Говорят, что они наблюдают за владельцем и прослушивают его разговоры. Но это не тревожит большинство пользователей, которые продолжают спокойно заполнять формы авторизации прямо на экране TV.

Мы решили проверить, реально ли сделать что-то интересное с умным телевизором, не имея физического доступа к нему (спойлер: реально!), и готовы рассказать об этом на примере разбора задания с NeoQUEST!
Читать полностью »

КДПВ (в представлении художника)
Если вы интересуетесь функциональным программированием или даже пытаетесь его потихоньку освоить то вам, наверняка, не раз приходилось слышать, что главным отличием от привычного вам императивного подхода является тот факт, что программы строятся от общего к частностям, а не наоборот. Т.е. сначала вы определяетесь с тем, что вы хотите получить, а потом уже — как этого достичь. Такая простая, казалось бы, мысль обычно не дает мозгу покоя и вызывает множественные фрустрации в попытках написать что-нибудь полезное. Если эта история про вас, или вам просто интересно немного научится хаскеллю и ФП продолжайте чтение и я покажу вам как все просто. Статья в стиле «некогда объяснять, пиши».

Читать полностью »

image

Детям Дед Мороз принес железную дорогу Duplo. Сегменты рельс очень легко соединяются между собой, и можно построить какой-нибудь небольшой, скорее всего просто замкнутый путь, поставить станцию и смотреть, как паровозик бегает по кругу. Иногда он останавливается и детёнок должен паровоз «заправить» из колонки, после чего паровоз снова поедет.
Читать полностью »

[Пятничное]

Всегда хотел сделать свой график активности пользовательского профиля на Гитхабе. Например, выкладывать коммиты каждый день так, чтобы через год этот график превратился в какую-нибудь картинку, пусть и с ограничением по размерам в 52×7 квадратиков-пикселей (52 недели в году × 7 дней в неделе).

Проблема была в том, что даже при полной автоматизации процесса всё равно ждать целый год. А тут я почитал документацию Гитхаба и понял, что задача решается проще и более того — за один раз. А значит, надо делать не откладывая. Обычно названия проектам придумывать сложно, но тут оно пришло само. Кай рисовал льдинками, а Герда рисует коммитами!

График коммитов на Гитхабе в виде картинкиЧитать полностью »

image

Введение

Во Вк есть наборы стикеров, некоторые из которых даже бесплатные. Но во Вк нет ни какого публичного API для использования данного функционала на сторонних сайта. Задачка состоит в том, чтобы используя функциональный язык Elixir написать расширение над местом хранения стикеров во Вк в виде API.

По моему мнению имена методов, и параметры, которые они принимали были бы следующими. Общим пространством имён для коллекции API методов для работы со стикерами было бы ключевое слово stickers, а сами методы возможно выглядели бы так:

stickers.get — со следующими параметрами: pack_ids, pack_id, fields;
stickers.getById — со следующими параметрами: sticker_ids, sticker_id, fields.

Так как нет возможности создавать или редактировать стикеры, которые есть во Вк, данное API будет иметь только read-only методы. Честно, сложно угадывать, и не хочется подражать разработчикам социальной сети, по этому ограничусь только придумыванием имён методов. И не буду реализовывать API в стиле Вк, хоть это бы и добавило общей идентичности расширению.

Вот такие методы буду реализовывать для работы со стикерами:

Методы для наборов:

GET /packs
GET /packs/{id}
GET /packs/{id}/stickers

Методы для стикеров:

GET /stickers
GET /stickers/{id}
GET /stickers/{id}/pack

Читать полностью »

Одним из символов Нового Года для меня всегда был (и до сих пор остаётся) прекрасный мюзикл «Чародеи». И дело не только в хороших песнях, отличном актёрском составе или атмосфере сказки. Фильм «Чародеи» — это ещё один взгляд на любимый многими мир книги «Понедельник начинается в субботу» братьев Стругацких. Авторами сценария фильма тоже были они (хотя многое в нём пришлось переделать вопреки их оригинальной идее).

«Что все эти размышления делают на Хабре?» — спросите вы. Ну, во-первых, на дворе Новый Год, а во-вторых, «Понедельник начинается в субботу» — это книга для программистов («Сказка для научных сотрудников младшего возраста») и о программистах (профессия главного героя книги). Уже на первой странице книги мы видим, например,

пример хед-хантинга ценного специалиста в безденежный, но интересный проект

«А где вы работаете?» Я ответил. «Колоссально! – воскликнул горбоносый. – Программист! Нам нужен именно программист. Слушайте, бросайте ваш институт и пошли к нам!»… «Интереснее, чем у нас, вам нигде не будет». – «Почему вы так думаете?» – «Уверен».

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

Информационные технологии в новогоднем мюзикле «Чародеи» - 1

А теперь я хочу рассказать об одном вопросе, связанном с информационными технологиями в данном фильме, который интересовал меня уже много лет и для решения которого я даже писал письмо Борису Стругацкому, когда он был ещё жив (хотя и не получил ответа). При каждом из многочисленных просмотров фильма „Чародеи“ меня удивлял в нём один эпизод (осторожно, под катом будут спойлеры!).
Читать полностью »

Мы продолжаем рассказывать о курсе «How to Win Coding Competitions: Secrets of Champions», который Университет ИТМО запустил на платформе edX в этом году (первую часть материала читайте здесь).

Во второй части нашей беседы с авторами и инструкторами курса — Максимом Буздаловым и Павлом Кротковым, чемпионами ACM ICPC, и Дарьей Яковлевой, призером Google Code Jam for Women, речь пойдет о том, важен ли победителям олимпиад правильный настрой, как развить навык поиска креативных решений и кому будет полезен курс от чемпионов Университета ИТМО.

Как стать первым в спортивном программировании: Университет ИТМО делится опытом. Часть 2 - 1Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js