Докладчик: Евгений Тюменцев, HWdTech, Омск.
«Будет дано небольшое введение в теорию формальных языков программирования. Разобран пример построения транслятора для небольшого языка программирования и рассказано, как это можно применять на проектах или, например, при выполнении лабораторных работ в ВУЗе
Опыт работы в ИТ-отрасли 12 лет. Был программистом, системным архитектором, руководителем проектов. Специализируюсь на разработке серверных, многопоточных, высокопроизводительных приложений.
16 лет преподаю в ОмГУ (ИМИТ, ФКН). Читаемые дисциплины: Проектирование ПО, разработка серверов и серверных приложений. Руковожу курсовыми и дипломными работами.»
язык работы с КМАС (Yafoll сообщение 1)Alex Shkotin
Вводится понятие конечной многоосновной алгебраической системы (КМАС/FMAS), а также язык для работы с такими системами - YAFOLL (Yet Another First Order Logic Language).
Показывается применимость таких систем для построения математической модели части реальности, т.е. математической конструкции к которой можно обращаться с вопросами о свойствах объектов и процессов предметной области.
язык работы с КМАС (Yafoll сообщение 1)Alex Shkotin
Вводится понятие конечной многоосновной алгебраической системы (КМАС/FMAS), а также язык для работы с такими системами - YAFOLL (Yet Another First Order Logic Language).
Показывается применимость таких систем для построения математической модели части реальности, т.е. математической конструкции к которой можно обращаться с вопросами о свойствах объектов и процессов предметной области.
makalah dengan judul “Ikhsan dalam Pandangan Al-Qur’an”. Makalah ini bertujuan untuk memenuhi tugas mata kuliah Media dalam Pengembangan Karakter Islam (Perspektif Al-Qur’an dan Hadis) , dengan dosen pengasuh Prof. Dr. Abdul Rahim Arsyad, MA. Penulis mengucapkan terima kasih atas bimbingan yang telah diberikan.
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...Омские ИТ-субботники
Максим Дроздов, Project Manager, ISS Art.
Работаю в ИТ более 8 лет. Руковожу большими и интересными проектами. Навожу порядок в процессах и снижаю энтропию :) Professional Scrum Master. Работал программистом и люблю это дело. Образование — прикладные математика и физика.
Источник радости для меня — настраивать процессы и видеть слаженную команду, где учитывают мнение каждого участника и всю энергию направляют на доставку качественного продукта в соответствии с целями проекта.
В своем докладе хочу показать, что навести порядок в сложном проекте могут простые и широко известные средства, которые нужно правильно применять.
Непомнящих Егор, Web-developer, ISS Art.
JS, Java, Iron Maiden. Практически вся моя жизнь связана так или иначе с IT — с 11 класса и до 5 курса я лидировал на олимпиадах, но погрузился в профессию уже на работе в ISS Art’е. Мною реализованы ряд интересных проектов — от мелких поделок на гитхабе, до крупных бизнес-порталов, системы мониторинга и прогнозирования состояния оборудования, векторного графического редактора для Flash-версии Google Maps, сложного плагина для SketchUp на Ruby и Unity-клиента для просмотра зданий под десктопными и мобильными платформами.
В общем, повидал всякие front-end’ы, не только Web. Буду рад поделиться опытом с коллегами по цеху. В докладе расскажу о том, как сократить объем кода вашего front-end'а на 7%.
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...Омские ИТ-субботники
Докладчик: Вадим Литвинов, Hola Networks Ltd., Новосибирск.
«Надоели Ангуляры и Аджайлы? Устал от Scrum и NoSQL? Тогда приходи и мы погрузимся в увлекательный мир математики и увидим как с её помощью можно просто и элегантно решать сложные задачи.
Конкретно на этом докладе мы поговорим о том, как воссоздать 3D модель поверхности по видеозаписи.
О себе: родился и живу в Новосибирске, но молодость свою провел во Франции, где я прожил суммарно 15 лет. Несмотря на то что я закончил институт по специальности
“Компьютерные сети и связь”, админ из меня не вышел. Занимался я в основном
научными вычислениями. Защитил диссер по машинному зрению. Работал над многими интересными вещами от расчетов сопромата до робототехники. Самый мой любимый проект это разработка прототипа машины без водителя в 2010/11 годах. В настоящий момент работаю над Video CDN нового поколения в Hola Networks Ltd.»
What's cooking at Sophos - an introduction to Synchronized SecuritySophos Benelux
Presentation of Vincent Vanbiervliet at Sophos Security Day 2015. On the new innovative products from Sophos such as Synchronized Security and our new XG firewall
Алексей рассказывает, почему Тим Кук верит в светлое будущее дополненной реальности. Объясняет, как работает ARKit, и показывает несколько вдохновляющих примеров.
Речь пойдет о фреймворке под названием Texture (a.k.a AsyncDisplayKit/ASDK). Создатели этого фреймворка пытаются изменить старый синхронный способ работы с UI на современный многопоточный. Спикер расскажет о том, как устроен этот фреймворк, о его преимуществах и недостатках, подводных камнях и реальном опыте использования. После этого доклада все, кто его слушали, смогут создавать приложения на основе Texture и быть уверенными в том, что экран будет обновляться со скоростью 60FPS независимо от сложности UI.
Илья Сиганов, разработчик 7bits, аспирант по Информатике и Выч. Технике ОмГУ ФКН
Вы наверное наслышаны об успехах так называемого машинного обучения. Его используют для перевода текстов, синтеза голоса, распознавания речи, показа рекламы. Да чему только уже не научили компьютер! Мне стало безумно интересно как в принципе происходит обучение компьютера, каким задачам его можно обучить, а каким нельзя, по крайней мере пока.
В своей лекции я расскажу на настоящих примерах то, как может проходить обучение, с какими трудностями сталкиваются дата-саентисты и к чему всё это машинное обучение приведёт
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальноеОмские ИТ-субботники
Максим Верзаков, разработчик Crystalnix
Мы не боимся использовать Docker, и неплохо в этом преуспеваем. Я расскажу, как еще можно использовать Docker и почему это удобный инструмент не только для разработки, но и для жизни.
Докладчик: Алексей Городецкий, ОмГУ, Great Fruit, Омск.
«Закончил ОмГУ ФКН, на данный момент обучаюсь в аспирантуре там же. В ИТ за деньги лет 6 — с осени первого курса. Так вышло, что занимался абсолютно разными вещами — админил и патчил Asterisk в службе такси, участвовал в разработке складских систем для небезызвестных колбасных картелей (см. программировал в морозилках и тому подобные страдания), занимался веб разработкой. На данный момент работаю в ОмГУ — занимаюсь корпоративными системами и электронными сервисами студента. В качестве развлечений участвую порой в хакатонах (обычно в команде с небезызвестным человеком-хакатоном), а так же в game джемах.
Как и любой другой сегодняшний программист, программировал на довольно большом количестве языков — на функциональных, на скриптовых, на мейнстримовых. Честно говоря, результат меня совсем не удовлетворил, как, думаю, и многих многих других. Именно по этой причине сегодня так много молодых и по-своему интересных языков. По моему мнению, сегодняшние мейнстримовые языки имеют 4 очень серьезные проблемы:
— менеджмент памяти
— проблема простоты, минимальности покрытия возможностями при сохранении выразительности
— композиция, модульность, масштабируемость
— возможности unit тестирования
В аспирантуре занимаюсь изучением этих вопросов. В своем докладе расскажу про инфраструктуру для создания компиляторов LLVM, некогда созданную аспирантом из Иллиноиса, Крисом Латтнером, сейчас работающим в Apple Inc. Логическим продолжением его деятельности стало создание языка Swift. Мы рассмотрим сегодняшние методологии построения компиляторов, используя инфраструктуру LLVM. На примере создания фронтенда достаточно простого языка, мы получим представление о системе команд LLVM, об утилитах, входящих в стандартный пакет LLVM, о FFI с libc и прочих скользких ситуациях, о которых часто представление имеют только системные программисты.
Если вас интересуют языки программирования, а также, возможно, накопилось некоторое количество боли и стресса от использования тех языков, с которыми вы вынуждены работать, то добро пожаловать на баркемп, на котором мы и обсудим такие вещи как:
— более подробно о LLVM и компиляторах
— перегрузка операторов
— вывод типов
Если останутся силы, то мы сможем обсудить 4 проблемы, обозначенных мною выше, тщательно запротоколировать все мнения и, возможно, прийти к какому-то консенсусу.»
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборотОмские ИТ-субботники
Николай Линкер, Backend-developer, ISS Art
С детства любил математику, это и определило мою профессию. Закончил матфак ОмГУ, уже 16 лет разрабатываю ПО, постоянно ищу новые решения. Довелось поработать с широким диапазоном языков и предметных областей. Детально разбирался с графическими библиотеками, компиляторами и сетевыми протоколами. В докладе расскажу, что заслуживает распространения из Haskell в традиционные языки, вроде Java, и что в Java удалось лучше, чем в Haskell.
3. Определение 2. (Слово в алфавите)
𝑎1 𝑎2 … 𝑎 𝑛
Словом в алфавите A называется конечная цепочка (в том числе, пустая)
записанных подряд символов этого алфавита
5. Определение 4. (Формальный язык)
Множество всех слов в алфавите A обозначается через 𝐴∗
(пустое слово
принадлежит 𝐴∗).
Формальным языком (или просто языком) в алфавите A называется какое
угодно подмножество множества 𝐴∗.
6. Пример 5. (язык С++)
Алфавит: do, while, if, {, }, (, ), +, -, …
Слово:
void f(int a, int b)
{
return a + b;
}
7. Определение 6. (Исчисление)
Пусть A - произвольный алфавит, а L - некоторый язык в алфавите A.
Тогда говорят, что задано исчисление C, если задано
1. множество Ax слов языка L,
2. конечное множество R не менее, чем двухместных отношений на L.
Каждое слово из множества Ax называется аксиомой исчисления C, а каждое
отношение из R - правилом вывода исчисления C.
8. Определение 7. (n+1-местное отношение)
Пусть r ∈ R - (n+1)-местное правило вывода, где n - положительное целое
число. Тогда, если (𝑎1, 𝑎2, … , 𝑎 𝑛, 𝑎) ∈ r, то говорят, что 𝑎 получается из
𝑎1, 𝑎2, … , 𝑎 𝑛 по правилу вывода r.
𝑎1, 𝑎2, … , 𝑎 𝑛
𝑎
9. Определение 8. (Выводимость)
Пусть D – множество формул, B – формула.
Тогда D ⊦ B, если ∃ B1, B2, …, Bn , что
1.Bn – это B,
2.Bi – это
либо формула из L,
либо аксиома,
либо формула полученная при
помощи правила вывода
10. Определение 9. (Грамматика)
Формальная грамматика — четверка
T — множество терминальных символов (термов);
N — множество нетерминальных символов;
S — начальный символ;
P — набор правил вывода (продукций).
11. Теорема 10.
1. Для любой формальной грамматики существует машина Тьюринга,
распознающая язык этой грамматики.
2. Если язык распознается некоторой машиной Тьюринга, то существует
формальная грамматика, которая его генерирует.
20. Практическое применение
На практике используются КС-грамматики
Регулярные – слишком узкий класс {0 𝑛1 𝑚|𝑛, 𝑚 ∈ ℕ}
КЗ и неограниченные – слишком трудоемкие
22. Определение 16. Множество First
Для каждого нетерминала A вычисляется First(A):
• если в грамматике есть правило с A в левой части и правой частью,
начинающейся с терминала, то данный терминал входит в First(A)
• если в грамматике есть правило с A в левой части и правой частью,
начинающейся с нетерминала (обозначим B), то First(B) строго входит в
First(A)
• никакие иные терминалы не входят в First(A)
23. Определение 17. Множество направляющих
символов
если правая часть правила начинается с терминала, то множество
направляющих символов состоит из одного этого терминала
иначе правая часть начинается с нетерминала A, тогда множество
направляющих символов есть First(A)