Рубрика «Программирование» - 381

Всем привет. В статье хочу описать свой эксперимент по созданию «искусственной жизни» на компьютере.
Как это выглядит?

Создание «искусственной жизни» на компьютере - 1
картинка кликабельна

На компьютере создаётся виртуальная среда со своими правилами и выпускается первая простейшая живность. Буду называть их ботами. Боты могут погибнуть или выжить и дать потомство. Потомок может слегка отличаться от предка.
Ну а дальше за работу принимается эволюция и естественный отбор.
А мне остаётся только наблюдать за развитием мира
Чем неожиданнее для создателя и многообразней будут варианты развития мира, тем более удачным можно считать эксперимент.

Поведением ботов управляет код, записанный в них.
Именно код и является геномом, который отвечает за поведение бота и который будет изменяться в процессе эволюции.
Внутреннее устройство кода — это самое интересное в проекте.

Код должен быть простым и выдерживать различные модификации (случайное изменение любого элемента в коде) над собой без синтаксических ошибок.
Читать полностью »

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год

Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2Читать полностью »

Привет! Представляю вашему вниманию перевод статьи "Overview and Comparison of Gate Level Quantum Software Platforms" автора Ryan LaRose.

Квантовые компьютеры доступны для использования в облачной инфраструктуре, но в тоже время недавний бурный рост квантовых программных платформ может быть ошеломляющим для тех, кто будет принимать решение, что использовать. В этой статье предлагается текущая картина быстро развивающегося ландшафта квантовых вычислений путем сравнения четырех программных платформ — Forest (pyQuil), QISKit, ProjectQ и комплекта Quantum Development Kit, — которые позволяют исследователям использовать реальные и моделируемые квантовые устройства. Этот анализ охватывает требования и установку, синтаксис языка на примере программ, поддержку на уровне библиотек и возможности квантового симулятора для каждой платформы. Для платформ с поддержкой квантового компьютера мы сравним аппаратные средства, квантовые ассемблерные языки и квантовые компиляторы. В заключение мы рассмотрим особенности каждого из них и кратко упомянем другие пакеты программного обеспечения для квантовых вычислений.

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

Несмотря на то, что технологии модульного тестирования существуют уже 30 лет (в 1989 году Кент Бек написал статью “Simple Smalltalk Testing: With Patterns”), тем не менее не все программисты владеют этой технологией и не все компании сделали автоматическое тестирование частью своей корпоративной культуры. Даже несмотря на очевидные преимущества автоматического тестирования, все равно поведенческое сопротивление достаточно сильное. Кто пробовал внедрять автоматические тесты, тот знает, что всегда найдется какая-то причина, почему это не удалось сделать.

Из моего личного опыта внедрения методов надежного программирования в своей компании, в компаниях, которые я консультировал, общения на конференциях, а также из публично доступных источников, я сформулировал типичные возражения и сопротивления, которые препятствуют внедрению культуры автоматического тестирования.

Все возражения я сгруппировал в пирамиду надежного программирования, которая включает четыре уровня:Читать полностью »

В жизни практически любой команды разработчиков наступает момент, когда создание собственного фреймворка переходит из статуса «Нафига нам тратить время?» в статус «Классная идея!». У нас такой момент наступил около двух месяцев назад, когда мы начали прикручивать к клиентскому мобильному приложению Промсвязьбанка, PSB Mobile, функцию голосового управления переводами с помощью Siri. Мы проанализировали свой опыт и на его основе расскажем, как понять, что время фреймворков все-таки настало.

Три верных признака того, что пора пилить свой фреймворк - 1
Читать полностью »

В прошлом году в пражском офисе Veeam Software появилось сообщество Veeam Geek Hub, объединяющее русскоязычных разработчиков из разных компаний, которые интересуются новыми технологиями, готовы делиться опытом на площадке Veeam ну и просто проводить время в компании приятных людей, таких же, как ты сам.

В рамках сообщества в Праге уже прошли несколько митапов, а сегодня мы анонсируем следующее событие на базе Veeam Geek Hub, но уже в Питере: 4 августа пройдет первый в Санкт-Петербурге IT Bike Quest.

Под катом рассказываем, почему вам непременно надо на него зарегистрироваться прямо сейчас.

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

Есть много обстоятельств, которые могут быть катализаторами создания плохого ПО: используемые инструменты, качество коммуникаций в команде, персональные качества разработчиков, методологии и т.д. И есть среди них одна вещь, которая является корнем почти всех остальных: воображаемые проблемы.

Большинство сложного или забагованого программного обеспечения не планировалось быть сложным и, уж тем более, забагованым. Оно просто было создано для выполнения не тех задач, которые лежали в основе первоначального замысла.

История о подкастах

Давайте представим себе, что вы записываете популярный подкаст и в какой-то момент задумались о создании собственного сайта — ну, знаете, с информацией о вашем подкасте, записями прошлых выпусков, статьями, ну и возможно, кое-какой рекламой. В самом деле, ну сколько можно делиться прибылью с какими-то там посторонними издателями?

И вот вы решаете нанять людей, которые сделают для вас этот сайт. Вы пишете для них абсолютно чёткие требования:

  • Быстрая загрузка сайта в Северной Америке
  • Поддержка загрузки прошлых выпусков подкастов и трансляции в реальном времени текущих
  • Трансляция не должна падать или замирать в течении первых 15 минут для 99.99% пользователей. Желательно вообще никогда, но хотя бы так.
  • Интеграция с Google Adwords (а в будущем, возможно, и с аналогами)
  • Интеграция с трансляциями Facebook, поскольку там вы провожу свои передачи. Если можно создать альтернативное решение, которое будет позволять стримить более удобно — ещё лучше.

Вы даёте эти требования разработчикам и, возможно, немного общаетесь с ними. Проходит 2 месяца. Они показывают вам демо и вы покрываетесь красными пятнами. Становится понятно, что вы только что выбросили в пропасть 15 000 $. То, что вам показали, совершенно неприемлемо ни с какой стороны, просто куча мусора. Вы хотите назад свои деньги, но поезд уже ушел.

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

Анимации в Android на базе Kotlin и RxJava - 1

Привет! В прошлом году на MBLT DEV выступал Ivan Škorić из PSPDFKit c докладом о создании анимаций в Android на базе Kotlin и библиотеки RxJava.

Приёмы из доклада я сейчас использую в работе над своим проектом, они здорово помогают. Под катом — расшифровка доклада и видеозапись, теперь этими приёмами можете воспользоваться и вы.Читать полностью »

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

Былина о том, как я в стартапе работал - 1
Читать полностью »

Меня зовут Кен Уэстин, я расскажу вам, что значит быть профессиональным киберсталкером (киберсталкингом называется использование Интернета для розыска какого-то человека, группы людей или организации).

DEFCON 23. «Признания профессионального киберсталкера». Кен Уэстин - 1

Я основатель компании GadgetTrak, в которой был хакером и по совместительству генеральным директором, и разработчик технических средств, позволяющих возвратить украденные у людей девайсы. Я также создал поисковый движок для поиска EXIF данных в изображениях.
Сейчас я не работаю в GadgetTrak и в настоящее время являюсь действующим старшим аналитиком по безопасности в компании Tripwire Inc., участвую во многих расследованиях, собираю информацию из социальных сетей и других источников и отправляю плохих людей за решётку.

DEFCON 23. «Признания профессионального киберсталкера». Кен Уэстин - 2

На этом слайде показана «Стена позора» — это фотографии реальных людей из реальных расследований, в которых я участвовал. Вы видите много фотографий, сделанных веб-камерой, я специально размыл лица злоумышленников, чтобы сохранить их анонимность. Некоторые из этих фото взяты с возвращённых мною устройств, а не сделаны веб-камерой.Читать полностью »


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