C 1 по 10 марта прошёл online-этап соревнования по кибербезопасности NeoQUEST-2017. Пришло время подвести итоги, поделиться любопытной статистикой прохождения, а также вкратце рассказать про сами задания.
Читать полностью »
Рубрика «Занимательные задачки» - 34
Розовый скафандр, криптовалюта и генномодифицированный iOS: задания online-этапа NeoQUEST-2017 и немного статистики
2017-03-17 в 6:54, admin, рубрики: ctf, hackquest, neoquest, neoquest2017, Блог компании НеоБИТ, Занимательные задачки, информационная безопасностьСчитаем до трёх
2017-03-15 в 23:36, admin, рубрики: Алгоритмы, вычисления на пальцах, Занимательные задачки, математика, ненормальное программирование, программирование микроконтроллеров, троичный вычислитель, метки: вычисления на пальцах, троичный вычислительТроичные вычисления
Я готовлю курс лекций по архитектуре компьютеров для студентов нашего университета, и в качестве небольшой практической разминки я бы хотел предложить студентам построить примитивный программируемый вычислитель в троичной логике. Конкретно эта статья рассказывает про базовый модуль, который будет использоваться в постройке, а именно про троичный мультиплексор. В данном тексте я не пойду дальше простейшего сумматора (и его реализации в железе), текст и так получается достаточно насыщенным. В последующих статьях я буду потихоньку рассказывать, куда меня эта кривая заведёт, так как я в самом начале авантюры.
Я выбрал сбалансированную троичную систему, в которой один трит может представлять одно из трёх значений -1, 0 или 1. Весьма подробно о ней можно почитать тут.
На любые вопросы из разряда «зачем?!» я отвечаю заранее: «Because I can».
Большое интервью: как поступить в Университет ИТМО
2017-03-15 в 7:40, admin, рубрики: абитуриентам, Алгоритмы, Блог компании Университет ИТМО, вузовское образование, Занимательные задачки, математика, Программирование, Университет ИТМОВ Университете ИТМО продолжается подготовка к приему будущих бакалавров, магистров и аспирантов — проходят Дни открытых дверей, олимпиады для школьников и Конгресс молодых ученых.
О том, как устроена Приемная кампания-2017, сегодня расскажет Анна Веклич, первый заместитель председателя Приемной комиссии, начальник Департамента по стратегическим коммуникациям Университета ИТМО.
В этом материале мы постарались собрать все, что нужно абитуриенту: от статистики прошлых лет до устройства мегафакультетов Университета и бонусов при поступлении.
Все программисты попадают в #ТАЙ
2017-03-14 в 14:46, admin, рубрики: framework, IT-стандарты, jquery, json, Блог компании Нетология: университет интернет-профессий, Занимательные задачки, код, ненормальное программирование, ооп, Программирование, разработка, Совершенный код, советы и рекомендации, советы начинающимАнонимный разработчик написал статью для «Нетологии» о том, кто такие программисты, как ими становятся, и почему все программисты попадают в свой собственный Таиланд. При условии, если они пишут читабельный код, конечно же.
Если вы думаете, что быть программистом просто, то вы ошибаетесь. Если думаете, что трудно, то тоже ошибаетесь. Так кто такой программист, как писать крутой код и что отличает хороший тон от плохого в Таиланде или без него разбираемся с анонимусом.
Читать полностью »
Хитрые задачки на собеседовании JavaScript
2017-02-25 в 16:04, admin, рубрики: javascript, Занимательные задачки, собеседованиеВы уверены что знаете JavaScript? В таком случае предлагаю вам рассмотреть список моих собственных задач, которые я предлагаю на собеседованиях (на один из проектов крупного банка). Как показала статистика ни один кандидат не смог правильно ответить на все перечисленный вопросы, будь то Junior или Senior. Зато сразу видно кто из кандидатов умеет самостоятельно размышлять, а это довольно ценный навык. Итак, поехали!
Читать полностью »
Поиск уязвимости методом фаззинга и разработка шеллкода для её эксплуатации
2017-02-17 в 7:12, admin, рубрики: exploit, fuzzing, hacking, neoquest, neoquest2016, neoquest2017, shellcode, vulnerability, Блог компании НеоБИТ, Занимательные задачки, информационная безопасность, поиск уязвимостей, метки: fuzzing, shellcodeДля поиска уязвимостей все средства хороши, а чем хорош фаззинг? Ответ прост: тем, что он дает возможность проверить, как себя поведёт программа, получившая на вход заведомо некорректные (а зачастую и вообще случайные) данные, которые не всегда входят во множество тестов разработчика.
Некорректное завершение работы программы в ходе фаззинга позволяет сделать предположение о наличии уязвимости.
В этой статье мы:
- продемонстрируем, как фаззить обработчик JSON-запросов;
- используя фаззинг, найдём уязвимость переполнения буфера;
- напишем шеллкод на Ассемблере для эксплуатации найденной уязвимости.
Разбирать будем на примере исходных данных задания прошлого NeoQUEST. Известно, что 64-хбитный Linux-сервер обрабатывает запросы в формате JSON, которые заканчиваются нуль-терминатором (символом с кодом 0). Для получения ключа требуется отправить запрос с верным паролем, при этом доступа к исходным кодам и к бинарнику серверного процесса нет, даны только IP-адрес и порт. В легенде к заданию также было указано, что MD5-хеш правильного пароля содержится где-то в памяти процесса после следующих 5 символов: «hash:». А для того, чтобы вытащить пароль из памяти процесса, необходима возможность удалённого исполнения кода.
Читать полностью »
Секрет быстрого программирования: не задумывайтесь
2017-02-16 в 7:26, admin, рубрики: Alconost, Блог компании Alconost, быстрое программирование, Занимательные задачки, качество кода, код, мысли, ненормальное программирование, проблемы разработки по, Программирование, программист, продуктивность, простой код, разработка, разработчик, сложный код, Совершенный код, советы
Программировать быстро — это легко! Так считает инженер-программист компании Google, который все публикации в своем блоге подписывает лаконичным «Макс». Макс также работает главным архитектором, комьюнити-менеджером и релиз-менеджером в Bugzilla Project. Мы в Alconost впечатлились и перевели его советы о том, можно ли как научиться программировать с космической скоростью.
Если обсуждать с разработчиками сложность кода, они часто говорят, что хотят писать простой код, но из-за давления дедлайнов и более глубинных причин у них не хватает времени или знаний для того, чтобы выполнить задачу и оптимизировать решение до максимальной простоты.
Они, конечно, правы в том, что в условиях сжатых сроков разработчики, как правило, будут писать сложный код. Впрочем, дедлайны не должны приводить к сложности. Вместо фразы «Этот дедлайн помешал мне написать простой код» можно произнести равноценную: «Я недостаточно быстро программирую, чтобы писать просто». То есть чем быстрее вы как программист — тем меньше влияния на качество вашего кода имеют дедлайны.
Теперь давайте разберемся, как, собственно, стать быстрее? Может, это врожденное магическое умение? Надо ли быть «умнее» других, чтобы быть быстрым?
Нет, это вообще не магия и не врожденный дар. На самом деле существует всего одно простое правило, считаясь с которым, со временем вы полностью решите проблему:
Читать полностью »
ChairInput. Пишем игру в Unity, управляемую с помощью виртуальной клавиатуры Android. Проблема с углом обзора камеры
2017-02-10 в 11:05, admin, рубрики: android, android клавиатура, unity, unity3d, Блог компании aacidov.ru, Занимательные задачки, разработка игр, Разработка под android, решение проблемы, экранВсем привет, я написал клавиатурный тренажер под Android в Unity3D, он не сильно заточен под особых детей, а предназначен для широкого пользователя (ну я так думаю). И в этом посте я хочу рассказать о проблеме перекрывания части экрана клавиатурой и способах ее решения.
Tarantool: Хороший, Плохой, Злой
2017-02-06 в 13:22, admin, рубрики: NoPHP, nosql, php, tarantool, Анализ и проектирование систем, высокая производительность, Занимательные задачки, как всё устроеноМногие слышали о NoSQL базе данных Tarantool, знают о том, что она умеет хранить данные в памяти, очень быстро их обрабатывает и обладает высокой производительностью. Тарантул был написан серьезными ребятами, которые обслуживают сервисы с сотнями тысяч запросов в секунду.
Система кажется сложной. Несмотря на российские корни, изначально даже не было документации на русском языке. Чем же может помочь этот мощный инструмент обычным парням — программистам и начинающим разработчикам?
Попробуем написать простой занимательный сервис, способный выдержать большую нагрузку. И никакого SQL!
Читать полностью »
Дедлайн конкурса Stepik Contest продлен до 31 марта, самое время создавать IT-задачи
2017-02-03 в 12:16, admin, рубрики: adaptive, adaptive learning, Applied Computer Science, challenge, Competition, contest, data science, java, javascript, lesson, online education, personalization, python, recommendation systems, stepik, stepik contest, stepik.org, Theoretical Computer Science, адаптивность, английский язык, Блог компании Stepik.org, грант, Занимательные задачки, конкурс, приз, программисты спасут мир, рекомендательные системы, стэпикНовогодние праздники и январь прошли очень быстро и вместо большого количества курсов для конкурса Stepik Contest команда Stepik получила множество запросов с просьбами продлить дедлайн. Мы решили продлить срок конкурса до 31 марта, а сейчас — подвести промежуточные итоги, ответить на вопросы и разъяснить все неочевидные моменты конкурса.
Итак, конкурс Stepik Contest, дедлайн 31 марта, чтобы выиграть от $2K до $10K нужно создать 20+ задач по темам IT на платформе Stepik, adaptive.stepik.org.