RSS
Pages: 1 ... 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 ... 133
[>] [Перевод] Проект SeaMonkey официально просит о поддержке
habra.16
habrabot(difrex,1) — All
2017-05-04 00:00:04


Оригинальная статья вышла в журнале "mozillaZine"; ниже публикуется её перевод. Распространение статьи приветствуется.



## О положении союза SeaMonkey {#o-polozhenii-soyuza-seamonkey}



Приветствуем всех, кто пользуется набором программ SeaMonkey и поддерживает его.



Самое важное: проект SeaMonkey жив, и мы не планируем прекращать его развитие и поддержку. Но, если мы хотим и впредь выпускать лучший и единственный "комбайн" на платформе _Mozilla Gecko_, нам понадобится ваша помощь.

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/327886/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Twitter: перехват управления взглядами и мыслями
habra.16
habrabot(difrex,1) — All
2017-05-04 11:30:05


![image][1]

А что бы сделали вы, если бы могли публиковать записи в Twitter от имени
любого пользователя социально сети? Представили? Тогда прошу вас под кат за деталями.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/e65/47a/872/e6547a872b2e4ac8a792c49c2f6db77e.png
[2]: https://habrahabr.ru/post/327904/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Транслируем видеопоток с веб-страницы по WebRTC на Facebook и YouTube одновременно
habra.16
habrabot(difrex,1) — All
2017-05-04 12:30:05


Facebook и YouTube предоставляют сервисы трансляций, которые позволяют вещать Live-видеопотоки на широкую аудиторию зрителей. В этой статье мы расскажем, как захватить видеопоток с веб-страницы по технологии WebRTC и отправить этот видеопоток одновременно в Facebook и на YouTube для прямой трансляции — сразу в два сервиса. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/327986/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Нейрокурятник: часть 1. Установка Raspberry Pi и камеры в курятник и их настройка
habra.16
habrabot(difrex,1) — All
2017-05-04 12:30:05


![image][1]
_Большой брат следит за тобой, птица!_


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



Когда-то давно читали статью про японца, который [помог][2] отцу с сортировкой огурцов; решили, что анализировать, как несутся куры у наших родителей, присылая им отчеты в мессенджер — идея из веселых.


[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/f9c/daf/4cf/f9cdaf4cf7bc84804afed29e674deaf0.jpg
[2]: https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow
[3]: https://habrahabr.ru/post/327978/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Бесплатные плагины, инструменты и сервисы для разработки игры на юнити
habra.16
habrabot(difrex,1) — All
2017-05-04 14:00:05


Всем привет. В своей статье я хочу рассказать про бесплатные юнити плагины, которые использовал для создания своих игр. Есть плагины для разработки, монетизации, аналитики, соцсетям и т.д. Вот ссылка на список в [гитхабе][1].
![][2]
[Читать дальше →][3]

[1]: https://github.com/darkwind666/awesome-unity-plugins-assets-tools-services-games-projects-resources
[2]: https://habrastorage.org/files/796/178/209/7961782099e040bf8cb49d644c85bd83.jpg
[3]: https://habrahabr.ru/post/325960/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Свободен ото всех оков: Emercoin версии 6.2 стал полностью децентрализованным
habra.16
habrabot(difrex,1) — All
2017-05-04 14:30:05


В конце апреля мы обновили блокчейн [Emercoin][1] до версии 6.2, в которой избавились от последних артефактов централизации и добавили встроенный обменник криптовалют.

![][2]

Идеология открытости и децентрализации с самого начала лежала в основе нашего проекта. Тем не менее, разрабатывая «Эмеркоин» не с нуля, а на основе другой криптовалюты, [Peercoin][3], мы унаследовали также некоторые её свойства, такие как централизованные оповещения и обязательные динамические чек-пойнты, которые вступали в некоторое противоречие с принятой нами идеологией полной децентрализации.
[Читать дальше →][4]

[1]: https://emercoin.com/
[2]: https://habrastorage.org/files/97d/6dc/a16/97d6dca1698a4eeb912245bce03b19ed.png
[3]: http://ru.bitcoinwiki.org/Peercoin
[4]: https://habrahabr.ru/post/327988/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pentestit Security Conference 2017: доклады
habra.16
habrabot(difrex,1) — All
2017-05-04 15:00:04


![image][1]
 
Коллеги и друзья! 15 июля 2017 в Орле состоится Pentestit Security Conference — конференция, посвященная практической информационной безопасности: тестирование на проникновение современных сетей и систем, выявление уязвимостей телекоммуникационного оборудования, обход современных защитных средств, обнаружение и противодействие атакам, криминалистический анализ и расследование инцидентов.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/96f/e00/d7b/96fe00d7bd2f0488fd2f5004e968eec6.jpg
[2]: https://habrahabr.ru/post/327990/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Знакомство с СУБД CockroachDB и создание отказоустойчивого кластера с ней на Ubuntu 16.04
habra.16
habrabot(difrex,1) — All
2017-05-04 15:00:04


_Предисловие от переводчика: [CockroachDB][1] — достаточно молодая **реляционная СУБД** с открытым кодом (лицензия Apache 2.0), изначально созданная быть **распределённой** (с горизонтальным масштабированием «из коробки») и **отказоустойчивой**. Её авторы из компании Cockroach Labs, созданной в 2015 году, задаются целью «совместить богатство функциональности SQL с горизонтальной доступностью, привычной для NoSQL-решений». Данное руководство написано одним из сотрудников компании-разработчика и опубликовано на сайте облачного провайдера DigitalOcean с целью познакомить ИТ-специалистов с этой СУБД и продемонстрировать её использование._

![][2]

## Введение


CockroachDB — распределённая СУБД (SQL) с открытым кодом, обеспечивающая согласованность данных, масштабируемость и выживаемость.

Настройка CockroachDB проста: устанавливаете её на нескольких серверах (_узлах_) и объединяете их в единое целое для совместной работы (_кластер_). Все узлы кластера действуют «симметрично» и предлагают доступ к одинаковым данным. Если хранилище для данных необходимо увеличить, то при используемой архитектуре достаточно создать новые узлы и присоединить к кластеру. [Читать дальше →][3]

[1]: https://github.com/cockroachdb/cockroach/
[2]: https://habrastorage.org/files/f4a/743/913/f4a74391339145c5b06c3c7a2ac3b67c.png
[3]: https://habrahabr.ru/post/327640/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сегментация текстовых строк документов на символы с помощью сверточных и рекуррентных нейронных сетей
habra.16
habrabot(difrex,1) — All
2017-05-04 16:00:05


Сегментация строки на символы является одним из важнейших этапов в процессе оптического распознавания символов (OCR), в частности, при оптическом распознавании изображений документов. Сегментацией строки называется декомпозиция изображения, содержащего последовательность символов, на фрагменты, содержащие отдельные символы.

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

Поиск границ символов усложняется из-за артефактов печати и оцифровки (сканирования) документа, приводящим к “рассыпанию” и “склеиванию” символов. В случае использования стационарных или мобильных малоразмерных видеокамер спектр артефактов оцифровки существенно пополняется: возможны дефокусировка и смазывание, проективные искажения, деформирование и изгибы документа. При съемке камерой в естественных сценах на изображениях часто возникают паразитные перепады яркости (тени, отражения), а также цветовые искажения и цифровой шум в результате низкой освещенности. На рисунке ниже показаны примеры сложных случаев при сегментации полей паспорта РФ.





В этой статье мы расскажем о методе сегментации символов текстовых строк документов, разработанном нами в [Smart Engines][1], основанный на обучении сверточных и рекуррентных нейронных сетей. Основным рассматриваемым в работе документом является [паспорт РФ][2].
[Читать дальше →][3]

[1]: http://smartengines.ru/
[2]: https://habrahabr.ru/company/smartengines/blog/252703/
[3]: https://habrahabr.ru/post/328000/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Redux как сердце архитектуры фронтенда Единой фронтальной системы
habra.16
habrabot(difrex,1) — All
2017-05-04 17:30:04


В прошлой [статье][1] мы рассказали, как в целом устроен фронтенд программы, обсудили технологический стек. Данную статью посвятим обсуждению Redux  —  почему мы называем его сердцем архитектуры ЕФС.

[![][2]][3]
[Читать дальше →][4]

[1]: https://habrahabr.ru/company/efs/blog/325916/
[2]: https://habrastorage.org/getpro/habr/post_images/119/05b/58c/11905b58cbc22e4d37dd460ea8467f3d.png
[3]: https://habrahabr.ru/company/efs/blog/328012/
[4]: https://habrahabr.ru/post/328012/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Итоги третьего раунда Russian Code Cup 2017
habra.16
habrabot(difrex,1) — All
2017-05-04 18:30:04


![image][1]



29 апреля прошёл третий и заключительный квалификационный раунд [Russian Code Cup 2017][2]. По традиции чуть-чуть хвастаемся результатами и выкладываем разбор задач.



A. [Электронные таблицы][3]
B. [Смертный бой][4]
C. [Слегка палиндромные числа][5]
D. [Дерево и многочлены][6]
E. [Красивый отчёт][7]



В этот раз зарегистрировался 5681 человек (из них 473 новых участника) — снова бьём свои же рекорды. По результатам раунда мы взяли ещё 202 участника в отборочный раунд. Все пять задач успешно решили пять человек.

[Читать дальше →][8]

[1]: https://habrastorage.org/web/80d/12d/29e/80d12d29e8434b8c8cf7f0bd31f2d1ad.jpg
[2]: http://www.russiancodecup.ru/ru/
[3]: https://habrahabr.ru/company/mailru/blog/327592/#a-elektronnye-tablicy
[4]: https://habrahabr.ru/company/mailru/blog/327592/#b-smertnyy-boy
[5]: https://habrahabr.ru/company/mailru/blog/327592/#c-slegka-palindromnye-chisla
[6]: https://habrahabr.ru/company/mailru/blog/327592/#d-derevo-i-mnogochleny
[7]: https://habrahabr.ru/company/mailru/blog/327592/#e-krasivyy-otchyot
[8]: https://habrahabr.ru/post/327592/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Российские операционные системы: говорим сейчас, ждём на OS DAY
habra.16
habrabot(difrex,1) — All
2017-05-04 19:00:05


23-24 мая 2017 года в главном здании Академии наук в Москве пройдёт четвёртая конференция разработчиков российских операционных систем OS Day 2017. Мы встретились с участниками и спикерами и поговорили с ними о самой конференции, о российских OS, о кадровом голоде и перспективах отечественной разработки. Также нам удалось обсудить положение дел в нескольких российских компаниях, создающих свои операционные системы. Но обо всём по порядку. [Читать далее][1]

[1]: https://habrahabr.ru/post/327935/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как при помощи токена сделать Windows домен безопаснее? Часть 1
habra.16
habrabot(difrex,1) — All
2017-05-05 07:30:04


![][1]



Кто-то из вас наверняка слышал про [ инцидент ][2], который был обнародован совсем недавно. Американский производитель полупроводников Allegro MicroSystem LLC подал в суд на своего бывшего IT-специалиста за саботаж. Нимеш Пател, проработавший в компании 14 лет, уничтожил важные финансовые данные в первую неделю нового фискального года.

[Читать дальше →][3]

[1]: https://habrastorage.org/files/98a/a92/61f/98aa9261f6bf4602a630636c8ac18dc7.jpg
[2]: http://www.securitylab.ru/news/485878.php
[3]: https://habrahabr.ru/post/327232/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Системы инициализации Unix и Linux после SysV
habra.16
habrabot(difrex,1) — All
2017-05-05 07:30:04


До середины 2000-х никому в голову не приходило менять [sysvinit][1], почти никому. Gentoo с самого начала создавала и развивала [OpenRC][2]. Все изменилось с появлением [launchd][3] в Mac OS X. Разработчики Ubuntu бросились создавать [Upstart][4], в котором были позаимствованы некоторые идеи из `launchd`. Дело шло не шатко, не валко, но тут случился [systemd][5] и смешал все карты. Но кто же был истинным первопроходцем?


![][6]


Daniel J. Bernstein математик и специалист по криптографии, автор популярного MTA [qmail][7] и множества других менее известных программ, среди которых выделяется [daemontools][8]. Для множества современных систем инициализации _daemontools_ являлся примером и вдохновителем. Прошу внутрь для того, чтобы познакомиться с самой элегантной, простой и влиятельной системой управления службами в Unix / Linux.

[Читать дальше →][9]

[1]: https://wiki.archlinux.org/index.php/SysVinit
[2]: https://wiki.gentoo.org/wiki/OpenRC
[3]: http://web.archive.org/web/20070704235452/http://developer.apple.com/macosx/launchd.html
[4]: http://upstart.ubuntu.com/
[5]: https://www.freedesktop.org/wiki/Software/systemd/
[6]: https://habrastorage.org/files/a4a/af6/bd4/a4aaf6bd497e421dab1dfa2c28867623.png
[7]: http://cr.yp.to/qmail.html
[8]: http://cr.yp.to/daemontools.html
[9]: https://habrahabr.ru/post/327728/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Часть 3. Где хранить данные децентрализованным приложениям на блокчейне?
habra.16
habrabot(difrex,1) — All
2017-05-05 11:30:04


В [первой части статьи][1] мы обнаружили проблемы с хранением данных приложений в блокчейне. Во [второй части][2] мы описали требования к хранилищу данных и рассмотрели, насколько существующие реализации отвечают этим требованиям. Результаты были неутешительные — удовлетворительной реализации не нашлось. В данной части мы предложим концепцию децентрализованного хранилища данных, которое удовлетворяет поставленным требованиям. Разумеется, для более глубокого понимания сути происходящего рекомендуется просмотреть две [предыдущие][3] [части][4].
[Читать дальше →][5]

[1]: https://habrahabr.ru/post/327836/
[2]: https://habrahabr.ru/post/327947/
[3]: https://habrahabr.ru/post/327836/
[4]: https://habrahabr.ru/post/327947/
[5]: https://habrahabr.ru/post/328004/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] UAC Bypass или история о трех эскалациях
habra.16
habrabot(difrex,1) — All
2017-05-05 12:30:05


На работе я исследую безопасность ОС или программ. Ниже я расскажу об одном из таких исследований, результатом которого стал полнофункциональный эксплоит типа UAC bypass (да-да, с source-code и гифками).

![][1]

Ах, да, в Майкрософт сообщили, они сделали вид, что им не интересно.
Алярм! Под катом около 4 мегабайт трафика – картинок и гифок.
[Поднять права][2]

[1]: https://habrastorage.org/files/7e0/650/6cb/7e06506cb7c44f32a82a8841af23774c.png
[2]: https://habrahabr.ru/post/328008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Функциональное программирование: в Java и C# слишком много церемоний
habra.16
habrabot(difrex,1) — All
2017-05-05 13:30:04


Многие, наверняка, слышали о функциональном программировании, некоторые пробовали написать свой Hello World, а кто-то даже завел свой «функциональный» pet-проект. Но многие ли пользовались функциональными языками в продакшене? Какие у ФП преимущества и недостатки? Оправдывает ли парадигма функционального программирования ожидания разработчиков? На эти и многие другие вопросы нам смог ответить человек, открывший для себя преимущества функционального подхода после 20 лет ООП-разработки.

[![][1]][2]

[Читать дальше →][3]

[1]: https://habrastorage.org/web/ade/204/681/ade2046811be4b3db1af85e503cce647.jpg
[2]: https://habrahabr.ru/p/328042/
[3]: https://habrahabr.ru/post/328042/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Повесть о создании классической RTS в домашних условиях с нуля (часть 2: «Воскрешение»)
habra.16
habrabot(difrex,1) — All
2017-05-05 15:00:05


![][1]

Примерно год назад вышла моя статья, которую можно назвать "[первой частью][2]" данной статьи. В первой части я насколько смог подробно разобрал тернистый путь разработчика-энтузиаста, который мне удалось когда-то самостоятельно пройти от начала и до конца. Результатом этих усилий стала игра жанра **RTS** "_Земля онимодов_" созданная мною в домашних условиях без движков, конструкторов и прочих современных средств разработки. Для проекта использовались **C++** и **Ассемблер**, ну, и в качестве основного инструмента моя собственная голова.
В этой статье я постараюсь рассказать о том, как я решил взять на себя роль «реаниматора» и попытаться «воскресить» этот проект. Много внимания будет уделено написанию собственного игрового сервера.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/5c0/bb8/9d7/5c0bb89d72904e72aebc5e656c30839c.jpg
[2]: https://habrahabr.ru/post/280520/
[3]: https://habrahabr.ru/post/327596/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 18: Дыра во всех системах с Intel Core, Apple отобрала сертификат у троянца, рансомварь заполонила планету
habra.16
habrabot(difrex,1) — All
2017-05-05 21:30:04


То, о чем так долго говорили большевики безопасники, свершилось. Свершилось почти десять лет назад, а сейчас об этом стало широко известно: в микропрограмме Intel Management Engine [обнаружилась][1] уязвимость. В [оповещении][2] от Intel указаны версии от 6.0 до 11.6, а, это, на минуточку, все версии, начиная с 2008 года, с платформ для процессоров Intel Core первого поколения.

Тем, кто хорошо знает, что умеет ME, уже страшно. Оно может читать и писать в любую область оперативной памяти и накопителей, подсматривать за происходящем на экране, посылать и получать из сети всякое, игнорируя работающий в системе файрволл, и все это, не оставляя в логах никаких следов. По слухам, даже шифрование диска ME обходит без напряга. Нечеловечески полезная штука.

Ежу понятно, что встраивая в материнки легитимный аппаратный бэкдор, надо по-максимуму закрутить гайки в системе безопасности, что Intel и сделала. Код iME, например, зашифрован 2048-битным ключом. Но как обычно, что-то пошло не так, и теперь прогрессивная общественность доподлинно узнала о возможности удаленно захватывать доступ к функциям управления ME. Под угрозой машины, в которых реализованы технологии AMT, ISM и SBT. Ну то есть вообще все на интеловских чипсетах под Intel Core.

[Читать дальше →][3]

[1]: https://threatpost.com/intel-patches-nine-year-old-critical-cpu-vulnerability/125331/
[2]: https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00075&languageid=en-fr
[3]: https://habrahabr.ru/post/328100/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Повесть о создании классической RTS в домашних условиях с нуля (часть 2: «Воскрешение») Окончание статьи: Сеть
habra.16
habrabot(difrex,1) — All
2017-05-06 10:00:04


![][1]


Примерно год назад вышла моя статья, которую можно назвать "[первой частью][2]" данной статьи. В первой части я насколько смог подробно разобрал тернистый путь разработчика-энтузиаста, который мне удалось когда-то самостоятельно пройти от начала и до конца. Результатом этих усилий стала игра жанра **RTS** "_Земля онимодов_" созданная мною в домашних условиях без движков, конструкторов и прочих современных средств разработки. Для проекта использовались **C++** и **Ассемблер**, ну, и в качестве основного инструмента моя собственная голова.
В этой статье я постараюсь рассказать о том, как я решил взять на себя роль «реаниматора» и попытаться «воскресить» этот проект. Много внимания будет уделено написанию собственного игрового сервера.

Это окончание статьи, начало [тут][3].
[Читать дальше →][4]

[1]: https://habrastorage.org/files/5c0/bb8/9d7/5c0bb89d72904e72aebc5e656c30839c.jpg
[2]: https://habrahabr.ru/post/280520/
[3]: https://habrahabr.ru/post/327596/
[4]: https://habrahabr.ru/post/328118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Как я "<" моноидом делал
habra.16
habrabot(difrex,1) — All
2017-05-06 10:30:06


![image][1] Некоторое время назад в одном уютном камерном собрании я делал доклад о своей разработке — скриптовом лиспоподобном языке Liscript. Начал с азов — семантики вычисления списков, префиксной нотации… Дошел до произвольной арности стандартных операций:
+ 1 2 3
=> 6
— все интуитивно понятно, вопросов не возникает. Рассказываю про булевские значения, привожу пример
< 1 2
=> true
— тоже все понятно. И тут вопрос из зала: «а если 3 аргумента передать, как будет вычисляться?» Я решаю, что это хороший повод выпендриться умными терминами, и отвечаю: «точно так же — как свертка по моноиду» :) И тут же поправляясь — «хотя операция сравнения не является моноидом», пишу пример
< 1 2 3
=> true
< 1 2 3 4 1 2
=> false
Все так же интуитивно понятно, вопросов не возникает и продолжаем дальше (благоразумно оставляя без рассмотрения вычисления примитивных операций на одном аргументе и вообще при отсутствии оных, а также вычитание/деление и прочие немоноидальные операции :)). Успешно миновав в докладе подобных камней, через некоторое время я подумал — а можно ли как-то изловчиться, и все-таки сделать операцию сравнения моноидом (в каком-либо смысле)? И мне кажется, мне это удалось. Заинтересовавшихся темой прошу под кат.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/fdb/16f/80f/fdb16f80fe46487e9001ad785e9e04ab.jpg
[2]: https://habrahabr.ru/post/328110/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Повесть о создании классической RTS в домашних условиях с нуля (часть 2: «Воскрешение») Продолжение статьи: GUI
habra.16
habrabot(difrex,1) — All
2017-05-06 11:30:04


![][1]


Примерно год назад вышла моя статья, которую можно назвать "[первой частью][2]" данной статьи. В первой части я насколько смог подробно разобрал тернистый путь разработчика-энтузиаста, который мне удалось когда-то самостоятельно пройти от начала и до конца. Результатом этих усилий стала игра жанра **RTS** "_Земля онимодов_" созданная мною в домашних условиях без движков, конструкторов и прочих современных средств разработки. Для проекта использовались **C++** и **Ассемблер**, ну, и в качестве основного инструмента моя собственная голова.
В этой статье я постараюсь рассказать о том, как я решил взять на себя роль «реаниматора» и попытаться «воскресить» этот проект. Много внимания будет уделено написанию собственного игрового сервера.

Это продолжение статьи, а начало [тут][3].
[Читать дальше →][4]

[1]: https://habrastorage.org/files/5c0/bb8/9d7/5c0bb89d72904e72aebc5e656c30839c.jpg
[2]: https://habrahabr.ru/post/280520/
[3]: https://habrahabr.ru/post/327596/
[4]: https://habrahabr.ru/post/328116/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Функциональная безопасность, часть 7 из 7. Методы обеспечения информационной и функциональной безопасности
habra.16
habrabot(difrex,1) — All
2017-05-06 13:00:05


![][1]

[источник][2]

В завершение [серии публикаций по функциональной безопасности][3], в сегодняшней статье мы рассмотрим, какие организационные и технические методы применяются для обеспечения функциональной безопасности.

Большинство методов может применяться, в том числе, и для обеспечения информационной безопасности в рамках концепции интегральной безопасности (safety &amp; security) современных систем управления.

Набор анализируемых методов базируется на требованиях [МЭК 61508 «Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью»][4] (IEC 61508 Functional safety of electrical/electronic/programmable electronic safety-related systems). В части специфики обеспечения информационной безопасности АСУ ТП за основу взят [NIST SP 800-82 «Guide to Industrial Control Systems (ICS) Security»][5], рассмотренный в одной из [предыдущих статей][6].
[Читать дальше →][7]

[1]: https://habrastorage.org/files/93d/013/04f/93d01304f7614685a595dc31ebccae38.jpg
[2]: http://www.knowledge.matrixplus.ru/
[3]: https://habrahabr.ru/post/308634/
[4]: http://standartgost.ru/g/%D0%93%D0%9E%D0%A1%D0%A2_%D0%A0_%D0%9C%D0%AD%D0%9A_61508-1-2012
[5]: http://dx.doi.org/10.6028/NIST.SP.800-82r2
[6]: https://habrahabr.ru/post/316184/
[7]: https://habrahabr.ru/post/327910/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как работать с событиями в Flussonic
habra.16
habrabot(difrex,1) — All
2017-05-06 14:00:04


## Работа с событиями в Flussonic для мониторинга



Ползователи часто обращаются с вопросом: как сделать так, что бы Flussonic прислал письмо при падении потока.

Включив зануду можно пробубнить о том, что непонятно что такое падение и и т.п.  Вопросов масса,
потому что битрейт потока ненулевой, кадры идут, а там будет белый шум или черный экран. Поток вроде как работает, а по сути нет.
Но рассмотрим решение оригинальной задачи с помощью новой системы событий.

Самый простой вариант будет наивным, но рабочим. В конфиг стримера добавляем:

`notify no_video {
  sink /etc/flussonic/no_video.lua;
}`

в файле `/etc/flussonic/no_video.lua` пишем:

`for k,event in pairs(events) do -- события приходят в обработчик пачками, обработаем целиком группу
   if event.event == "source_lost" or event.event == "stream_stopped" then -- отфильтруем только те события, которые нужны
     mail.send({from = "flussonic@streamer1.mycdn", to = "marketing@team.mycdn", subject = "Source lost", body = "source lost on "..event.media}) -- и пошлем письмо на каждое событие
   end
end
`

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/328108/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] All-In-One: Proxmox + OpenMediaVault или ещё одна идея для домашнего NAS
habra.16
habrabot(difrex,1) — All
2017-05-06 19:30:03


![][1]



Астрологи объявили месяц статей о домашних NAS на хабре, так что поделюсь и своей историей успеха...



Не так давно я попробовал новый FreeNAS Coral. Понравилось мне в нем если не все, то очень многое: это и новый гипервизор bhyve, и повсеместное использование 9P для проброса файловой системы на гостя, а так же идея с docker и многое другое.
Кроме того я ещё больше влюбился в ZFS со всеми её плюшками, такими как дедупликация и сжатие на лету.



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



В статье так же будет немного рассказано про Docker и автоматический прокси с автоматическим получением сертификатов Letsencrypt.

[Читать дальше →][2]

[1]: https://habrastorage.org/web/f0a/592/3de/f0a5923dec20422e952394a6d0473355.png
[2]: https://habrahabr.ru/post/328048/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Восстановление данных из поврежденного массива RAID 5 в NAS под управлением Linux
habra.16
habrabot(difrex,1) — All
2017-05-06 20:00:05


Обычный будний день в одной организации перестал быть обычным после того, как несколько десятков человек не смогли продолжать свою деятельность, так как замерли все привычные процессы. Прекратила свою работу CRM, перестала откликаться база менеджеров, аналогичная картина была с бухгалтерскими базами. На системного администратора обрушился шквал звонков пользователей с сообщениями о проблемах и требованиями срочного вмешательства. Системный администратор, который сравнительно недавно начал карьеру в этой компании, попытался подключиться к NAS и обнаружил, что устройство не откликается. После отключения питания и повторного включения NAS вернулся к жизни, но запуска виртуальных машин не произошло. Для пользователей оказалось доступным только общее хранилище файлов. Анализ проблем системным администратором показал, что один из двух RAID массивов не содержит томов и является чистым неразмеченным пространством. Какими были дальнейшие действия системного администратора, история умалчивает, но достаточно быстро он осознал, что у него нет четкого плана действий по восстановлению данных и рабочей среды компании. На данном этапе шесть накопителей на жестких магнитных дисках (2 HDD – 3 TB HDS5C3030ALA630, 4 HDD – 4 TB WD4000FYYZ-01UL1B1) из этого NAS поступают в наше распоряжение. В техническом задании нам предлагается «восстановить таблицу разделов».

![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/web/8b9/3af/4a6/8b93af4a660c48ff87dc19ecebb340f5.png
[2]: https://habrahabr.ru/post/328134/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Простая модель адаптивного фильтра Калмана средствами Python
habra.16
habrabot(difrex,1) — All
2017-05-06 21:30:03


### Проблема


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

Статистические методы повышения точности разнообразны и многочисленны, но и они делятся на пассивные для статических измерений и активные для динамических измерений, когда измеримая величина изменяется во времени. При этом сама измеряемая величина так же, как и помеха являются случайными величинами с изменяющимися дисперсиями.

Адаптивность методов повышения точности динамических измерений следует понимать, как использование прогнозирования значений дисперсий и погрешности для следующего цикла измерений.Такое прогнозирование осуществляется в каждом цикле измерений. Для этой цели применяются фильтры Винера, работающие в частотной области. В отличии от фильтра Винера, фильтр Калмана работает во временной, а не в частотной области. Фильтр Калмана был разработан для многомерных задач, формулировка которых осуществляется в матричной форме. Матричная форма достаточно подробно описана для реализации на Python в статье [1], [2]. Описание работы фильтра Калмана, приведенная в указанных статьях, рассчитана на специалистов в области цифровой фильтрации. Поэтому возникла необходимость рассмотреть работу фильтра Калмана в более простой скалярной форме.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/328146/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Изменение восприятия сложности
habra.16
habrabot(difrex,1) — All
2017-05-07 15:30:04


![][1]
Хочу поделиться очень субъективными мыслями об изменении отношения к сложности за последние лет 50. Возможно, мои наблюдения касаются всей инженерии, но я поостерегусь и буду писать только про разработку ПО.

В последние годы мне стало казаться, что я упускаю что-то в методах разработки ПО. Весь мир радостно и с песней ускоряется, создаёт софт всё быстрее и быстрее, а я торможу. Чтобы не отставать, приходится преодолевать внутренний барьер неясной природы, действовать за границей которого выгодно но неприятно (мне). Не понятно почему выгодно. И не понятно почему неприятно.

Сегодня понял. **В былые времена со сложностью боролись, теперь её игнорируют принимают.** Переход между этими воззрениями был долгим и плавным, но уже можно видеть разительные отличия.

Я же учился в основном по материалам, созданным в прошлом веке, «древним манускриптам», да ещё и научную фантастику читал классическую, поэтому невольно стал приверженцем «старой школы». В чем же разница?
[Читать дальше →][2]

[1]: https://habrastorage.org/web/44a/e83/220/44ae832205334cc3806fe85fcffee826.jpg
[2]: https://habrahabr.ru/post/328160/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы делали краткосрочный прогноз осадков. Лекция в Яндексе
habra.16
habrabot(difrex,1) — All
2017-05-07 16:30:05


В начале зимы Яндекс.Погода [научилась показывать][1], будут ли осадки в ближайшие два часа. Спустя пару месяцев тема метеопрогнозирования стала центральной на одном из мероприятий Data &amp; Science. Среди докладчиков в тот день был Алексей Преображенский — разработчик из команды Яндекс.Погоды. Алексей рассказал о нашем алгоритме наукастинга и сверточной нейросети, лежащей в основе этого алгоритма.


Под катом — расшифровка лекции и слайды.

[Читать дальше →][2]

[1]: https://habrahabr.ru/company/yandex/blog/317626/
[2]: https://habrahabr.ru/post/328158/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Считаем до трёх: три
habra.16
habrabot(difrex,1) — All
2017-05-07 18:00:04


# Троичный счётчик



Итак, продолжаем разговор. В этой статье я расскажу, как можно сделать троичный счётчик. Напоминаю, что я хочу сделать простейшую, но программируему железку, работающую на троичной логике. Ответ на вопрос «зачем?» смотреть [тут][1].

Это уже третья статья, по мере готовности будет продолжение. Оглавление:

* [Считаем до трёх: раз (троичный мультиплексор и сумматоры)][2]
* [Считаем до трёх: два (память)][3]
* **Считаем до трёх: три (счётчики)**
* Считаем до трёх: четыре (stay tuned)

Как обычно, в моих статьях картинок больше, нежели текста. Вот так выглядит основная железка, о которой сегодня будет идти речь:
![][4]

[Читать дальше →][5]

[1]: https://habrahabr.ru/post/324062/#comment_10120828
[2]: https://habrahabr.ru/post/324062/
[3]: https://habrahabr.ru/post/324650/
[4]: https://habrastorage.org/getpro/habr/post_images/d43/bd5/1de/d43bd51de67b865cfe93870e72fe5b23.jpg
[5]: https://habrahabr.ru/post/328162/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как изучение Smalltalk может улучшить ваши навыки программиста
habra.16
habrabot(difrex,1) — All
2017-05-08 03:00:05


![][1]

Smalltalk обычно воспринимается как старый, умирающий язык – антиквариат из ушедшей эпохи. Нет ничего более далёкого от правды.

Smalltalk по-прежнему очень актуален. Это отличный язык для обучения программированию людей, не имеющих технического образования. Это превосходный язык прототипирования для стартапов. Это мощный промышленный язык, [используемый как крупными, так и малыми компаниями по всему миру][2]. Есть веские причины рассмотреть использование современного Smalltalk сегодня, поскольку многое было сделано за последнее время, чтобы улучшить его возможности.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/5bd/2dc/197/5bd2dc197856437d82c99af14f84cadd.jpeg
[2]: https://medium.com/smalltalk-talk/who-uses-smalltalk-c6fdaa6319a
[3]: https://habrahabr.ru/post/328156/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pygest #8. Релизы, статьи, интересные проекты из мира Python [11 апреля 2017 — 7 мая 2017]
habra.16
habrabot(difrex,1) — All
2017-05-08 12:30:04


![image][1] Всем привет! Это уже восьмой выпуск дайджеста на Хабрахабр о новостях из мира Python. В сегодняшнем выпуске вы найдёте интересные материалы, касающиеся качества кода, тестирования, внутренного устройства Python и многого другого. Присылайте свои актуальные материалы, а также любые замечания и предложения, которые будут добавлены в ближайший дайджест.

А теперь к делу!
[Перейти к дайджесту][2]

[1]: https://habrastorage.org/files/aa2/815/f22/aa2815f2207940fab9ac72e85219fe3c.png
[2]: https://habrahabr.ru/post/328130/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Нейрокурятник ч.0. Или нейро- без курятника
habra.16
habrabot(difrex,1) — All
2017-05-08 15:00:03


## **Нейрокурятник часть ноль. Или нейро- без курятника. Или как правильно закоптиться в нейросети**.


![image][1]
_Курочка снесла яичко. Сам процесс выглядит ужасно. Результат — съедобно. Массовый геноцид кур._
**В этой статье будет описано:**
1. Где, как и почему можно получить небольшое качественное самообразование в сфере работы с нейросетями БЕСПЛАТНО, СЕЙЧАС и СОВСЕМ НЕ БЫСТРО;
2. Будет описана логика рекурсии и будут порекомендованы книги по теме;
3. Будет описан список основных терминов, которые нужно разобрать на 2-3 уровня абстракции вниз;
4. Будет приведен ipynb-notebook, который содержит необходимые ссылки и базовые подходы;
5. Будет немного своеобразного саркастичного юмора;
6. Будут описаны некоторые простые закономерности, с которыми вы столкнетесь при работе с нейросетями;

**Статьи про нейрокурятник**
**Заголовок спойлера**
1. **[Вступление ][2]про обучение себя нейросетям**
2. **[Железо, софт и конфиг][3] для наблюдения за курами**
3. Разметка датасетов
4. Параллельное участие в соревнованиях, визуализации внутренностей нейросетей, развитие архитектур моделей
5. Работающая модель для распознавания кур в курятнике
6. Бот, который постит события из жизни кур



[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/094/465/a05/094465a0553b8ee70153ac1aa3e5fb49.jpg
[2]: https://habrahabr.ru/post/328138/
[3]: https://habrahabr.ru/post/327978/
[4]: https://habrahabr.ru/post/328138/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Профилирование и оптимизация символьных вычислений для будущего сервера
habra.16
habrabot(difrex,1) — All
2017-05-08 16:00:05


Привет, Хабр! Сегодня хочу поделиться своим небольшим опытом выбора инструментов для организации расчетов на будущем сервере. Отмечу сразу, что в этой публикации речь пойдет не о самом сервере, а скорее об оптимизации символьных вычислений на нем.


### Задача


Есть некий функционал, который позволяет пользователям формировать нередко громоздкие формулы следующего общего вида, по которым в дальнейшем необходимо рассчитывать запросы других пользователей.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/328170/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] CVE-2017-5689 — уязвимость Intel AMT в подробностях
habra.16
habrabot(difrex,1) — All
2017-05-09 14:30:04


В начале 2017-го года Максим Малютин (Maksim Malyutin) из компании Embedi обнаружил уязвимость в Intel AMT, которая была официально оглашена Intel первого мая и получила номер CVE-2017-5689 (INTEL-SA-00075 в кодификации Intel). Уязвимости был присвоен тип «повышение прав» (Elevation of Privilege) и критический уровень опасности. Многие СМИ в ответ разразились заголовками что-то типа «серверные чипсеты Intel 9 лет имели уязвимость», видимо отталкиваясь от фразы «This vulnerability does not exist on Intel-based consumer PCs» в описании. Однако это не совсем так с переходом в совсем не так. Потому далее подробное техническое описание уязвимости, её реализация и, главное, способы защиты для систем, не имеющих обновления прошивки. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/328232/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Магические константы в алгоритмах
habra.16
habrabot(difrex,1) — All
2017-05-09 17:00:05


## Введение


В настоящее время широко [известны][1] такие принципы написания программного кода (coding standards), которые позволяют облегчить его поддержку и развитие. Эти принципы используются многими софтверными компаниями, а средства разработки и [статического анализа кода][2] предлагают для этого разнообразную автоматизацию. В то же время инженерные задачи в программировании явно требуют расширения понятия «хороший код». Мы попробуем выйти на обсуждение «хорошего» инженерного кода через, казалось бы, весьма частный пример — через практику использования в алгоритмах константных параметров.
[Читать дальше →][3]

[1]: https://google.github.io/styleguide/cppguide.html
[2]: https://ru.atlassian.com/software/fisheye
[3]: https://habrahabr.ru/post/328244/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я свой Redux писал
habra.16
habrabot(difrex,1) — All
2017-05-09 20:00:04


![image][1]

Или **Охота на Кракена**. В предыдущих заметках ([тут][2] и [тут][3]) я делился своим Braindump на тему различных архитектурных стилей, в частности **Model-View-Controller **и **Flux**.

Я отметил, что не увидел в лице Flux какой-то революции, этот шаблон не что-то новое. Я увидел в нем схожесть с **Reenskaug-MVC** 1979 года. Также, я упомянул, что решил убрать из своего кода Redux (одна из реализаций Flux). Мне кажется, эти моменты необходимо пояснить более развернуто. Моей целью не было убедить читателя в том, что Flux надо называть MVC, так же я не хотел сказать, что redux-модуль плох и от него нужно полностью отказаться.


### Так как же относится тогда к Flux?


Для начала надо определится что же такое Flux. Во-первых это определенно архитектурный стиль, при чем на на данный момент, уже не только для клиентских web-приложений. Во-вторых это набор четко определенных компонентов и терминов.
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/6a3/586/17a/6a358617a45a359a89b194fbefbfbaf8.jpg
[2]: https://habrahabr.ru/post/326046/
[3]: https://medium.com/@arturbasak/%D0%B7%D0%B0%D0%B3%D0%B0%D0%B4%D0%BA%D0%B0-%D0%BA%D1%80%D0%B0%D0%BA%D0%B5%D0%BD%D0%B0-1b46f310dd4b
[4]: https://habrahabr.ru/post/328152/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Docker контейнер с данными на Postgres для интеграционного тестирования и лёгким расширением
habra.16
habrabot(difrex,1) — All
2017-05-09 21:00:04


Про использование `Docker` и `Docker-compose` последнее время написано очень много, например рекомендую [недавнюю статью на Хабре][1], если вы до сих пор не прониклись. Это действительно очень удобно, а [в связке в ansible][2] особенно. И я его использую везде. От разработки, до автоматического интеграционного тестирования на `CI`. [Про использование в тестировании, тоже писали][3]. Это здорово и удобно. **Однако, для локальной разработки, для траблешутинга данных "как в продакшене" или тестирование производительности, на "объёмах близких в продакшену", хочется иметь под рукой образ, содержащий базу, "как в продакшене"!**



Соответственно, хочется, чтобы каждый разработчик, приступая к работе над проектом, мог запустить его одной командой, например:


./gradlew dockerRun

и приложение поднялось бы сразу со всеми необходимыми связанными контейнерами? А главное чтобы в нём уже были бы данные для большинства кейсов разработки и багфиксинга, стандартные пользователи и большинство работающих сервисов, над которыми сразу можно было бы приступить работать, не тратя времени на экспорт-импорт каких-то там образов или демоданных!



**_Как приятный бонус, ну разве не здорово иметь базу данных в несколько гигабайт и возможность откатиться к её исходному (или любому другому коммиту) состоянию в течении пары секунд?_**



Разумеется мы поговорим о написании `Dockerfile` для такого образа с данными, и некоторых подводных камнях этого процесса.

[Читать дальше →][4]

[1]: https://habrahabr.ru/post/322440/
[2]: https://habrahabr.ru/post/217689/
[3]: https://habrahabr.ru/post/275513/
[4]: https://habrahabr.ru/post/328226/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Пишем скрипт для синхронизации папок с Google Drive, плюс учимся использовать Google Drive API
habra.16
habrabot(difrex,1) — All
2017-05-09 21:00:04




В этой статье мы рассмотрим основные инструменты работы с Google Drive REST API, осуществим "прямую" и "обратную" синхронизацию папки на компьютере с папкой в облаке Гугл Диска, а заодно выясним какие сложности могут возникнуть при работе с Google Docs через API Диска и как правильно их импортировать и экспортировать чтобы (почти) никто не пострадал.

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/328248/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Корректирующие коды «на пальцах»
habra.16
habrabot(difrex,1) — All
2017-05-10 03:00:03


![][1]Корректирующие коды — это коды, которые могут обнаружить и (если повезёт) исправить ошибки, возникшие при передаче данных. Даже если вы ничего не слышали о них, то наверняка встречали аббревиатуру CRC в списке файлов в ZIP-архиве или даже надпись ECC на планке памяти. А кто-то, может быть, задумывался, как так получается, что если поцарапать DVD-диск, то данные всё равно считываются без ошибок (конечно, если царапина не в сантиметр толщиной и не разрезала диск пополам).



Как нетрудно догадаться, ко всему этому причастны корректирующие коды. Собственно, ECC так и расшифровывается — «error-correcting code», то есть «код, исправляющий ошибки». А CRC — это один из алгоритмов, обнаруживающих ошибки в данных. Исправить он их не может, но часто это и не требуется.



Давайте же разберёмся, что это такое.



_Для понимания статьи не нужны никакие специальные знания. Достаточно лишь понимать, что такое вектор и матрица, как они перемножаются и как с их помощью записать систему линейных уравнений._



_Внимание! Много текста и мало картинок. Я постарался всё объяснить, но без карандаша и бумаги текст может показаться немного запутанным._

[Читать дальше →][2]

[1]: https://habrastorage.org/web/3bd/daa/3d6/3bddaa3d671b4a4c97ca9f731febd6a5.jpg
[2]: https://habrahabr.ru/post/328202/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] О возникновении спиралей в циклическом клеточном автомате
habra.16
habrabot(difrex,1) — All
2017-05-10 15:00:04


О циклических клеточных автоматах было написано в [этой статье][1]. Целью данной статьи является рассмотрение условий возникновения спиралей, также известных как _демоны_. Средством достижения цели является изменение начальных условий и слежение за развитием клеточного автомата. В результате будут сделаны обобщающие выводы об условиях образования спиралей.

**Кратко опишем циклический клеточной автомат.**
Решетка представляет собой замкнутую двумерную ортогональную сетку квадратных клеток, каждая из которых находится в одном из 15 возможных состояний, в пределах от 0 до 14.

![][2]

Каждая ячейка взаимодействует со своими четырьмя соседями — окрестностью фон Неймана. Окрестность фон Неймана — это ячейки, которые расположены горизонтально и вертикально. Ниже приведен набор правил циклического клеточного автомата.

![][3]

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


![][4]
Как видно из рисунка выше, клеточный автомат проходит три этапа:

1. Случайное поле.
2. Цветные области.
3. Спирали, также известные как _демоны_.

Добавим еще одно измерение к решетке. В этом измерении мы отобразим состояние ячейки. Ячейка будет подниматься до тех пор, пока она не достигнет вершины кубоида, а затем она упадет вниз. Такая модель является хорошим представлением об изменении состояния клеточного автомата.

![][5]
Выберем несколько (например 12) случайных ячеек и рассмотрим изменение их состояний во времени. [Читать дальше →][6]

[1]: https://habrahabr.ru/post/168291/
[2]: https://habrastorage.org/web/19c/763/b63/19c763b63ae04c2fbf9e7ab7665f0055.png
[3]: https://habrastorage.org/web/142/4f8/8f9/1424f88f95ab4da2b28a80319599cefa.png
[4]: https://habrastorage.org/web/675/dd7/ffe/675dd7ffe969477da9b832efcf66637d.png
[5]: https://habrastorage.org/web/0fb/861/a05/0fb861a05c334781a07206784eeb1dbb.png
[6]: https://habrahabr.ru/post/328314/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как получить оффер в день собеседования и не ждать сто лет
habra.16
habrabot(difrex,1) — All
2017-05-10 15:30:04


![enter image description here][1]



Привет, Хабр! Я Богдан, разработчик в iOS-команде Badoo в Лондоне. Прочитав заголовок, вы можете подумать, что в Badoo совсем с ума сошли публиковать посты на такие темы. Но пост вполне для Хабра. Мы сейчас очень активно расширяем iOS- и Android-команды и ищем разработчиков по всему миру. Естественно, Москву обойти стороной просто не можем (наш второй офис здесь). Мы хотим провести достаточно необычное мероприятие, чтобы после него обзавестись новыми коллегами.



Мы (мобильные команды Badoo) решили приехать на несколько дней в Москву и провести небольшую встречу, после которой несколько разработчиков (iOS и Android) получат предложения о работе у нас (в Лондоне). Чтобы не затягивать эту самую встречу, мы сделали онлайн-тест (он не суперсложный, а скорее чтобы понять ваш уровень и упростить и ускорить личные встречи).

[Читать дальше →][2]

[1]: https://habrastorage.org/web/1a9/cee/fab/1a9ceefabcad45748e40d62a1409899d.jpeg
[2]: https://habrahabr.ru/post/328322/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Что там с JEP-303 или изобретаем invokedynamic
habra.16
habrabot(difrex,1) — All
2017-05-10 16:00:04


Блогеры и авторы, пытающиеся быть на передовой, уже [немало][1] [писали][2] про проект Amber в Java 10. В этих статьях обязательно упоминается [вывод типов локальных переменных][3], улучшения [enum][4] и [лямбд][5], иногда пишут про pattern matching и data-классы. Но при этом незаслуженно обходится стороной [JEP 303][6]: Intrinsics for the LDC and INVOKEDYNAMIC Instructions. Возможно, потому что мало кто понимает, к чему это вообще. Хотя любопытно, что именно об этой фиче ребята из [NIX\_Solutions][7] фантазировали [на Хабре][8] год назад.



Широко известно, что в виртуальной машине Java, начиная с версии 7, есть интересная инструкция invokedynamic (она же indy). Про неё многие слышали, однако мало кто знает, что она делает на самом деле. Кто-то знает, что она используется при компиляции лямбда-выражений и ссылок на методы в Java 8. Некоторые слышали, что через неё реализована конкатенация строк в Java 9. Но хотя это полезные применения indy, изначальная цель всё же немного другая: делать динамический вызов, при котором вы можете вызывать разный код в одном и том же месте. Эта возможность не используется ни в лямбдах, ни в конкатенации строк: там поведение всегда генерируется при первом вызове и остаётся постоянным до конца работы программы (всегда используется [ConstantCallSite][9]). Давайте посмотрим, что можно сделать ещё.

[Читать дальше →][10]

[1]: https://www.javacodegeeks.com/2017/05/project-amber-future-java-exposed.html
[2]: https://www.sitepoint.com/project-amber-will-revolutionize-java/
[3]: http://openjdk.java.net/jeps/286
[4]: http://openjdk.java.net/jeps/301
[5]: http://openjdk.java.net/jeps/302
[6]: http://openjdk.java.net/jeps/303
[7]: https://habrahabr.ru/users/nix_solutions/
[8]: https://habrahabr.ru/company/nixsolutions/blog/281513/
[9]: https://docs.oracle.com/javase/8/docs/api/java/lang/invoke/ConstantCallSite.html
[10]: https://habrahabr.ru/post/328240/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Лекции Техносферы: Программирование на Go
habra.16
habrabot(difrex,1) — All
2017-05-10 17:00:04


![image][1]



Продолжаем публикацию наших образовательных материалов. Этот курс посвящен изучению основ языка Go. На примере простой текстовой игры будут рассмотрены все основные задачи, с которыми сталкивается разработчик современных веб-приложений в крупных проектах, с реализацией их на Go. Курс не ставит задачи научить программированию с нуля, для обучения будут необходимы базовые навыки программирования.



Список лекций:


* [Лекция 1. Введение][2]
* [Лекция 2. Функции, структуры, интерфейсы. Объектная модель][3]
* [Лекция 3. Асинхронная модель][4]
* [Лекция 4. Web. Работа с сетью][5]
* [Лекция 5. Работа с СУБД][6]
* [Лекция 6. Система тестирования][7]
* [Лекция 7. Reflect or generate?][8]
* [Лекция 8. Производительность][9]
* [Лекция 9. Context, unsafe, cgo][10][Читать дальше →][11]

[1]: https://habrastorage.org/web/19a/e7f/be8/19ae7fbe8ca14aa8b4a2ccd9a9e12563.jpg
[2]: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-1-vvedenie
[3]: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-2-funkcii-struktury-interfeysy-obektnaya-model
[4]: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-3-asinhronnaya-model
[5]: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-4-web-rabota-s-setyu
[6]: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-5-rabota-s-subd
[7]: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-6-sistema-testirovaniya
[8]: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-7-reflect-or-generate
[9]: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-8-proizvoditelnost
[10]: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-9-context-unsafe-cgo
[11]: https://habrahabr.ru/post/327966/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выход Java 9 снова отложен
habra.16
habrabot(difrex,1) — All
2017-05-10 18:00:04


Выход Java 9 — новой версии платформы — был [отложен][1]. Все это связано с недавними возражениями Red Hat и IBM касательно работы над системой модулей.

[![][2]][3] [Читать дальше →][4]

[1]: http://www.infoworld.com/article/3193785/java/red-hat-and-ibm-raise-objections-to-java-9-modularization.html
[2]: https://habrastorage.org/web/8b1/230/cbf/8b1230cbfc644c0bbb9d2df27210d90c.jpg
[3]: https://habrahabr.ru/company/it-grad/blog/328320/
[4]: https://habrahabr.ru/post/328320/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как я писал свой логгер. Разбор ошибок
habra.16
habrabot(difrex,1) — All
2017-05-10 19:00:03


Относительно недавно я начал изучать Python. На чём бить шишки было непонятно, а делать упражнения ради упражнений наскучило достаточно быстро. Мне хотелось сделать что-то полезное и сделать это с энтузиазмом. Так родилась идея сделать логгер с цветным аутпутом. Проект был назван «SCLogger», начало было положено. Что получилось в итоге и какие ошибки при проектировании были допущены далее под катом. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/328266/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Bash-скрипты, часть 10: практические примеры
habra.16
habrabot(difrex,1) — All
2017-05-10 19:00:03


> [Bash-скрипты: начало][1]
> [Bash-скрипты, часть 2: циклы][2]
> [Bash-скрипты, часть 3: параметры и ключи командной строки][3]
> [Bash-скрипты, часть 4: ввод и вывод][4]
> [Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями][5]
> [Bash-скрипты, часть 6: функции и разработка библиотек][6]
> [Bash-скрипты, часть 7: sed и обработка текстов][7]
> [Bash-скрипты, часть 8: язык обработки данных awk][8]
> [Bash-скрипты, часть 9: регулярные выражения][9]
> [Bash-скрипты, часть 10: практические примеры][10]


В предыдущих материалах мы обсуждали различные аспекты разработки bash-скриптов, говорили о полезных инструментах, но до сих пор рассматривали лишь небольшие фрагменты кода. Пришло время более масштабных проектов. А именно, здесь вы найдёте два примера. Первый — скрипт для отправки сообщений, второй пример — скрипт, выводящий сведения об использовании дискового пространства.

[![][11]][12]

Главная ценность этих примеров для тех, кто изучает bash, заключается в методике разработки. Когда перед программистом встаёт задача по автоматизации чего бы то ни было, его путь редко бывает прямым и быстрым. Задачу надо разбить на части, найти средства решения каждой из подзадач, а потом собрать из частей готовое решение.
[Читать дальше →][13]

[1]: https://habrahabr.ru/company/ruvds/blog/325522/
[2]: https://habrahabr.ru/company/ruvds/blog/325928/
[3]: https://habrahabr.ru/company/ruvds/blog/326328/
[4]: https://habrahabr.ru/company/ruvds/blog/326594/
[5]: https://habrahabr.ru/company/ruvds/blog/326826/
[6]: https://habrahabr.ru/company/ruvds/blog/327248/
[7]: https://habrahabr.ru/company/ruvds/blog/327530/
[8]: https://habrahabr.ru/company/ruvds/blog/327754/
[9]: https://habrahabr.ru/company/ruvds/blog/327896/
[10]: https://habrahabr.ru/company/ruvds/blog/328346/
[11]: https://habrastorage.org/files/803/892/bfe/803892bfe548499aa763df324d40fd01.png
[12]: https://habrahabr.ru/company/ruvds/blog/328346/
[13]: https://habrahabr.ru/post/328346/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В Германии хакеры похитили деньги с банковских счетов пользователей с помощью уязвимости SS7
habra.16
habrabot(difrex,1) — All
2017-05-10 20:00:05


[![][1]][2]

_Изображение: [Michael Coghlan][3], [CC][4]_

Как [сообщает][5] издание Süddeutsche Zeitung, злоумышленники организовали атаку на абонентов немецкого сотового оператора O2-Telefonica, в результате которого с банковским счетов ряда пользователей были похищены деньги. В ходе атаки хакерам удалось перехватывать коды для двухфакторной аутентификации с помощью уязвимости сигнального протокола SS7.

Ранее эксперты Positive Technologies [сообщали][6] о серьезных проблемах безопасности в сотовых сетях SS7 и [демонстрировали][7] перехват SMS с помощью содержащихся в них уязвимостей. [Читать дальше →][8]

[1]: https://habrastorage.org/web/1cf/91f/ac6/1cf91fac6f1b49c0950190ab896cc8d3.jpg
[2]: https://habrahabr.ru/company/pt/blog/328328/
[3]: https://www.flickr.com/photos/mikecogh/5047039173/sizes/o/in/photostream/
[4]: http://creativecommons.org/licenses/by-sa/2.0/
[5]: http://www.sueddeutsche.de/digital/it-sicherheit-schwachstelle-im-mobilfunknetz-kriminelle-hacker-raeumen-konten-leer-1.3486504
[6]: https://habrahabr.ru/company/pt/blog/305472/
[7]: https://habrahabr.ru/company/pt/blog/305472/
[8]: https://habrahabr.ru/post/328328/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Задержка в онлайн-трансляциях с веб-камеры, бессердечная ты стерва
habra.16
habrabot(difrex,1) — All
2017-05-11 00:30:04


![][1]

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

Далее мы покажем что происходит с задержкой на примере реализации **WebRTC** и как при использовании WebRTC удается сохранить задержку на низком уровне, пригодном для комфортного общения. [Читать дальше →][2]

[1]: https://habrastorage.org/web/2e2/a79/cc2/2e2a79cc2e7345768275827429c34a82.jpg
[2]: https://habrahabr.ru/post/328286/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Делаем любой объект потокобезопасным
habra.16
habrabot(difrex,1) — All
2017-05-11 08:30:04


![image][1]

В этих 3-ех статьях я детально расскажу об атомарных операциях, барьерах памяти и о быстром обмене данными между потоками, а так же о «sequence-points» на примере «execute-around-idiom», а заодно постараемся вместе сделать что-нибудь полезное — умный указатель, который делает любой объект потоко-безопасным для любых операций с его членами переменными или функциями. А затем покажем как используя его достичь производительности высоко-оптимизированных lock-free алгоритмов на 8 — 64 ядрах.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/7b3/9d2/e68/7b39d2e68a22afcce66af7b6567f8726.jpg
[2]: https://habrahabr.ru/post/328348/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 ... 133