by Dmytro Tarasenko
Agenda:
1. JavaScript speed
2. Simple interpreter creation
3. Command Line and File System
4. Password bruteforcing (md5, 7zip)5. Cross Domain Requests
6. 3D in JavaScript
7. Hiding of JavaScript code
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/LinuxDefconRussia
Руткиты в мире основанных на ядре Linux операционных систем уже не являются редкостью. Рассказ будет о том, как попытки в современных реалиях определить то, скомпрометирована ли система, привели к неожиданному результату.
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Yandex
Научно-технический семинар «DTrace: Проверочная работа для вашего кода» в петербургском офисе Яндекса, 29 ноября 2012 г.
Филипп Торчинский, эксперт по облачным технологиям, Семоникс.
Как показывает практика, применение классического, основанного на callback’ах подхода к асинхронному программированию обычно оказывается неудобным. Для упрощения написания и поддержки сложного асинхронного кода можно использовать иной подход, основанный на прозрачном использованием сопрограмм. Он значительно сокращает объём и сложность кода, превращая его в понятный, легко читаемый и структурируемый код.
Из презентации вы узнаете:
— как мы пришли к Go, оставив идею использования Node.js, Scala или Rust;
— про первый сервис, который мы написали на Go и запустили в продакшен;
— про ошибки, с которыми сталкивались под нагрузкой;
— про оптимизации, которые мы сделали и еще планируем сделать;
— про тестирование и предотвращение тестирования на продакшене (в частности, websocket'ов).
Magic Box, или Как пришлось сломать банкоматы, чтобы их спастиPositive Hack Days
Ведущие: Ольга Кочетова и Алексей Осипов
Доклад посвящен наиболее популярным атакам на банкоматы, а также методам их предотвращения. Докладчик продолжит тему своих прошлых презентаций, однако с более глубоким проникновением в технические детали. Основное внимание будет уделено проблемам безопасности в архитектуре банкоматов и недостаткам защищенности взаимодействия банкоматов с процессинговым центром.
Модульность и управляемая многопоточность встраиваемых С++ приложений - трудн...corehard_by
- Организация программной системы как совокупности модулей, интерфейсов и управляющих систем.
- Многопоточность - предпосылки для использования и объективная необходимость.
- Организация многопоточности при проектировании алгоритмов, основанных на событиях.
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/LinuxDefconRussia
Руткиты в мире основанных на ядре Linux операционных систем уже не являются редкостью. Рассказ будет о том, как попытки в современных реалиях определить то, скомпрометирована ли система, привели к неожиданному результату.
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Yandex
Научно-технический семинар «DTrace: Проверочная работа для вашего кода» в петербургском офисе Яндекса, 29 ноября 2012 г.
Филипп Торчинский, эксперт по облачным технологиям, Семоникс.
Как показывает практика, применение классического, основанного на callback’ах подхода к асинхронному программированию обычно оказывается неудобным. Для упрощения написания и поддержки сложного асинхронного кода можно использовать иной подход, основанный на прозрачном использованием сопрограмм. Он значительно сокращает объём и сложность кода, превращая его в понятный, легко читаемый и структурируемый код.
Из презентации вы узнаете:
— как мы пришли к Go, оставив идею использования Node.js, Scala или Rust;
— про первый сервис, который мы написали на Go и запустили в продакшен;
— про ошибки, с которыми сталкивались под нагрузкой;
— про оптимизации, которые мы сделали и еще планируем сделать;
— про тестирование и предотвращение тестирования на продакшене (в частности, websocket'ов).
Magic Box, или Как пришлось сломать банкоматы, чтобы их спастиPositive Hack Days
Ведущие: Ольга Кочетова и Алексей Осипов
Доклад посвящен наиболее популярным атакам на банкоматы, а также методам их предотвращения. Докладчик продолжит тему своих прошлых презентаций, однако с более глубоким проникновением в технические детали. Основное внимание будет уделено проблемам безопасности в архитектуре банкоматов и недостаткам защищенности взаимодействия банкоматов с процессинговым центром.
Модульность и управляемая многопоточность встраиваемых С++ приложений - трудн...corehard_by
- Организация программной системы как совокупности модулей, интерфейсов и управляющих систем.
- Многопоточность - предпосылки для использования и объективная необходимость.
- Организация многопоточности при проектировании алгоритмов, основанных на событиях.
VDS: обнаружение, выявление причин и устранение проблемных ситуаций. Диагнос...Oleg Lipin
Слайды к лекции об анализе VDS серверов, прозвучавшей на петербургском Линуксфесте в июле 2014 года.
Развернутая статья доступна по адресу http://debian-help.ru/vps-server-debian-analiz-problem-optimizaciya-nastroek
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Ontico
Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него.
Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. А за кажущейся простотой скрывается довольно сложный и интересный механизм, к работе которого очень часто возникает много вопросов, на которые не всегда можно найти однозначный ответ.
В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.
200 open source проектов спустя: опыт статического анализа исходного кодаAndrey Karpov
Одна из особенностей работы нашей команды — анализ большого количества различных программных проектов. Рассказывать о закрытых коммерческих проектах часто запрещает NDA, а вот об open source можно и нужно говорить. Какие ошибки допускают в open-source-проектах? Какой код более качественный — закрытый или открытый? Нужно ли придерживаться стандартов кодирования, или они давно устарели? Какие ошибки сложнее найти и исправить — сложные архитектурные или простые опечатки? Проанализировав за несколько лет сотни программных проектов от zlib до Chromium, мы готовы поделиться своим опытом и ответить на эти вопросы.
Everything you wanted to know about writing async, high-concurrency HTTP apps...JavaDayUA
With tens of millions of clients continuously downloading binaries from our repositories, we decided to offer an OSS client that natively supports these downloads. In this talk, we will share the main challenges in developing a highly-concurrent, resumable, async download library on top of Apache HTTP client. We will cover other libraries we tested and why we decided to reinvent the wheel. We will see important pitfalls we came across when working with HTTP and how using the right combination of techniques can improve performance by an order of magnitude. We will also see why your initial assumptions may completely change when faced with other players on the network. Consider yourself forewarned: lots of HTTP internals, NIO and concurrency ahead!
Применение фреймворка GStreamer в системе видеонаблюденияcorehard_by
Я хочу рассказать о фреймворке GStreamer, который предназначен для обработки аудио/видеоданных. А также для чего мы его использовали в одном из наших проектов.
В докладе рассматривается текущее состояние механизмов поиска и установки необходимых библиотек и утилит. Мы пробежим по общему определению менеджера пакетов и рассмотрим несколько распространенных примеров. Взглянем на типичные сценарии использования и на то, какие возможности были использованы в качестве критериев сравнения, а также составим представление о существующих решениях в мире С++ их конструктивных особенностях и примерах решаемых задач.
сравнение производительности СУБД MySQL и PostgreSQL для "типичной задачи стартапа".
Презентация сопровождала тестовую online-сессию и потому не содержит результатов тестирования.
В стандартной библиотеке <algorithm> есть много очень полезных для повседневной работы алгоритмов, и с каждым новым стандартом их количество увеличивается. Но всегда чего-то не хватает. Мы поговорим, как тут может помочь Boost.Algorithm, что есть полезного в этой замечательной библиотеке и немного окунёмся в процесс разработки библиотеки в Boost.
Раздатчик музыки непосредственно занимается отдачей байтов аудиопотока многочисленным пользователям https://ok.ru/music. В пике суммарный трафик достигает 100 Гб/с через сотни тысяч соединений, а время до первого байта составляет не больше 100 мс. Предыдущая версия раздатчика на основе файлов и Apache Tomcat не устраивала нас требуемым количеством оборудования и неспособностью утилизировать современное железо. При разработке новой версии мы поставили перед собой цель сохранить внешнюю функциональность сервиса неизменной, но обойтись существенно меньшим количеством машин, сохранив при этом масштабируемость и отказоустойчивость сервиса.
В докладе мы рассмотрим, как различные архитектурные решения помогли нам обеспечить масштабируемость и отказоустойчивость сервиса за счёт распределения и репликации музыкальных треков между нодами. Затем подробно поговорим про устройство отдельной ноды, включая отказоустойчивую подсистему хранения, сетевую подсистему, а также использование подхода reactive streams. Уделим особое внимание собранным граблям и трюкам, позволившим увеличить производительность системы, упростить отладку и эксплуатацию системы.
Доклад ориентирован на разработчиков, которые хотят расширить свой арсенал подходов и инструментов для создания распределённых и/или высоконагруженных систем с интенсивным I/O.
Реализация восстановления после аварий / Сергей Бурладян (Avito)Ontico
Базы данных PostgreSQL занимают одно из центральных мест в Авито. Они являются разделяемой платформой, вокруг которой построено множество дополнительных сервисов. Одной из основных задач при их администрировании является задача восстановления после аварий как самих баз, так и связанной с ними инфраструктуры.
В своём докладе я постараюсь рассказать про:
+ общую схему связей баз данных между собой и с другими компонентами;
+ точки отказа и виды аварий, затрагиваемые связи;
+ бинарную репликацию и архив;
+ логическую репликацию, pgq, londiste, UNDO (REDO), пересоздание репки;
+ скрипт и процедуру переключения при аварии;
+ планы: развитие «восстановлений» по всем связям, автоматика на основе системы zookeeper (etcd и т.п.).
Оптимизация high-contention write в PostgreSQL / Александр Коротков, Олег Бар...Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 7 ноября, 11:00
Тезисы:
http://www.highload.ru/2017/abstracts/3030.html
Оптимизация производительности – дело тонкое. Улучшая производительность системы при одной нагрузке, можно запросто ухудшить её при другой нагрузке. Основным мерилом производительности PostgreSQL в среде его разработчиков является pgbench. Как следствие, PostgreSQL стал "pgbench-optimized DBMS" (СУБД, оптимизированная для pgbench).
...
VDS: обнаружение, выявление причин и устранение проблемных ситуаций. Диагнос...Oleg Lipin
Слайды к лекции об анализе VDS серверов, прозвучавшей на петербургском Линуксфесте в июле 2014 года.
Развернутая статья доступна по адресу http://debian-help.ru/vps-server-debian-analiz-problem-optimizaciya-nastroek
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Ontico
Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него.
Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. А за кажущейся простотой скрывается довольно сложный и интересный механизм, к работе которого очень часто возникает много вопросов, на которые не всегда можно найти однозначный ответ.
В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.
200 open source проектов спустя: опыт статического анализа исходного кодаAndrey Karpov
Одна из особенностей работы нашей команды — анализ большого количества различных программных проектов. Рассказывать о закрытых коммерческих проектах часто запрещает NDA, а вот об open source можно и нужно говорить. Какие ошибки допускают в open-source-проектах? Какой код более качественный — закрытый или открытый? Нужно ли придерживаться стандартов кодирования, или они давно устарели? Какие ошибки сложнее найти и исправить — сложные архитектурные или простые опечатки? Проанализировав за несколько лет сотни программных проектов от zlib до Chromium, мы готовы поделиться своим опытом и ответить на эти вопросы.
Everything you wanted to know about writing async, high-concurrency HTTP apps...JavaDayUA
With tens of millions of clients continuously downloading binaries from our repositories, we decided to offer an OSS client that natively supports these downloads. In this talk, we will share the main challenges in developing a highly-concurrent, resumable, async download library on top of Apache HTTP client. We will cover other libraries we tested and why we decided to reinvent the wheel. We will see important pitfalls we came across when working with HTTP and how using the right combination of techniques can improve performance by an order of magnitude. We will also see why your initial assumptions may completely change when faced with other players on the network. Consider yourself forewarned: lots of HTTP internals, NIO and concurrency ahead!
Применение фреймворка GStreamer в системе видеонаблюденияcorehard_by
Я хочу рассказать о фреймворке GStreamer, который предназначен для обработки аудио/видеоданных. А также для чего мы его использовали в одном из наших проектов.
В докладе рассматривается текущее состояние механизмов поиска и установки необходимых библиотек и утилит. Мы пробежим по общему определению менеджера пакетов и рассмотрим несколько распространенных примеров. Взглянем на типичные сценарии использования и на то, какие возможности были использованы в качестве критериев сравнения, а также составим представление о существующих решениях в мире С++ их конструктивных особенностях и примерах решаемых задач.
сравнение производительности СУБД MySQL и PostgreSQL для "типичной задачи стартапа".
Презентация сопровождала тестовую online-сессию и потому не содержит результатов тестирования.
В стандартной библиотеке <algorithm> есть много очень полезных для повседневной работы алгоритмов, и с каждым новым стандартом их количество увеличивается. Но всегда чего-то не хватает. Мы поговорим, как тут может помочь Boost.Algorithm, что есть полезного в этой замечательной библиотеке и немного окунёмся в процесс разработки библиотеки в Boost.
Раздатчик музыки непосредственно занимается отдачей байтов аудиопотока многочисленным пользователям https://ok.ru/music. В пике суммарный трафик достигает 100 Гб/с через сотни тысяч соединений, а время до первого байта составляет не больше 100 мс. Предыдущая версия раздатчика на основе файлов и Apache Tomcat не устраивала нас требуемым количеством оборудования и неспособностью утилизировать современное железо. При разработке новой версии мы поставили перед собой цель сохранить внешнюю функциональность сервиса неизменной, но обойтись существенно меньшим количеством машин, сохранив при этом масштабируемость и отказоустойчивость сервиса.
В докладе мы рассмотрим, как различные архитектурные решения помогли нам обеспечить масштабируемость и отказоустойчивость сервиса за счёт распределения и репликации музыкальных треков между нодами. Затем подробно поговорим про устройство отдельной ноды, включая отказоустойчивую подсистему хранения, сетевую подсистему, а также использование подхода reactive streams. Уделим особое внимание собранным граблям и трюкам, позволившим увеличить производительность системы, упростить отладку и эксплуатацию системы.
Доклад ориентирован на разработчиков, которые хотят расширить свой арсенал подходов и инструментов для создания распределённых и/или высоконагруженных систем с интенсивным I/O.
Реализация восстановления после аварий / Сергей Бурладян (Avito)Ontico
Базы данных PostgreSQL занимают одно из центральных мест в Авито. Они являются разделяемой платформой, вокруг которой построено множество дополнительных сервисов. Одной из основных задач при их администрировании является задача восстановления после аварий как самих баз, так и связанной с ними инфраструктуры.
В своём докладе я постараюсь рассказать про:
+ общую схему связей баз данных между собой и с другими компонентами;
+ точки отказа и виды аварий, затрагиваемые связи;
+ бинарную репликацию и архив;
+ логическую репликацию, pgq, londiste, UNDO (REDO), пересоздание репки;
+ скрипт и процедуру переключения при аварии;
+ планы: развитие «восстановлений» по всем связям, автоматика на основе системы zookeeper (etcd и т.п.).
Оптимизация high-contention write в PostgreSQL / Александр Коротков, Олег Бар...Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 7 ноября, 11:00
Тезисы:
http://www.highload.ru/2017/abstracts/3030.html
Оптимизация производительности – дело тонкое. Улучшая производительность системы при одной нагрузке, можно запросто ухудшить её при другой нагрузке. Основным мерилом производительности PostgreSQL в среде его разработчиков является pgbench. Как следствие, PostgreSQL стал "pgbench-optimized DBMS" (СУБД, оптимизированная для pgbench).
...
Суперсилы Chrome DevTools — Роман Сальников, 2ГИСYandex
В своей работе мы постоянно используем инструменты, призванные облегчить нам жизнь. Но как хорошо мы ими на самом деле владеем? И почему мы пренебрегаем их суперсилами? Например, Chrome DevTools — это не только отладчик и инспектор HTML. Но когда у нас в руках молоток, кругом мерещатся гвозди. Десятки мегабайт и процентов загрузки процессора на вкладку браузера — верный признак того, что пора учиться пользоваться микроскопом.
Роман предложит освоить что-то посложнее молотка и расскажет о том, какую реальную пользу можно получить от профилирования, как найти в огромном отчёте проблему с кодом и что лучше — написать в коде десяток console.log или async debug.
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»Yandex
Мониторинг – важная часть работы хорошего сервиса. Мало просто протестировать релиз, надо также убедиться, что код работает у пользователей и работает правильно. В докладе я расскажу про логирование js-ошибок при разных способах загрузки js, подводных камнях, способах их обойти, а также почему это надо делать.
Мы все допускаем ошибки при программировании и тратим массу времени на их устранение.
Один из методов который позволяет быстро диагностировать дефекты – статический анализ исходного кода.
Языки C, C++ и C++0x как набор ножей по дереву. С их помощью создаются великолепные изделия, но немного неаккуратности и можно глубоко порезаться. Одной из самых ранних методик обнаружения ошибок в коде программ является статический анализ кода. Запуская анализ сразу после написания нового кода или во время ночных сборок, можно выявить множество ошибок еще до этапа тестирования. Это сокращает стоимость и время их исправления. Также могут быть обнаружены дефекты, редко проявляющие себя, которые могут являться головной болью на протяжении многих месяцев сопровождения программы.
В докладе будет продемонстрировано множество примеров ошибок в известных open source программах и библиотеках, которые можно обнаружить с помощью статических анализаторов.
Мало кто отчетливо представляет, как работают исключения в С++.
Автор пытается восполнить этот пробел, заодно пытаясь выяснить, почему всё устроено так как оно устроено и нельзя ли там чего-нибудь улучшить.
1) Две основные проблемы - как обустроить раскрутку стека
и как осуществить передачу управления при возникновении исключения
2) Раскрутка стека - GCC LDSA, MSVC32, MSVC64
3) Передача управления - SJLJ, DW2, MSVC
4) Раскручиваем стек своими руками
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Yandex
Платформа Node.js становится все более популярной. Для нее уже создано много библиотек и инструментов. Рассказ о том, какие из них и для чего мы используем.
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...QAFest
Ни для кого не секрет, что при разработке проекта мало кто уделяет достаточное внимание проверке безопасности приложения. Даже когда и задумываются об этом, то очень часто упускают из внимания уязвимости железа и ОС, которое коммуницирует с вашим приложением. В своем докладе я расскажу и покажу на что следует обращать внимание при тестировании безопасности вашего продукта. А так же насколько важно применять тестирование безопасности. Ну, и как обычно, свои доклады я сопровождаю не только теорией, но и практическими примерами. На этот раз специальными гостями будут:
- Nmap
- Metasploit
- Ettercap
Quality attributes testing. From Architecture to test acceptanceIT Weekend
This document summarizes an expert's experience and qualifications in software architecture and automation testing, including 8 years of IT experience and a PhD in IT automation testing. It then discusses what software architecture is, how it is formed based on business, users and systems, and what quality attributes and acceptance criteria can be tested. Finally, it provides an example of defining acceptance criteria for a software error scenario using a specific methodology and tools.
Mobile development for JavaScript developerIT Weekend
This document discusses mobile development platforms for JavaScript developers and provides links to code examples using various frameworks. It mentions trying different approaches and sometimes getting unsatisfactory results. Links are included to CodePen demonstrations of building mobile interfaces using frameworks like Famo.us that use JavaScript for layout, animation and user interaction.
Building an Innovation & Strategy ProcessIT Weekend
This document discusses building an innovation and strategy process. It emphasizes that operational effectiveness alone is not a strategy and that both operations and strategy are needed for superior performance. It also discusses assessing the current state, getting management buy-in, setting up an innovation governance process, starting with tangible initiatives, and creating structures to support innovation. Additionally, it covers positioning options, scouting options, and stepping stones as stages in innovation and building an opportunity portfolio.
IT Professionals – The Right Time/The Right PlaceIT Weekend
The document discusses recent changes in Ukraine's government and goals for the country's growing IT sector. It notes that Dmytro Shymkiv was appointed as Deputy Head of the Presidential Administration to implement e-governance reforms. Ukraine aims to transform its economy from resource-based to knowledge-based, creating 100,000 IT jobs and $10B in exports by 2020. The Ukrainian IT market is expected to grow significantly in the next 5-6 years, with the sector employing over 50,000 people and 500+ outsourcing providers annually growing 20-30%. Ukraine has the largest IT outsourcing market and talent pool in Central and Eastern Europe.
This document discusses how to build a data-driven organization by collecting and analyzing metrics. It emphasizes that data is important for making decisions, hitting goals, and knowing if systems are working properly. The author promotes their tool called Larimar, which aims to automate data collection and analysis at the application level to provide insights without configuration. Building a data culture where employees are inspired to act on insights is key to success.
The document discusses tools and concepts for product owners and managing a product. It includes diagrams of different stakeholders and their motivations, use cases for tracking library usage, and considerations around features like in-scope versus out-of-scope for the project. Key elements covered are motivating stakeholders, capturing requirements through use cases, and prioritizing features.
The document discusses hacking your doorbell and getting started with IoT devices. It provides an overview of the Internet of Things and its growth, then recommends several hardware platforms for starting IoT projects - the Arduino, Netduino, Raspberry Pi, and BeagleBone Black. Each option is described with its advantages and disadvantages. Contact information and credits are provided at the end.
An era of possibilities, a window in timeIT Weekend
This document discusses the rapid pace of technological change and innovation. It notes that what seems impossible today in terms of data and computing power will be commonplace just a few years later. A list of technologies from the past 200 years shows how innovation has transformed industries and liberated women from domestic work. The document outlines several ongoing megatrends, such as networks, mobile devices, sensors and big data, that are driving the next industrial revolution through context-aware and pervasive computing using technologies like quantum computing and drones. It emphasizes letting data and analytics, rather than preconceptions, guide decisions about new opportunities.
The document discusses two main standards for web services - REST and SOAP. It provides details on how each one works and how data is handled. It also outlines steps for building a framework for web service automation, including creating classes to represent requests and responses, a SOAP client, and tests to validate responses. Examples of requests and responses are given for login and user creation operations.
The document outlines why the author started using Ruby and provides an overview of the Ruby programming language and Ruby on Rails web application framework. It discusses how Ruby is a dynamic, object-oriented language designed to be elegant and efficient. Ruby on Rails makes it easy to build database-backed web applications according to the MVC pattern. The document also covers the Ruby ecosystem including interpreters, frameworks, libraries and tools, and discusses the future of Ruby and Rails.
The document discusses REST principles for building client-server applications using HTTP. It covers topics like REST, HTTP methods (GET, POST, PUT, DELETE), request and response formats, status codes, and headers. Code examples are provided for retrieving user data from an API using different HTTP methods and request parameters. The document emphasizes best practices for REST APIs and includes recommendations to review REST API tutorials and HTTP specification documents.
The document provides an overview of Kanban, an agile project management framework. It discusses why Kanban was developed, its main benefits which include shorter cycle times, responsiveness to change, and reducing waste. The core aspects of Kanban are also summarized, such as visualizing workflow, limiting work-in-progress, and managing flow. Examples of Kanban boards are shown and how they can improve communication, collaboration, and productivity within a team. Steps for implementing Kanban on a project are outlined. Finally, common myths about Kanban are debunked.
1. Requirements are only 50% defined, posing a risk of unclear or changing requirements which could lead to delays or scope issues.
2. Critical database performance is a risk area that must meet strict acceptance criteria.
3. The project team is missing 5 key resources which could cause delays if tasks take longer than expected to complete.
4. The database architect is only available 60-70% of the time due to another project assignment, posing a risk to timely database design and implementation.
5. Communication risks exist due to the client's main expert Jar Jar Binks not regularly using email and having a strong non-
«Spring Integration as Integration Patterns Provider»IT Weekend
The document discusses Spring Integration, an open-source framework for enterprise application integration. It provides goals, features, main components and examples of Spring Integration. Some key points:
- Spring Integration aims to provide a simple model for complex integration solutions and facilitate asynchronous, message-driven behavior within Spring applications.
- It implements most Enterprise Integration Patterns and supports integration with various external systems like HTTP, FTP, JMS.
- Main components include messages, channels, endpoints like transformers, filters, routers.
- Examples demonstrate receiving JMS messages, extracting data, routing/aggregating messages, and sending results to another queue.
- Compared to Apache Camel, Spring Integration uses only XML configuration while
The document discusses machine learning techniques for classification problems. It introduces classification using raw pixel data before discussing feature extraction to represent images more effectively using features like wheels and seas. Neural networks can also learn features through techniques like autoencoders, where the network is pre-trained before being used for classification. Deep learning networks take advantage of unlabeled data, avoid overfitting through techniques like dropout, and use computational efficiency through GPU processing to effectively perform tasks like classifying images of handwritten digits and galaxies.
Parallel Programming In Modern World .NET TechnicsIT Weekend
This document discusses parallel programming concepts in .NET, including concurrency vs parallelism, limitations to parallel speedup, Amdahl's Law and Gustafson's Law for calculating parallel speedup, phases of parallel development like finding concurrency and algorithm structures, data parallelism patterns like map-reduce, futures, dynamic task parallelism using pipelines, and asynchronous programming using async and await. Key algorithm structures covered include task parallelism, divide and conquer, and map-reduce patterns. Supporting structures discussed are SPMD, master-worker, and fork/join models. The document also touches on error handling and cancellation techniques in parallel programming.
Parallel programming in modern world .net technics sharedIT Weekend
This document discusses parallel programming concepts in .NET, including concurrency vs parallelism, limitations on parallel speedup, Amdahl's Law and Gustafson's Law for calculating parallel speedup, phases of parallel development like finding concurrency and algorithm structures, data parallelism patterns like map-reduce, futures for asynchronous programming, dynamic task parallelism, pipelines, and asynchronous programming with async and await. Error handling and cancellation techniques for parallel programs are also covered.
This document discusses maximizing the effectiveness of human capital. It contains the following key points:
1) Top performers in software engineering are much more productive and valuable than average employees, with estimates ranging from 2-4x to 12x to 300x more productive.
2) The cost of fixing defects is highest in the late stages of a project and lowest early on, so identifying and eliminating risks early is important.
3) The document outlines models and frameworks for evaluating employee performance, knowledge, competencies and developing skills through training to maximize productivity.
6. Бонжурно, мой друг :) Похоже, что твоя
любопытность сыграла нам на руку ;)
Это то, что у нас есть на данный
момент:
Файл:
https://www.dropbox.com/s/jd1mkl6tznh3u0q/n12
Детали:
https://www.dropbox.com/s/kotvnu58rs71kpr/Intro.mov
Удачи...
P.S. Пиши, если что-то пойдет не так.
И не забудь прислать мне результат ;)
14. Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.
c:nodejs>node BruteForce.js 7z.exe N12 12
Started at 2013-01-19 12:30:51
Password was cracked: "N83"
Finished at 2013-01-20 06:43:32
15. d:tmp7zip-crack>crark-7z.exe -l3 -g3 -ppass.def -c n12
cRARk-7z 1.03 (CUDA enabled) Freeware
Copyright 2012 by P. Semjanov, http://www.crark.net
(c) PSW-soft Password Cracking Library PCL v. 2.0d by P. Semjanov
Choosing best crypto functions...................
Chosen: AVX
(SB/IB), AVX
(SB/IB) (-f2444), AES-NI
Clock cycles per password expected = 35736440/91220634 (*),
theoretical = 82576080
Pure SHA-256 clock cycles per byte expected = 4.8/12.0 (*),
theoretical = 11.3
Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz found, CPU rate = 2.36 (*)
(*) May be inaccurate if Turbo Boost is on
Processing line 2 of password definition file...
Testing 3-chars passwords ...
Testing
data.bin
CRC ok
N83 - CRC OK
In hex (PCL style): 4E 38 33
Passwords tested = 18104 (time = 03:08.30, rate = 96 p/s)
Total
tested = 18104, slow tests = 1
16.
17. Отличная работа!!!
Похоже, что у нас появилась новая информация касательно этого дела. Вот
детали:
https://www.dropbox.com/s/vfgh0cteybs50s1/Part1.mov
Итак, нам удалось утащить файлик, который они используют для
расшифровки полученного тобой data.bin. Интереретатор они где-то прячут
и в переписке он не фигурировал :(
https://www.dropbox.com/s/qb2kw0euhc0scaf/unpacker-final.alan
Если в двух словах, то тебе нужно написать интерпретатор, который
выполнит скрипт - unpacker-final.alan. Этот скрипт разшифрует уже
имеющийся у тебя data.bin. В результате, ты получишь другой файл term.html. По поводу тестов для твоего будущего интерпретатора... Боб
набросал немного.
https://www.dropbox.com/s/5n0r1sciaqefsnc/tests.tar.gz
В файле answers.js находится json с ответами, которые ты должен
получить запуская эти тесты. Все остальные файлы в формате: commanderrX.alan должны вызвать ошибку работы интепретатора.
После успешной расшифровки, ты должен получить рабочий файл
терминала...
P.S. и помни, что весь текст, представленный здесь закодирован в UTF-8
23. onEcho()
1 #
#rn
2
3
4
5
6
7
8
9
# This is a comment
commentrn
#
#rn
set i, 0rn
echo i 0
:LOOP
:LOOPrn
cut
data, i, ch
chrn
asc
ch, n
nrn
Parameters
gotog n, chLimit, REPLACE
REPLACErn
goto LOOP 'i')
LOOPrn
onEcho(line,
24. /**
* echo command handler. Usage: echo v
*
* @param {Number} line Current script line
* @param {String} v
Variable name
* @return {Number} new script line index
*/
onEcho: function (line, v) {
console.log(this.getVar(v));
return ++line;
}
25.
26. Мои поздравления!
Моё сообщение тебе:
https://www.dropbox.com/s/c8suxtxvmt8hm8o/Part2.mov
Уже совсем близко! У нас в руках программа удаленного терминала, с
помощью которой можно будет получить доступ к спутнику. Мы немного
поигрались с ней и выяснили, что это небольшая UNIX подобная
система. При подключении к спутнику, мы сможем получать видео поток
с камер, установленных на спутнике и что-то еще, мы пока не уверены
наверняка. Тебе нужно найти, как с помощью этого терминала попасть
на спутник.
Удачи, мой друг.
44. Eric Carlson’s JSONP library
https://github.com/IntoMethod/Lightweight-JSONP
jsonp(this.url, this._onDataLoaded);
45.
46. Мои поздравления :)
Итак, у нас есть учетная запись админа! Теперь нам
ничего не стоит попасть на спутник ;)
Все детали в видео сообщении ;) Удачи!
https://www.dropbox.com/s/r9azu9ypihn19ka/Part3.mov