Как впихнуть утро в сосновом лесу в 4 килобайта. Иван Авдеев. UNIGINE Open Ai...Unigine Corp. Иван Авдеев, программист, 2ГИС (Новосибирск).
Расскажу о демосцене с картинками:
- Лайв-экшн на шейдерах
- Лекция про демомейкинг-сайзкодинг
- Демошоу-плейлист
ПВТ - весна 2015 - Лекция 6. Разработка параллельных структур данных на основ...Alexey PaznikovЛЕКЦИЯ 6. Разработка параллельных структур данных на основе блокировок
Курс "Параллельные вычислительные технологии" (ПВТ), весна 2015
Сибирский государственный университет телекоммуникаций и информатики
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
http://cpct.sibsutis.ru/~apaznikov
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...YandexЕвгений Крутько, НИЦ «Курчатовский институт».
В докладе на примере программы моделирования динамики движения конструкций по методу конечных элементов рассматриваются возможности и практика распараллеливания вычислений. Речь в нём пойдёт как о технике создания новых вычислительных потоков, так и об использовании стандартов openMP и MPI.
ПВТ - весна 2015 - Лекция 7. Модель памяти С++. Внеочередное выполнение инстр...Alexey PaznikovЛЕКЦИЯ 7. Модель памяти С++. Атомарные операции. Внеочередное выполнение инструкций. Барьеры памяти. Семантика захвата-освобождения
Курс "Параллельные вычислительные технологии" (ПВТ), весна 2015
Сибирский государственный университет телекоммуникаций и информатики
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
http://cpct.sibsutis.ru/~apaznikov
ПВТ - весна 2015 - Лекция 2. POSIX Threads. Основные понятия многопоточного п...Alexey PaznikovЛЕКЦИЯ 2. POSIX Threads. Жизненный цикл потоков. Планирование. Синхронизация
Курс "Параллельные вычислительные технологии" (ПВТ), весна 2015
Сибирский государственный университет телекоммуникаций и информатики
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
http://cpct.sibsutis.ru/~apaznikov
Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...DevGAMM ConferenceСравнение различных способов получения случайных чисел. Алгоритмы генерации псевдослучайных чисел и генерация Хэш функций.
С одним плюсом (Андрей Аксёнов)Unigine Corp. Презентация с конференции "Город IT"
Томск, 19 ноября 2016 года.
Андрей Аксёнов, ведущий разработчик Unigine.
Доклад: «С одним плюсом».
— К чему надо стремиться, разрабатывая на C++ (и не только)?
— Как писать элегантно на C++’03 и что делать с новыми стандартами?
— Как на C++ делать не надо?
— Об идеальном коде и Идеальной Архитектуре.
OpenStreetMap на вашем сайтеAlexander SapozhnikovПрезентация к докладу на UWDC-2013— Уральской конференции веб-разработчиков (20-21 февраля 2013, Челябинск)
Модель памяти C++ - Андрей Янковский, ЯндексYandexВ докладе Андрей расскажет о моделях памяти различных процессоров, о тонкостях реализации неблокирующих алгоритмов и о том, какое отношение всё это имеет к С++.
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обменыAlexey PaznikovЛЕКЦИЯ 1. Основные понятия стандарта MPI. Дифференцированные обмены
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2015
Сибирский государственный университет телекоммуникаций и информатики
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
http://cpct.sibsutis.ru/~apaznikov
http://cpct.sibsutis.ru/~apaznikov/teaching
Smokoko S.A.: Art engineeringDevGAMM ConferenceThe speech will cover the process of making a highly detailed vector art, where each detail is in the right place. It will touch on the issues of miniaturization, optimization and animation, repeated use of content and fast generation of large content volumes. In addition, some peculiarities of work according to the “artist – programmer” pattern will get discussed.
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail KurnosovОптимизация ветвлений и циклов (Branch prediction and loop optimization)
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Alexey PaznikovДоклад Кулагина И.И., Пазникова А.А., Курносова М.Г. "Оптимизация информационных обменов в параллельных PGAS-программах" на 3-й Всероссийской научно-технической конференции «Суперкомпьютерные технологии» (СКТ-2014)
29 сентября – 4 октября 2014 г., с. Дивноморское
200 open source проектов спустя:опыт статического анализа исходного кодаPositive Hack Days200 open source проектов спустя:опыт статического анализа исходного кода
200 open source проектов спустя: опыт статического анализа исходного кодаAndrey KarpovОдна из особенностей работы нашей команды — анализ большого количества различных программных проектов. Рассказывать о закрытых коммерческих проектах часто запрещает NDA, а вот об open source можно и нужно говорить. Какие ошибки допускают в open-source-проектах? Какой код более качественный — закрытый или открытый? Нужно ли придерживаться стандартов кодирования, или они давно устарели? Какие ошибки сложнее найти и исправить — сложные архитектурные или простые опечатки? Проанализировав за несколько лет сотни программных проектов от zlib до Chromium, мы готовы поделиться своим опытом и ответить на эти вопросы.
Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...DevGAMM ConferenceСравнение различных способов получения случайных чисел. Алгоритмы генерации псевдослучайных чисел и генерация Хэш функций.
С одним плюсом (Андрей Аксёнов)Unigine Corp. Презентация с конференции "Город IT"
Томск, 19 ноября 2016 года.
Андрей Аксёнов, ведущий разработчик Unigine.
Доклад: «С одним плюсом».
— К чему надо стремиться, разрабатывая на C++ (и не только)?
— Как писать элегантно на C++’03 и что делать с новыми стандартами?
— Как на C++ делать не надо?
— Об идеальном коде и Идеальной Архитектуре.
OpenStreetMap на вашем сайтеAlexander SapozhnikovПрезентация к докладу на UWDC-2013— Уральской конференции веб-разработчиков (20-21 февраля 2013, Челябинск)
Модель памяти C++ - Андрей Янковский, ЯндексYandexВ докладе Андрей расскажет о моделях памяти различных процессоров, о тонкостях реализации неблокирующих алгоритмов и о том, какое отношение всё это имеет к С++.
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обменыAlexey PaznikovЛЕКЦИЯ 1. Основные понятия стандарта MPI. Дифференцированные обмены
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2015
Сибирский государственный университет телекоммуникаций и информатики
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
http://cpct.sibsutis.ru/~apaznikov
http://cpct.sibsutis.ru/~apaznikov/teaching
Smokoko S.A.: Art engineeringDevGAMM ConferenceThe speech will cover the process of making a highly detailed vector art, where each detail is in the right place. It will touch on the issues of miniaturization, optimization and animation, repeated use of content and fast generation of large content volumes. In addition, some peculiarities of work according to the “artist – programmer” pattern will get discussed.
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail KurnosovОптимизация ветвлений и циклов (Branch prediction and loop optimization)
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Alexey PaznikovДоклад Кулагина И.И., Пазникова А.А., Курносова М.Г. "Оптимизация информационных обменов в параллельных PGAS-программах" на 3-й Всероссийской научно-технической конференции «Суперкомпьютерные технологии» (СКТ-2014)
29 сентября – 4 октября 2014 г., с. Дивноморское
200 open source проектов спустя:опыт статического анализа исходного кодаPositive Hack Days200 open source проектов спустя:опыт статического анализа исходного кода
200 open source проектов спустя: опыт статического анализа исходного кодаAndrey KarpovОдна из особенностей работы нашей команды — анализ большого количества различных программных проектов. Рассказывать о закрытых коммерческих проектах часто запрещает NDA, а вот об open source можно и нужно говорить. Какие ошибки допускают в open-source-проектах? Какой код более качественный — закрытый или открытый? Нужно ли придерживаться стандартов кодирования, или они давно устарели? Какие ошибки сложнее найти и исправить — сложные архитектурные или простые опечатки? Проанализировав за несколько лет сотни программных проектов от zlib до Chromium, мы готовы поделиться своим опытом и ответить на эти вопросы.
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Platonov SergeyКто-то верно подметил, что разработчики статических анализатора часто сталкиваются с "проблемой айсберга". Им сложно объяснить разработчикам, почему сложно написать и развивать статические анализаторы кода. Дело в том, что сторонние наблюдатели видят только вершину всего процесса, так как им доступен для изучения только простой интерфейс, который предоставляют анализаторы для взаимодействия с миром. Это ведь не графический редактор с сотнями кнопок и рычажков. В результате и возникает ощущение, что раз прост интерфейс взаимодействия, то и прост продукт. На самом деле статические анализаторы кода — это сложные программы, в которых живут и взаимодействуют разнообразнейшие методы поиска дефектов. В них реализуется множество экспертные системы, выдающие заключения о коде на основе как точных, так и эмпирических алгоритмах. В парном докладе, основатели анализатора PVS-Studio расскажут о том, как незаметно потратить 10 лет, чтобы написать хороший анализатор. Дьявол кроется в деталях!
Haskell Lite - presentation for DevDay about Haskell languageAlexander GraninPresentation about Haskell programming language.
DevDay, 31.05.2013, Novosibirsk
Video: http://www.youtube.com/watch?v=ieOhEX1RCB8
HaskellDevDayФункциональное программирование в примерах.
Язык Haskell: характеристики, история, сильные и слабые стороны, истории успеха и неудач.
Спецификация Haskell’98: синтаксис, компиляторы, интепретаторы, документация, IDE.
Особенности языка: тип Maybe, списки, классы типов, основы монад.
Библиотеки и фреймворки: Parsec, GenXml, HaXml
DSL
На десерт что-то из Existential Types, State Monad, ST Monad, Monad Transformers.
10. ППррииммеенниимм кк
• ПО с закрытым исходным кодом
• Сетевым приложениям
• Драйверам
• Интерфейсам (RPC, ActiveX)
• …
11. ССттррааттееггиияя
•Давать всякие штуки на вход
•Смотреть, что получается на выходе
•Смотреть, что происходит с приложением в
процессе
•Похоже на тестирование
23. ГГееннеерраацциияя ппоо ооббррааззццуу
•Один или несколько примеров входных данных
•Мутатор, который делает новые файлы на базе
примеров с помощью рандомизации, смешивания
и т.п.
24. ММееттооддыы
• Переворачивание битов
• Переворачивание байтов
• Арифметические операции
• Подстановка волшебных числа, например, 0,1,-
1,MAXINT, MININT
• Перемешивание, дублирование, вырезание, …
• Сплайсинг двух и более файлов
26. ЭЭффффееккттииввннооссттьь
Фаззер: afl, цель: jpeg
• Переворачивание битов: 70-80 путей
• Переворачивание байтов: 30 путей
• Арифметические операции: 5 путей
• Подстановка волшебных чисел: 10 путей
• Перемешивание, …: 100 путей
• Сплайсинг двух и более файлов: 40 путей
29. ГГееннеерраацциияя ппоо шшааббллооннаамм
•Ограниченное описание грамматики и семантики
входных данных
• Генерация входных данных на основе описания
• Сложно, но более эффективно
•Необходима для форматов с контрольными
суммами
51. ППррааккттииккаа
• Фаззинг тренировочных файлов с помощью radamsa
• Эксплуатация тренировочных файлов
• Повторение известной уязвимости с помощью Peach
• Анализ ранее неизвестной ошибки на возможность
эксплуатации (у нас одна есть!)
• Фаззинг серьезных приложений (Word, Reader) с помощью
Peach
• Анализ найденных ошибок