RSS
Pages: 1 ... 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ... 133
[>] [Перевод] Игра Престолов. Поиск авторов диалогов в книгах
habra.16
habrabot(difrex,1) — All
2016-06-28 12:00:04


![][1]

Привет Хабрахабр,

На основании результата голосования в статье [Теория Графов в Игре Престолов][2], я перевожу обучающий материал Эрика Германи (Erik Germani), который получил социальный граф связей из 5 первых книг серии «Песнь льда и пламени», лёгший в основу вышеупомянутой статьи. Статья не содержит подробного описания методов машинного обучения, а скорее рассказывает как на практике можно использовать существующие инструменты для поиска авторов диалогов в тексте. Осторожно, много букв! Поехали.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/63c/212/734/63c212734d4b484ca661f03554276207.jpg
[2]: https://habrahabr.ru/post/302936/
[3]: https://habrahabr.ru/post/304230/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Python: строим распределенную систему c PySyncObj
habra.16
habrabot(difrex,1) — All
2016-06-28 14:30:03


Представьте, что у вас есть класс:
class MyCounter(object):
def __init__(self):
self.__counter = 0
def incCounter(self):
self.__counter += 1
def getCounter(self):
return self.__counter

И вы хотите сделать его распределённым. Просто наследуете его от SyncObj (передав ему список серверов, с которыми нужно синхронизироваться) и отмечаете декоратором @replicated все методы, которые изменяют внутреннее состояние класса:
class MyCounter(SyncObj):
def __init__(self):
super(MyCounter, self).__init__('serverA:4321', ['serverB:4321', 'serverC:4321'])
self.__counter = 0
@replicated
def incCounter(self):
self.__counter += 1
def getCounter(self):
return self.__counter

PySyncObj автоматически обеспечит репликацию вашего класса между серверами, отказоустойчивость (всё будет работать до тех пор, пока живо больше половины серверов), а также (при необходимости) асинхронный дамп содержимого на диск.
На базе PySyncObj можно строить различные распределенные системы, например распределенный мьютекс, децентрализованные базы данных, биллинговые системы и другие подобные штуки. Все те, где на первом месте стоит надёжность и отказоустойчивость.
[Читать дальше →][1]

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

[>] [Из песочницы] Центральная симметрия сетки
habra.16
habrabot(difrex,1) — All
2016-06-28 15:00:03


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

[1]: https://habrastorage.org/files/341/588/240/341588240d794c77afcfe2d0c35a2702.png
[2]: https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%B2%D0%BE%D1%81%D1%8C%D0%BC%D0%B8_%D1%84%D0%B5%D1%80%D0%B7%D1%8F%D1%85
[3]: https://habrahabr.ru/post/304252/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Пропорции в искусстве. Есть ли что-то лучше золотого сечения? Исследование более 1 000 000 старых и современных картин
habra.16
habrabot(difrex,1) — All
2016-06-28 19:30:03


![][1]


_Перевод поста Майкла Тротта (Michael Trott) "[Aspect Ratios in Art: What Is Better Than Being Golden? Being Plastic, Rooted, or Just Rational? Investigating Aspect Ratios of Old vs. Modern Paintings][2]".
Код, приведенный в статье, можно скачать [здесь][3].
Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][4] за помощь в переводе и подготовке публикации_
----

## Содержание


[Предисловие: золотое сечение — красивая математическая концепция][5]
[Работа Фехнера 1876 года об эстетичности прямоугольников и соотношениях сторон в картинах][6]
[Легкий старт: анализ «Artwork» — области базы знаний Wolfram Knowledgebase][7]
[Первая часть: особенности вероятностного распределения соотношений сторон][8]
[Соотношения сторон для разных веков, жанров и художников][9]
[Анализируя пять старых немецких музейных каталогов][10]
[Коллекция Кресса: четыре больших PDF файла][11]
[У нас представлены коллекции следующих галерей: Метрополитен (Metropolitan), институт искусств Чикаго, Эрмитаж, Национальная Галерея (National Gallery), Рейксмюзеум (Rijks) и Тейт Британия ][12]
[Исключение в соотношениях сторон: Национальная портретная галерея][13]
[Веб-галерея изящных искусств: удобная база данных, готовая к использованию][14]
[Примечание II: важность точности в измерениях][15]
[WikiArt: еще один крупный веб-ресурс][16]
[Коллекция Французского государственного музея][17]
[Картины в итальянских церквях: высота есть всё][18]
[Смитсоновская коллекция][19]
[Большая коллекция картин в Великобритании][20]
[Нынешний рынок изящных искусств: рациональней чем когда-либо][21]
[Проданные картины: большинство написаны недавно, а у распределения длинный хвост][22]
[Восток: все показатели отличаются][23]
[Пропорции пакетов, автомобилей, этикеток, логотипов, эмблем, бумаги, банкнот, почтовых марок и фильмов][24]
— [Продукты из супермаркета][25]
— [Винные этикетки][26]
— [Этикетки немецких сортов пива][27]
— [Логотипы продуктов питания][28]
— [Банкноты][29]
— [Размеры автомобилей][30]
— [Бумажные листы][31]
— [Марки][32]
— [Эмблемы команд NCAA (Национальной ассоциации студенческого спорта)][33]
— [Эмблемы немецких футбольных клубов][34]
— [Форматы фильмов][35]
[Заключение: так какое соотношение самое «лучшее»?][36]
----
Картины великих мастеров — едва ли не самое прекрасное из человеческого наследия. Ими дорожили и восхищались, бережно хранили и продавали за сотни миллионов долларов, и, возможно, не по случайности они являются главной целью похитителей предметов искусства. Их композиции, цвета, детали, темы могут держать нас в восхищении и внимании часами. Но что можно сказать об отношении их внешних размеров — высоты к ширине?

В 1876 году немецкий ученый [Густав Теодор Фехнер][37] изучал человеческое восприятие прямоугольных форм, а после заключил, что прямоугольники с золотой пропорцией (то же, что и [золотое сечение][38]) наиболее приятны для человеческого глаза. Чтобы проверить свои экспериментальные наблюдения, Фехнер также проанализировал соотношения более десяти тысяч картин.

Немного больше узнать о Фехнере нам поможет следующий код:

![][39]

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

После обзора золотой пропорции и выводов Фехнера, мы рассмотрим соотношения сторон в различных группах картин и итоговое распределение, а также наиболее популярные соотношения. Мы узнаем о тенденциях последнего столетия в области соотношений сторон и рассмотрим то, как оно стало более рационалистическим.
[Читать дальше...][40]

[1]: https://habrastorage.org/files/25e/6db/dde/25e6dbdde4f24119990beba29eb4c12e.png
[2]: http://blog.wolfram.com/2015/11/18/aspect-ratios-in-art-what-is-better-than-being-golden-being-plastic-rooted-or-just-rational-investigating-aspect-ratios-of-old-vs-modern-paintings/
[3]: http://blog.wolfram.com/data/uploads/2015/11/Aspect-Ratios-in-Art.cdf
[4]: https://habrahabr.ru/users/kirillguzenko/
[5]: https://habrahabr.ru/company/wolfram/blog/304326/#1
[6]: https://habrahabr.ru/company/wolfram/blog/304326/#2
[7]: https://habrahabr.ru/company/wolfram/blog/304326/#3
[8]: https://habrahabr.ru/company/wolfram/blog/304326/#4
[9]: https://habrahabr.ru/company/wolfram/blog/304326/#5
[10]: https://habrahabr.ru/company/wolfram/blog/304326/#6
[11]: https://habrahabr.ru/company/wolfram/blog/304326/#7
[12]: https://habrahabr.ru/company/wolfram/blog/304326/#8
[13]: https://habrahabr.ru/company/wolfram/blog/304326/#9
[14]: https://habrahabr.ru/company/wolfram/blog/304326/#10
[15]: https://habrahabr.ru/company/wolfram/blog/304326/#11
[16]: https://habrahabr.ru/company/wolfram/blog/304326/#12
[17]: https://habrahabr.ru/company/wolfram/blog/304326/#13
[18]: https://habrahabr.ru/company/wolfram/blog/304326/#14
[19]: https://habrahabr.ru/company/wolfram/blog/304326/#15
[20]: https://habrahabr.ru/company/wolfram/blog/304326/#16
[21]: https://habrahabr.ru/company/wolfram/blog/304326/#17
[22]: https://habrahabr.ru/company/wolfram/blog/304326/#18
[23]: https://habrahabr.ru/company/wolfram/blog/304326/#19
[24]: https://habrahabr.ru/company/wolfram/blog/304326/#20
[25]: https://habrahabr.ru/company/wolfram/blog/304326/#21
[26]: https://habrahabr.ru/company/wolfram/blog/304326/#22
[27]: https://habrahabr.ru/company/wolfram/blog/304326/#23
[28]: https://habrahabr.ru/company/wolfram/blog/304326/#24
[29]: https://habrahabr.ru/company/wolfram/blog/304326/#25
[30]: https://habrahabr.ru/company/wolfram/blog/304326/#26
[31]: https://habrahabr.ru/company/wolfram/blog/304326/#27
[32]: https://habrahabr.ru/company/wolfram/blog/304326/#28
[33]: https://habrahabr.ru/company/wolfram/blog/304326/#29
[34]: https://habrahabr.ru/company/wolfram/blog/304326/#30
[35]: https://habrahabr.ru/company/wolfram/blog/304326/#31
[36]: https://habrahabr.ru/company/wolfram/blog/304326/#32
[37]: https://en.wikipedia.org/wiki/Gustav_Fechner
[38]: https://ru.wikipedia.org/wiki/%D0%97%D0%BE%D0%BB%D0%BE%D1%82%D0%BE%D0%B5_%D1%81%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5
[39]: https://habrastorage.org/getpro/habr/post_images/f1e/cf7/f1c/f1ecf7f1cf2a75d1d0c69db61ffb0ab2.png
[40]: https://habrahabr.ru/post/304326/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] GFI LanGuard — виртуальный консультант по безопасности
habra.16
habrabot(difrex,1) — All
2016-06-28 20:30:04


Одна из важных задач обеспечения информационной безопасности — выявление потенциальных рисков и «дыр» в защите. Нужно найти и устранить уязвимости прежде, чем ими смогут воспользоваться злоумышленники. Для этой цели и служат сканеры безопасности. Сканер безопасности или сканер уязвимости сети –  автоматизированное решение для полного сканирование портов, контроля обновлений ПО, а также проверки программных и аппаратных средств. Это приложение, сканирующее сеть и ее устройства для обнаружения слабых мест в системе безопасности.

[![][1]][2]
Сканеры проверяют используемые приложения, ищут «дыры», которыми могли бы воспользоваться хакеры, и предупреждают администратора о зонах риска и пробелах в системе безопасности. Их задачи — идентификация и анализ уязвимостей, инвентаризация ресурсов, формирование отчетов, содержащих описание уязвимостей и варианты их устранения. Конечно, функциональность разных продуктов существенно различается, однако грамотно используя сканер уязвимости сети, хорошо зарекомендовавший себя на рынке, можно значительно усилить сетевую безопасность.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/58e/094/6a6/58e0946a629bd2411c021b97a6d8a64f.jpg
[2]: https://habrahabr.ru/company/afidistribution/blog/304272/
[3]: https://habrahabr.ru/post/304272/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pipelist в PowerShell
habra.16
habrabot(difrex,1) — All
2016-06-29 00:30:03


Наиболее распространенным методом получения списка именованных каналов среди буржуинов является незатейливая команда:

[IO.Directory]::GetFiles(($$='\\.\pipe\'))|%{$_.Replace($$, '')}

Однако тем, кому ранее доводилось использовать pipelist из набора Sysinternals Suite, вывод данной команды явно покажется малоинформативным.
[Как исправить положение?][1]

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

[>] [Из песочницы] Факторное моделирование на базе метода Верле
habra.16
habrabot(difrex,1) — All
2016-06-29 01:00:03


Метод Верле – это итерационный метод вычисления следующего местоположения материальной точки по текущему и прошлому местоположениям с учетом накладываемых связей внутри системы точек.

Упругая структура – это наиболее общий вид структур для аппроксимации данных. Это набор узлов и упругих связей между ними. В качестве таких связей могут выступать пружинная связь между парой точек с равновесным расстоянием между точками и ребра жесткости тройки узлов с равновесным углом между узлами. Для аппроксимации набора точек упругой структурой предлагается использовать физическую интерпретацию точек данных как центров, притягивающих узлы упругой структуры. Частным случаем упругой структуры являются нелинейные главные компоненты. Это набор упругих цепочек с общей точкой пересечения. При большой жесткости упругих связей нелинейные главные компоненты переходят в классические главные компоненты факторного анализа. Для расчета движения точек упругой структуры в поле притяжения и учета связей между узлами упругой структуры предлагается использовать метод численного интегрирования Верле.

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

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

[>] Отправляем зашифрованные SMS сообщения с Virgil
habra.16
habrabot(difrex,1) — All
2016-06-29 05:30:03


![][1]


Привет, Хабр!
Несмотря на набирающие все большую популярность мобильные мессенджеры, такие как WhatsApp и Telegram, старые добрые SMS все еще не теряют свою актуальность. SMS можно использовать для отправки разного рода уведомлений, для двухфакторной аутентификации или при сбросе пароля. Однако последние успешные [атаки на мобильные сети][2] заставляют задуматься о дополнительном уровне защиты передаваемых с помощью SMS данных.
В этой статье мы поговорим о том, как используя сервисы Virgil и Twilio, сделать процесс отправки SMS на Android устройства безопасным.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/e83/379/948/e83379948c234dc28d04b232d3c888c2.jpg
[2]: http://www.ptsecurity.ru/download/PT_SS7_security_2014_rus.pdf
[3]: https://habrahabr.ru/post/304286/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Решаем «Первый открытый контест» от Mail.ru по Data Science с помощью Azure ML (введение в Azure ML)
habra.16
habrabot(difrex,1) — All
2016-06-29 07:30:02


Сейчас проходит соревнование [ML Boot Camp][1], в котором надо спрогнозировать время, за которое будут перемножены 2 матрицы размерами mxk и kxn на данной вычислительной системе, если известно, сколько решалась эта задача на других вычислительных системах с другими размерами матриц ([точные правила][2]). Давайте попробуем решить эту задачу регресии не с помощью стандартных инструментов и библиотек (R, Python и panda), а используя облачный продукт от Microsoft: [Azure ML][3]. Для наших целей подойдет бесплатный доступ, для которого достаточно даже trial Azure аккаунта. Все, кто хочет получить краткое руководство по настройке и использованию Azure ML в общем и ML Studio в частности на примере решения реальной живой задач, приглашаются под кат.
[Читать дальше →][4]

[1]: http://mlbootcamp.ru/main/
[2]: http://mlbootcamp.ru/championship/7/
[3]: https://studio.azureml.net/
[4]: https://habrahabr.ru/post/304186/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интеграция Cisco FirePOWER и ISE
habra.16
habrabot(difrex,1) — All
2016-06-29 13:30:03


![][1]

Привет habr! Начиная с версии FirePOWER 6.0.0.0, появилась возможность интеграции с корпоративным сервером централизованной аутентификации и авторизации Cisco ISE. В данной заметке кратко рассмотрим, что именно даёт связь Cisco FirePOWER с ISE и как эта связь настраивается. [Читать дальше →][2]

[1]: https://habrastorage.org/files/080/d66/51a/080d6651acc0425ba9820506a6f22fb0.png
[2]: https://habrahabr.ru/post/304302/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Собираем ваш первый WebAssembly-компонент
habra.16
habrabot(difrex,1) — All
2016-06-29 14:30:04


Когда я впервые услышал о технологии [WebAssembly ][1] — она сразу показалось мне крутой вещью и мне сразу захотелось попробовать её в деле. От первого желания, до чего-то работающего мне, однако, пришлось потратить немало времени и порой испытать кое-какие разочарования. Для того, чтобы сохранить ваше время и ваши нервы, если вам захочется повторить тот же путь, и написана данная статья.

![image][2]

##### Предупреждение читателю


Эта статья написана 24-го июня 2016-го года. Поскольку WebAssembly очень молодая и динамично развивающаяся технология, со временем многие описанные в данной статье вещи устареют или полностью изменятся — учитывайте это.

А теперь поехали.


##### Что такое WebAssembly?


Официальная документация говорит следующее: «WebAssembly или wasm это новый портабельный, эффективный по размеру и скорости загрузки формат компиляции для веба». Эм-м-м-м… Что? Формат чего? Текстовый или бинарный? Да, это откровенно плохое описание. Так что убирайте уже ваши баззворд-бинго карточки и я, на основе моего опыта, дам своё определение:

«WebAssembly или wasm это спецификация байткода для написания производительных, браузеро-независимых компонентов для веба». Это определение, тоже, конечно, не вершина эпистолярного жанра, но я попробую его дополнить. WebAssembly позволяет повысить производительность с помощью использования статически типизированных переменных, которые обходятся на рантайме значительно дешевле динамических. WebAssembly разрабатывается [W3C Community Group][3] и планируется быть внедрённым во все основные браузеры. И с этого момента на стол выкладывается киллер-фича: вы сможете писать код веб-компонентов на любом языке программирования.

Теперь звучит лучше, неправда ли?
[Читать дальше →][4]

[1]: https://webassembly.github.io/
[2]: https://habrastorage.org/getpro/habr/post_images/d8a/461/a90/d8a461a9052739e0a937c6fe7cf19de8.jpg
[3]: https://www.w3.org/community/webassembly/
[4]: https://habrahabr.ru/post/304362/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Алгоритмы чат бота на базе рекуррентной нейронной сети и расширения языка AIML
habra.16
habrabot(difrex,1) — All
2016-06-29 16:30:04


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

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

Альтернативным вариантом создания программы виртуального собеседника является использование алгоритмов машинного обучения на базе диалогов общения, именно искусственные нейронные сети. Подходящей моделью ИНС является рекуррентная нейронная сеть, способная хранить, обобщать и прогнозировать различные последовательности. В данной работе в качестве элементов последовательности предлагается использовать индексы соответствующие словам в базе знаний вопросов и ответов.
[Читать дальше →][1]

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

[>] WRIO Internet OS. Архитектура: Linked Data и JSON-LD
habra.16
habrabot(difrex,1) — All
2016-06-29 16:30:04


По итогам опроса в “[WRIO Internet OS. Введение][1]”, это первый пост в серии призванной раскрыть технические детали. Информация сможет заинтересовать разработчиков желающих использовать в своих проектах следующие технологии: JSON-LD, блокчеин, Node.js и React. В конце поста вы найдете опрос, который позволит нам узнать, какая следующая тема была бы полезной и интересной для хабросообщества.

Сегодняшняя тема: Linked Data и JSON-LD. На примере своего опыта мы расскажем чем данный формат интересен и какие преимущества он предоставляет.
[Читать дальше →][2]

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

[>] GFI Archiver: хранилище для почты
habra.16
habrabot(difrex,1) — All
2016-06-29 17:00:03


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

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

[1]: https://habrastorage.org/files/2ed/75b/521/2ed75b5212b94a89bed4bf96067d6cca.jpg
[2]: https://habrahabr.ru/company/afidistribution/blog/304274/
[3]: https://habrahabr.ru/post/304274/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание плагина OSSIM для сбора логов из базы данных
habra.16
habrabot(difrex,1) — All
2016-06-29 17:00:03


#### **1\. Для чего это нужно?**


Предположим, у вас есть приложение, которое ведет запись журналов событий в базу данных(например, Kaspersky Security Center, Symantec Endpoint Security Server, и многие другие) и вы хотите собирать эти журналы с помощью SIEM системы Alienvault OSSIM (USM), но в поставке «из коробки» OSSIM не умеет собирать и парсить логи Вашего приложения. [Читать дальше →][1]

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

[>] [Из песочницы] SObjectizer: что это, для чего это и почему это выглядит именно так?
habra.16
habrabot(difrex,1) — All
2016-06-29 17:00:03


Разработка многопоточных программ на C++ — это не просто. Разработка больших многопоточных программ на C++ — это очень не просто. Но, как это обычно бывает в C++, жизнь сильно упрощается, если удается подобрать или сделать «заточенный» под конкретную задачу инструмент. Четырнадцать лет назад выбирать было особенно не из чего, поэтому мы сами для себя сделали такой «заточенный» инструмент и назвали его SObjectizer. Опыт повседневного использования SObjectizer-а в коммерческом софтостроении пока не позволяет жалеть о содеянном. А раз так, то почему бы не попробовать рассказать о том, что это, для чего это и почему у нас получилось именно так, а не иначе…
[Читать дальше →][1]

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

[>] Единственный способ вытащить человечество из лап интернета — #СпортСПервымВстречным
habra.16
habrabot(difrex,1) — All
2016-06-29 17:00:03


![][1]

**Добрый день! В этой статье мы хотели бы рассказать вам о проекте, который помогает людям находить компанию для занятий спортом, хобби или просто отдыха. **

Прошло уже восемь месяцев с момента выхода нашей первой статьи в корпоративном блоге на Мегамозге. И сейчас, когда Мозг вернулся домой на Хабр, мы пишем новую «вводную» статью и расскажем о нашем сервисе, который за время существования претерпел множество изменений. Расскажем немного о нашем проекте, а также факапах, с коими нам пришлось столкнуться. [Узнать о проекте][2]

[1]: https://habrastorage.org/files/148/0c7/e0f/1480c7e0ff984a0cbdd52e919ff30d42.png
[2]: https://habrahabr.ru/post/304262/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разбор задач отборочного раунда RCC 2016
habra.16
habrabot(difrex,1) — All
2016-06-29 20:00:04


![][1]

Завершился очередной — отборочный — раунд международного чемпионата программистов [Russian Code Cup 2016][2]. И по сложившейся традиции мы предлагаем вам ознакомиться с решениями задач, которые предлагались конкурсантам в последнем раунде. На этот раз задач было шесть, хотя на их решение по-прежнему выделялось два часа. За выход в следующий раунд [сражалось 604 человека][3]. RCC впервые проводится в том числе для англоязычных участников. Результат не заставил ждать — русскоговорящим программистам будет составлена серьезная конкуренция. В финал прошло 50 человек и из них 19 человек — не русскоговорящие участники. Среди финалистов представители России, Украины, Беларусии, Литвы, Словакии, Армении, Польши, Швейцарии, Финляндии, Японии, Китая, Южной Кореи.

1. [Контрольная работа][4]
2. [Многоножка][5]
3. [Двоичное дерево][6]
4. [Пробирки и реактивы][7]
5. [Размен денег][8]
6. [Задача F][9][Читать дальше →][10]

[1]: https://habrastorage.org/files/a9e/253/23a/a9e25323a9094c80bf65049e95792d9e.jpg
[2]: http://www.russiancodecup.ru/ru/championship/
[3]: http://www.russiancodecup.ru/ru/championship/result/53/
[4]: https://habrahabr.ru/company/mailru/blog/303216/#1
[5]: https://habrahabr.ru/company/mailru/blog/303216/#2
[6]: https://habrahabr.ru/company/mailru/blog/303216/#3
[7]: https://habrahabr.ru/company/mailru/blog/303216/#4
[8]: https://habrahabr.ru/company/mailru/blog/303216/#5
[9]: https://habrahabr.ru/company/mailru/blog/303216/#6
[10]: https://habrahabr.ru/post/303216/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] D3.js. Визуализация графов
habra.16
habrabot(difrex,1) — All
2016-06-30 08:00:03


> **D3.js** — это библиотека JavaScript для управления документами, в основе которых лежат данные. **D3** помогает претворить данные в жизнь, используя HTML, SVG и CSS. D3 позволяет привязывать произвольные данные к DOM, и затем применять результаты манипуляций с ними к документу.


Для понимания статьи пригодится [знание основ D3][1], и в ней мы рассмотрим реализацию алгоритмов визуализации графа на основе сил ([Force-directed graph drawing algorithms][2]), которая в D3 (version 3) имеет название _[Force Layout][3]_. Это класс алгоритмов визуализации графов, которые вычисляют позицию каждого узла, моделируя силу притяжения между каждой парой связанных узлов, а также отталкивающую силу между узлами.

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

[1]: https://habrahabr.ru/company/datalaboratory/blog/217905/
[2]: https://en.wikipedia.org/wiki/Force-directed_graph_drawing
[3]: https://github.com/d3/d3-3.x-api-reference/blob/master/Force-Layout.md
[4]: https://habrastorage.org/files/d89/00e/09e/d8900e09e31643f59a0267fe64140dac.png
[5]: https://habrahabr.ru/post/302968/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Очень простой и быстрый HTML->TEXT
habra.16
habrabot(difrex,1) — All
2016-06-30 10:30:03


![image][1]

Все видели просмотрщик html-файлов в TotalCommander. Загорелся идеей написать простой и очень маленький текстовый браузер для своей операционки. Поначалу, смотрел в сторону asm-xml — отличный парсер, однако ну очень уж большой (мой предел — 64 килобайта, не технический, просто принцип такой). Ниже описан очень простой способ получения текста из html.

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

[1]: https://habrastorage.org/files/7b2/cc2/c79/7b2cc2c79eda44ffb2b4b142a2c86dff.png
[2]: https://habrahabr.ru/post/304428/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] SBC+VPN+Tor+obfsproxy в кармане
habra.16
habrabot(difrex,1) — All
2016-06-30 12:30:03


В этой статье будет рассказано об одном из вариантов получения переносного решения с Tor, VPN и обфускацией, к которому можно подключить свои мобильные устройства, ПК или ноутбук.
[Читать дальше →][1]

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

[>] Мониторинг и система управления ЦОД
habra.16
habrabot(difrex,1) — All
2016-06-30 13:30:04


Все больше информации появляется в интернете о интеграции компаний которые занимаются программным обеспечением, для управления инфраструктурой дата центра. Совсем недавно появилась информация о слиянии двух компаний Nlyte Software и FieldView Solutions. Компания DCIM на рынке уже больше 10 лет и на данный момент в ее состав входить более шести десятков поставщиков программного обеспечения для ЦОД. В ближайшее время планируется сократить число поставщиков, но данное решение не повлияет на общую ситуацию компании. Все больше и больше компаний привлекает возможность получить сверх прибыль, к ним относятся, как крупные компании так и стартапы. Вендоры не спешат выйти на рынок DCIM, и набираясь опыта на простих системах мониторинга и управления инфраструктурой дата центра.

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

[1]: https://habrastorage.org/files/f38/a74/470/f38a7447053e42afb83c682a50444c0b.jpg
[2]: https://habrahabr.ru/post/243673/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] IBM Watson и никакой магии: инженер IBM создал распределяющую шляпу из «Гарри Поттера» для своих дочерей
habra.16
habrabot(difrex,1) — All
2016-06-30 13:30:04


![][1]

Распределяющая шляпа Хогвартса из «Гарри Поттера» помогала распределять поступивших в академию учеников по различным факультетам. В ходе анализа каждого ученика шляпа, вероятно, использовала определенные черты эмоционального и психологического портрета ребенка. А если так, может, попробовать воссоздать такую шляпу в реальности?

Именно такая мысль пришла в голову инженеру IBM Райану Андерсону (Ryan Anderson). Но что можно использовать вместо магии? Андерсон решил, что достойной заменой являются технологии. А именно — когнитивный сервис IBM Watson. В своей работе шляпа использует два сервиса Watson-a: Natural Language Classifier и Speech to Text. Для того, чтобы шляпа начала работать, ее «носитель» должен сначала немного поговорить с умной системой, после чего она расскажет, на какой именно курс Хогвартса можно отправить собеседника.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/df6/cd0/95c/df6cd095c57c48c893c36cdf73c5a117.jpg
[2]: https://habrahabr.ru/post/304424/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Анонс записи выпуска подкаста SDcast об OpenVZ
habra.16
habrabot(difrex,1) — All
2016-06-30 15:30:04


[][1]

Уже [много лет][2] компания Virtuozzo (бывшее подразделение компании Parallels) разрабатывает серверное ПО для виртуализации на основе открытых проектов. Самые известные opensource разработки компании: [OpenVZ][3], [CRIU][4], [P.Haul][5], [Ploop][6], [VCMMD][7].

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

[1]: https://openvz.org/
[2]: http://www.opennet.ru/opennews/art.shtml?num=41162
[3]: https://openvz.org/
[4]: https://habrahabr.ru/search/?q=criu#h
[5]: http://www.opennet.ru/opennews/art.shtml?num=42850
[6]: https://openvz.org/Ploop
[7]: https://openvz.org/VCMMD
[8]: https://habrahabr.ru/post/304460/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как разравнять Пирамиду смерти
habra.16
habrabot(difrex,1) — All
2016-06-30 15:30:04


Настроить webpack по мануалу, запрограммировать ангуляр и даже послать json по ajax — кажись каждый может, но вот как взглянешь на сам код… В этом посте будет показана разница между нововведениями.

Итак вы открыли ноду и увидели, что почти все функции «из коробки» последним аргументом принимают колбэк.

var fs = require("fs");
fs.readdir(__dirname, function(error, files) {
if (error) {
console.error(error);
} else {
for (var i = 0, j = files.length; i < j; i++) {
console.log(files[i]);
}
}
});


**Пирамида смерти**
[далее][1]

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

[>] Опубликована полная база свободных репозиториев Github через интерфейс BigQuery
habra.16
habrabot(difrex,1) — All
2016-06-30 16:30:03


### 2,8 млн репозиториев, 3 ТБ исходного кода и метаданных


![][1]

Google в сотрудничестве с Github [выложила][2] для общественного пользования полную актуальную базу всех open-source репозиториев через интерфейс [BigQuery][3]. (Проверка [свободной лицензии][4] осуществляется через API.)

Наборы данных [Google BigQuery Public Datasets][5] содержат информацию о более чем 2,8 млн свободных репозиториев, более 2 миллиардах файлов (исходный код последних версий 163 млн файлов), 145 млн коммитов и т.д. Общий размер базы — около 3 терабайт.

Раньше архивы Github выкладывались на [Github Archive][6]. Теперь всё это богатство доступно для полнотекстового поиска и анализа через простые SQL-запросы. Github [обещает][7] обновлять наборы данных еженедельно.
[Читать дальше →][8]

[1]: https://habrastorage.org/files/9bb/a5b/6a4/9bba5b6a416848e2a68937b408f17080.png
[2]: http://google-opensource.blogspot.com.by/2016/06/github-on-bigquery-analyze-all-code.html
[3]: https://cloud.google.com/bigquery/
[4]: https://developer.github.com/v3/licenses/
[5]: https://cloud.google.com/bigquery/public-data/
[6]: https://www.githubarchive.org/
[7]: http://venturebeat.com/2016/06/29/github-releases-data-on-2-8-million-open-source-repositories-through-google-bigquery/
[8]: https://habrahabr.ru/post/304476/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Теория и практика AOP. Как мы это делаем в Яндексе
habra.16
habrabot(difrex,1) — All
2016-06-30 18:00:03


Одна из ключевых особенностей работы в Яндексе — это свобода выбора технологий. В Авто.ру, где я работаю, нам приходится поддерживать большой пласт исторических решений, поэтому любая новая технология или библиотека встречается двумя вопросами коллег:

— Насколько это увеличит дистрибутив?
— Как это поможет нам писать меньше и эффективнее?

![][1]

Сейчас мы используем [RxJava][2], [Dagger 2][3], [Retrolambda][4] и [AspectJ][5]. И если о первых трёх технологиях слышал каждый разработчик, а многие даже применяют их у себя, то о четвёртой знают только хардкорные джависты, пишущие большие серверные проекты и разного рода энтерпрайзы.

Передо мной стояла цель ответить на эти два вопроса и обосновать использование AOP-методологии в Android-проекте. А это значит — написать код и показать наглядно, как аспектно-ориентированное программирование поможет нам ускорить и облегчить работу разработчиков. Но обо всём по порядку.

[Запасаемся поп-корном и готовим мозг к загрузке][6]

[1]: https://habrastorage.org/files/b11/1ea/672/b111ea67255547909ad1cfda06274286.jpg
[2]: https://github.com/ReactiveX/RxJava
[3]: http://google.github.io/dagger/
[4]: https://github.com/orfjackal/retrolambda
[5]: https://eclipse.org/aspectj/
[6]: https://habrahabr.ru/post/280117/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Книга про разработку приложений для Firebird
habra.16
habrabot(difrex,1) — All
2016-06-30 19:30:04


![firebird-logo][1] Читатели Хабра знают, что я (Денис Симонов) уже некоторое время работаю над серией статей и примеров, которые подробно раскрывают особенности разработки приложений для СУБД Firebird для популярных языков и фреймворков: уже написаны 3 статьи по [ADO.NET desktop][2], [ASP.NET MVC][3] и [Delphi][4], в работе для PHP, Java, Android. Также, c 2014 года я являюсь редактором русской документации языку Firebird и членом международной группы документации Firebird.

В процессе работы над примерами я пришел к выводу, что нужно объединять эти статьи и логически дополнять до полноценной книги, посвященной разработке именно под Firebird. Хотя по разработке есть [много материалов][5], и есть русская документация по языку SQL, книга, с последовательным изложением процесса создания приложений и описанием основных ошибок новичков, будет полезна.

Вы спросите – собственно, причем здесь Хабр?

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

[1]: https://habrastorage.org/files/58a/d6a/892/58ad6a89257741fc805ae36d811346d5.png
[2]: http://www.ibase.ru/files/articles/firebird_examples/how_to_create_application_firebird_sql_entity_framework_net_example_rus.pdf
[3]: http://www.ibase.ru/files/articles/firebird_examples/how_to_create_application_firebird_sql_entity_framework_mvc_example_rus.pdf
[4]: http://www.ibase.ru/files/articles/firebird_examples/how_to_create_aplication_firebird_delphi_example_rus.pdf
[5]: http://www.ibase.ru/develop/
[6]: https://habrahabr.ru/post/304462/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Математические обозначения: Прошлое и будущее
habra.16
habrabot(difrex,1) — All
2016-06-30 19:30:04


![][1]



_Перевод поста Стивена Вольфрама (Stephen Wolfram) "[Mathematical Notation: Past and Future (2000)][2]".
Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][3] за помощь в переводе и подготовке публикации_
----

## Содержание


[Резюме][4]
[Введение][5]
[История][6]
[Компьютеры][7]
[Будущее][8]
[Примечания][9]
— [Эмпирические законы для математических обозначений][10]
— [Печатные обозначения против экранных][11]
— [Письменные обозначения][12]
— [Шрифты и символы][13]
— [Поиск математических формул][14]
— [Невизуальные обозначения][15]
— [Доказательства][16]
— [Отбор символов][17]
— [Частотное распределение символов][18]
— [Части речи в математической нотации][19]
----
**Стенограмма речи, представленной на секции «MathML и математика в сети» первой Международной Конференции MathML в 2000-м году.**
----
<>

# Резюме


Большинство математических обозначений существуют уже более пятисот лет. Я рассмотрю, как они разрабатывались, что было в античные и средневековые времена, какие обозначения вводили Лейбниц, Эйлер, Пеано и другие, как они получили распространение в 19 и 20 веках. Будет рассмотрен вопрос о схожести математических обозначений с тем, что объединяет обычные человеческие языки. Я расскажу об основных принципах, которые были обнаружены для обычных человеческих языков, какие из них применяются в математических обозначениях и какие нет.

Согласно историческим тенденциям, математическая нотация, как и естественный язык, могла бы оказаться невероятно сложной для понимания компьютером. Но за последние пять лет мы внедрили в [Mathematica][20] возможности к пониманию чего-то очень близкого к стандартной математической нотации. Я расскажу о ключевых идеях, которые сделали это возможным, а также о тех особенностях в математических обозначениях, которые мы попутно обнаружили.

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

Традиционная математическая нотация представляет математические объекты, а не математические процессы. Я расскажу о попытках разработать нотацию для алгоритмов, об опыте реализации этого в APL, Mathematica, в программах для автоматических доказательств и других системах.

Обычный язык состоит их строк текста; математическая нотация часто также содержит двумерные структуры. Будет обсуждён вопрос о применении в математической нотации более общих структур и как они соотносятся с пределом познавательных возможностей людей.

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

[1]: https://habrastorage.org/files/cd9/e69/cdf/cd9e69cdf9544c87aca0df53f4d2d632.png
[2]: http://www.stephenwolfram.com/publications/mathematical-notation-past-future/
[3]: https://habrahabr.ru/users/kirillguzenko/
[4]: https://habrahabr.ru/company/wolfram/blog/304502/#1
[5]: https://habrahabr.ru/company/wolfram/blog/304502/#2
[6]: https://habrahabr.ru/company/wolfram/blog/304502/#3
[7]: https://habrahabr.ru/company/wolfram/blog/304502/#4
[8]: https://habrahabr.ru/company/wolfram/blog/304502/#5
[9]: https://habrahabr.ru/company/wolfram/blog/304502/#6
[10]: https://habrahabr.ru/company/wolfram/blog/304502/#7
[11]: https://habrahabr.ru/company/wolfram/blog/304502/#8
[12]: https://habrahabr.ru/company/wolfram/blog/304502/#9
[13]: https://habrahabr.ru/company/wolfram/blog/304502/#10
[14]: https://habrahabr.ru/company/wolfram/blog/304502/#11
[15]: https://habrahabr.ru/company/wolfram/blog/304502/#12
[16]: https://habrahabr.ru/company/wolfram/blog/304502/#13
[17]: https://habrahabr.ru/company/wolfram/blog/304502/#14
[18]: https://habrahabr.ru/company/wolfram/blog/304502/#15
[19]: https://habrahabr.ru/company/wolfram/blog/304502/#16
[20]: http://www.wolfram.com/mathematica/
[21]: https://habrahabr.ru/post/304502/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Кибер-пандемия: компьютерные атаки в сфере здравоохранения
habra.16
habrabot(difrex,1) — All
2016-06-30 19:30:04


![][1]

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

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

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

[1]: https://habrastorage.org/files/1a6/46f/42e/1a646f42ecb840a6958678d69a82cca3.png
[2]: https://habrahabr.ru/post/304382/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В Питере быть: доклады «очной ставки» NeoQUEST-2016
habra.16
habrabot(difrex,1) — All
2016-06-30 19:30:04


![][1]7 июля в Санкт-Петербурге пройдет «очная ставка» NeoQUEST-2016 — увлекательное мероприятие для всех, кто занимается или хотел бы заниматься информационной безопасностью. Ждём всех: специалистов по информационной безопасности, разработчиков и администраторов, студентов и абитуриентов IT-специальностей, хакеров, гиков и всех-всех! Вход на NeoQUEST-2016 бесплатный, необходимо только зарегистрироваться [на сайте][2] мероприятия.

Гостей NeoQUEST-2016 ждут:
1. **Увлекательные доклады о самом актуальном в информационной безопасности.** Поговорим об особенностях создания и обнаружении ботов в социальных сетях, обсудим, как Intel SGX и Intel MPX делают жизнь разработчиков лучше… Или хуже? Расскажем, что интересного может узнать исследователь безопасности, путешествуя из Питера в Москву и обратно. Покажем, что мы «в тренде», рассказав о проблемах безопасности умной и модной носимой электроники. Не обойдем своим вниманием мобильные антивирусы и их недостатки, изучим Intel ME и многое многое другое.
2. **Демонстрации атак и способов защиты от них.** Покажем олдскульную атаку на Intel ME для чипсета Q35, продемонстрируем обход SSL Pinning, покажем уязвимость современных веб-браузеров к атаке «человек посередине» с использованием ключей с отозванными сертификатами, проведем атаку на «умные» часы — и это еще не всё!
3. **Конкурсы, призы, общение.** На протяжении всего дня в [Twitter][3] будет проводиться викторина «ЕГЭ по ИБ» с разнообразными заданиями на знание информационной безопасности и на смекалку. Помимо этого, гостей ждет множество реальных конкурсов, и, конечно же, призы!
Подробно о содержимом докладов NeoQUEST-2016 — под катом!
[Читать дальше →][4]

[1]: https://habrastorage.org/files/073/e6c/8f0/073e6c8f00484fbfaed5c5619914721a.jpg
[2]: http://neoquest.ru/
[3]: https://twitter.com/NeoquestSupport
[4]: https://habrahabr.ru/post/304028/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Дёргаем цепочку сертификатов
habra.16
habrabot(difrex,1) — All
2016-06-30 19:30:04


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

На 4-м сертификате дёргать их вручную стало лень (а я ленив по натуре), поэтому набросал «самокат» выцепляющий издателя и формирующий chain-файл для скармливания nginx'у.
Наверняка он не идеален и проверен лишь на полуторадесятках сертификатов, но чем богаты.

Об устройстве x.509 много сказано (в том числе на хабре), поэтому повторяться не буду.

Ниже просто пошаговая инструкция получения цепочки вперемешку с небольшой выжимкой из теории и не более того.
[Читать дальше →][1]

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

[>] Генератор музыки на базе кодогенератора
habra.16
habrabot(difrex,1) — All
2016-07-01 01:00:04


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

Добро пожаловать под кат.
[Читать дальше →][1]

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

[>] [Из песочницы] Что такое AXON
habra.16
habrabot(difrex,1) — All
2016-07-01 01:00:04


[AXON][1] — это нотация для сериализованного представления объектов, документов и данных в текстовой форме. Она объединяет в себе _простоту_ [JSON][2], _расширяемость_ [XML][3] и _удобочитаемость_ [YAML][4].



Есть проект [pyaxon][5] на [python][6], с которым можно "поиграться". Впрочем, он создавался таким образом, чтобы не сильно уступать по скорости с модулем [json][7]. Поэтому он может сгодиться и для реальных дел.



#### Зачем AXON?



`AXON` появился как попытка справиться с недостатками или неудобствами `JSON` и `XML`, но сохранить при этом их достоинства и возможности, дополнительно добавив удобочитаемость, присущую `YAML`.


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

[1]: http://intellimath.bitbucket.org/axon
[2]: http://www.json.org
[3]: http://www.w3.org/xml
[4]: http://www.yaml.org
[5]: http://pypi.python.org/pypi/pyaxon
[6]: http://python.org
[7]: http://docs.python.org/3.5/library/json.html
[8]: https://habrahabr.ru/post/304516/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем текстовую игру на Python/Ren'Py ч.2: мини-игры и подводные камни
habra.16
habrabot(difrex,1) — All
2016-07-01 11:00:04


Краткое содержание предыдущих двадцати пяти тысяч серий: мы пишем текстовую игру про плавание по морю и ввязывание в истории. Пишем мы её на движке Ren'Py, который изначально предназначен для визуальных новелл, но после минимальной настройки способен делать всё, что нам надо. В прошлой статье я рассказал, как сделать простенькую интерактивную читалку, а в этой мы добавим ещё пару экранов с более сложными функциями и наконец поработаем на питоне.
![image][1]

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

[1]: https://habrastorage.org/files/792/ef7/381/792ef738198348feb55980117fcc2447.jpg
[2]: https://habrahabr.ru/post/304530/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Драм-машина на нейронной сети
habra.16
habrabot(difrex,1) — All
2016-07-01 13:00:04


В данной статье мне хочется рассказать о своем алгоритме драм-машины на базе нейронной сети.
Драм-машина предназначена для создания и редактирования повторяющихся музыкальных ударных фрагментов.
Классическим примером драм машины является драм-машины от кампании Roland (TR-808 и TR-909).

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

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

[>] База свободных репозиториев Github доступна через интерфейс BigQuery
habra.16
habrabot(difrex,1) — All
2016-07-01 13:00:04


### 2,8 млн репозиториев, 3 ТБ исходного кода и метаданных


![][1]

Google в сотрудничестве с Github [выложила][2] для общественного пользования полную актуальную базу всех open-source репозиториев через интерфейс [BigQuery][3]. (Проверка [свободной лицензии][4] осуществляется через API.)

Наборы данных [Google BigQuery Public Datasets][5] содержат информацию о более чем 2,8 млн свободных репозиториев, о более чем 2 млрд файлов (исходный код последних версий 163 млн файлов), 145 млн коммитов и т.д. Общий размер базы — около 3 терабайт.

Раньше архивы Github выкладывались на [Github Archive][6]. Теперь всё это богатство доступно для полнотекстового поиска и анализа через простые SQL-запросы. Github [обещает][7] обновлять наборы данных еженедельно.
[Читать дальше →][8]

[1]: https://habrastorage.org/files/9bb/a5b/6a4/9bba5b6a416848e2a68937b408f17080.png
[2]: http://google-opensource.blogspot.com.by/2016/06/github-on-bigquery-analyze-all-code.html
[3]: https://cloud.google.com/bigquery/
[4]: https://developer.github.com/v3/licenses/
[5]: https://cloud.google.com/bigquery/public-data/
[6]: https://www.githubarchive.org/
[7]: http://venturebeat.com/2016/06/29/github-releases-data-on-2-8-million-open-source-repositories-through-google-bigquery/
[8]: https://habrahabr.ru/post/304476/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Критическая уязвимость антивируса Symantec Endpoint позволяет осуществлять удаленное выполнение кода
habra.16
habrabot(difrex,1) — All
2016-07-01 14:00:04


[![][1]][2]

Исследователи из Google Project Zero Team в своем блоге [опубликовали][3] подробный разбор ошибок безопасности, содержащихся в антивирусном «движке» Symantec Endpoint Protection. По словам экспертов, продукт содержит множество критических уязвимостей, некоторые из которых могут приводить к удаленному выполнению кода или удаленному повреждению памяти ядра (remote kernel memory corruption). [Читать дальше →][4]

[1]: https://habrastorage.org/files/18a/870/ae6/18a870ae62ce4eeb97dd161918ed93fe.JPG
[2]: https://habrahabr.ru/company/pt/blog/304532/
[3]: http://googleprojectzero.blogspot.ru/2016/06/how-to-compromise-enterprise-endpoint.html
[4]: https://habrahabr.ru/post/304532/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Генерирование паролей на Super Castlevania IV и Rock n' Roll Racing
habra.16
habrabot(difrex,1) — All
2016-07-01 15:00:04


Добрый день, уважаемые пользователи.

Недавно я написал пост про генерацию паролей на первый и второй Road Rash. В [комментариях][1] к статья меня попросили разъяснить, а как устроена система паролей в игре Rock n' Roll Racing. Про это я и хотел бы с вами поговорить. Но начать хотелось бы с игры Super Castlevania IV. Ну что ж, приступим.

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

[1]: https://habrahabr.ru/post/303338/#comment_9657260
[2]: https://habrastorage.org/getpro/habr/post_images/ead/d32/a42/eadd32a4201115887352ea53d5547c7f.jpg
[3]: https://habrahabr.ru/post/304160/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Управление действиями процессов. Не превышение лимита RPS (QPS) API
habra.16
habrabot(difrex,1) — All
2016-07-01 16:00:03


![image][1]

###### _Структурно-функциональная схема модуля_


Хочу рассказать о разработанном и используемом в продакшне модуле Publisher Pulsar ([github][2]), который позволяет **синхронизировать действия процессов. **

Например, есть множество (десятки или сотни) процессов, независимо друг от друга обращающихся к API Google Analytics с одного IP.

При этом, GA установлен лимит в [10 queries per second][3] с одного IP.

Если не регулировать обращения к API, то постоянно будет возвращаться ошибка превышения лимита некоторыми процессами, и либо они не смогут выполнить свою задачу без данных API, либо будут снова и снова пытаться получить данные в цикле, создавая проблему для других процессов, увеличивая количество ошибок. То есть будет хаос и отсутствие прогнозируемости в части процента корректно получаемых данных и процента ошибок при обращениях к API.

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

[1]: https://raw.githubusercontent.com/jamset/publisher-pulsar/master/images/publisher-pulsar-schema.jpg
[2]: https://github.com/jamset/publisher-pulsar
[3]: https://developers.google.com/analytics/devguides/config/mgmt/v3/limits-quotas
[4]: https://habrahabr.ru/post/304536/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем задачки на FBD. Пятнашки и Симпсон
habra.16
habrabot(difrex,1) — All
2016-07-01 16:00:03


Здравствуйте.

В этой статье будет показано, как на языке программирования [FBD][1] написать простую программу, которая, тем не менее, будет делать что-то полезное. В нашем примере это будет игра в Пятнашки.

Для начала напомню правила [игры][2]: игра в «15», «Пятнашки», «Такен» — популярная головоломка, придуманная в 1878 году Ноем Чепмэном. Представляет собой набор одинаковых квадратных костяшек с нанесёнными числами, заключённых в квадратную коробку. Длина стороны коробки в четыре раза больше длины стороны костяшек для набора из 15 элементов, соответственно в коробке остаётся незаполненным одно квадратное поле. Цель игры — перемещая костяшки по коробке, добиться упорядочивания их по номерам, желательно сделав как можно меньше перемещений.

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

Вот что получилось в итоге:
![][3]

Описание программы, комментарии и картинки под катом.
[Читать статью][4]

[1]: https://ru.wikipedia.org/wiki/FBD
[2]: https://ru.wikipedia.org/wiki/%D0%98%D0%B3%D1%80%D0%B0_%D0%B2_15
[3]: https://habrastorage.org/files/01d/0ef/e11/01d0efe1112c47aeba736de9020b88cd.png
[4]: https://habrahabr.ru/post/304416/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Мои соболезнования: теперь вы поддерживаете популярный проект с открытым исходным кодом
habra.16
habrabot(difrex,1) — All
2016-07-01 16:00:03


_От автора: В статье приведены мои слайды и заметки с выступления от 25 июня 2016 года на конференции WordCamp Europe. Говорил я примерно то же самое._

![][1]

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


# Программное обеспечение поедает мир


Известна фраза от Марка Андреессена, создателя браузера Netscape: «программное обеспечение поедает мир». Я хочу уточнить, что мир поедает ПО с открытым кодом, и у меня есть парочка аргументов в пользу моей версии.

Во-первых, результаты [опроса 2015 года «будущее открытого ПО»:][2] «78% анкетируемых сказали, что частично работают при поддержке ОПО, и 66% сказали, что создают ПО для клиентов на основе ОПО. Эти цифры почти удвоились с 2010 года».

Во-вторых, Надья Эгбал [Nadia Eghbal], проводящая интересные исследования экономики ОПО, подсчитала, что «Доля ОПО в приобретённом за $1 миллиард Instagram составляла [не менее $143 миллионов][3]».

Мне кажется, у этого кембрийского взрыва ОПО есть несколько причин:
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/b78/74b/989/b7874b9891bb5881da6e375b76ea9c20.png
[2]: http://www.northbridge.com/2015-future-open-source-survey-results
[3]: https://medium.com/@nayafia/open-source-was-worth-at-least-143m-of-instagram-s-1b-acquisition-808bb85e4681
[4]: https://habrahabr.ru/post/304550/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 26: Слив данных через вентилятор, ядро iOS расшифровали, криптолокер на парольных архивах
habra.16
habrabot(difrex,1) — All
2016-07-02 13:30:04


![][1]Есть такая категория исследований в области ИБ, которую я называю «страшилками из будущего». Ни в коем случае не хочу умалять достоинства таких исследований: часто бывает так, что угроза, считающая очень теоретической, лет через десять после исследования становится вполне реальной. Конечно же, это всегда происходит _неожиданно_. К подобным потенциальным уязвимостям можно отнести, например, перепрограммирование [контроллеров USB][2], атаки на алгоритмы, используемые [для шифрования данных][3], и даже, например, уязвимость в USB-приемниках для беспроводных [клавиатур и мышей][4]. Последний пример особенно показателен: это вовсе не теоретическая атака, но все же очень трудоемкая. Пока есть методы проще, сложными пользоваться не будут. Или лучше по-другому сказать: момент, когда такими методами все же начнут пользоваться, ознаменует качественно новый уровень защищенности IT-систем. Куда более продвинутый, чем сейчас.

Так вот, исследователи из израильского Университета имени Бен-Гуриона показали новую атаку такого типа, которая теоретически позволяет проникнуть в air-gapped системы. Air-gapped — это такой устоявшийся термин для компьютерной инфраструктуры на критически важных объектах, которая с целью максимальной защиты отключена и от интернета, и от менее важных сетей того же предприятия. Уже давно понятно, что этот метод — не панацея, смотрите пример Stuxnet, который очевидно заражал такие тщательно охраняемые системы, распространяясь на USB-флешках («Привет, я тут фильм скачал новый, на посмотри пока на работе сидишь»).

Предположим, что в ответственных конторах после этого случая залили эпоксидкой все разъемы. Стало ли безопаснее? Не совсем. В исследовании (Исходник в [PDF][5], [статья][6] на Wired) показано, как можно сливать данные с защищенного компьютера, изменяя скорость вращения вентилятора на процессоре.
Все выпуски сериала — [тут][7].
[Читать дальше →][8]

[1]: https://habrastorage.org/files/f62/ad7/066/f62ad706630440458cdb67680c359ac1.jpg
[2]: https://threatpost.ru/badusb-novoe-issledovanie-staraya-problema/4757/
[3]: https://threatpost.ru/prime-diffie-hellman-weakness-may-be-key-to-breaking-crypto/12806/
[4]: https://threatpost.ru/mousejack-attacks-abuse-vulnerable-wireless-keyboard-mouse-dongles/14930/
[5]: https://www.wired.com/wp-content/uploads/2016/06/Fansmitter-1.pdf
[6]: https://www.wired.com/2016/06/clever-attack-uses-sound-computers-fan-steal-data?mbid=social_fb
[7]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[8]: https://habrahabr.ru/post/304580/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] systemd: getty-подобный сервис для htop
habra.16
habrabot(difrex,1) — All
2016-07-02 22:30:03


**htop** — это интерактивная программа для наблюдения за процессами; она — альтернатива программы top. Каждый, кто работает за машиной с линуксом на борту, хоть раз использовал её: будь то поиск процесса (и его последующее убийство) или тщательный мониторинг используемых ресурсов.


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

[1]: https://habrastorage.org/getpro/habr/post_images/3ba/a70/ee3/3baa70ee34c346ef6c0a586558bd2cd3.png
[2]: https://habrahabr.ru/post/304594/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разрабатываем систему real-time fulltext-поиска по error-логам на основе ClickHouse от Яндекса
habra.16
habrabot(difrex,1) — All
2016-07-02 23:00:03


В этой статье я расскажу о том, как разработать систему для индексирования и полнотекстового поиска error-логов (или любых других логов) на основе СУБД от Яндекса под названием ClickHouse. Про саму базу Яндекс писал на Хабре сначала [когда база была закрытой][1], а потом [когда они её заопенсорсили][2]. База данных в первую очередь предназначена для аналитики и для реализации сервиса Яндекс.Метрика, но может на самом использоваться для чего угодно, если вам подходит загружать данные пачками, удалять их тоже огромными пачками и никогда не обновлять отдельные строки.


# Что мы будем делать


Мы будем реализовывать систему для индексирования и поиска по error-логам. При этом, считается, что сами логи вы уже сумели доставить на центральный сервер (или несколько серверов) и уже засунули сами тексты сообщений в базу, то есть у вас уже есть таблица в какой-нибудь базе данных примерно следующего вида:

CREATE TABLE Messages (
message_id BIGINT PRIMARY KEY AUTO_INCREMENT,
created_ts DATETIME,
message_text BLOB
)


Мы научимся быстро отдавать результаты поиска по такому логу (то есть, всегда отсортированные по времени) и индексировать его в режиме реального времени.

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

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

[>] PVS-Studio спешит на помощь CERN: проверка проекта Geant4
habra.16
habrabot(difrex,1) — All
2016-07-03 21:30:03


![PVS-Studio спешит на помощь CERN][1]Проект Geant4 продолжает развиваться, поэтому интересно вновь проверить его с помощью статического анализатора кода PVS-Studio. На этот раз проверке будет подвергнута версия 10.2 (предыдущая проверка относилась к версии 10.0-beta).
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/7e8/7d7/75b/7e87d775bbfecea8768205717677ff78.png
[2]: https://habrahabr.ru/post/304626/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Четыре способа извлечения значений из скрытых полей в C#
habra.16
habrabot(difrex,1) — All
2016-07-03 22:30:03


Добрый день. Не так давно на хабре проскакивала статья, в которой показывалась возможность обращения к закрытым полям объекта из другого экземпляра того же класса.

public class Example
{
private int JustInt;

// Some code here

public void DoSomething(Example example)
{
this.JustInt = example.JustInt; // Вполне валидная строка, некоторых удивляет
}
}

[Почему бы не пойти дальше, и не забирать данные из скрытых полей иных классов?][1]

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

[>] Дайджест интересных событий из мира Java, и вокруг нее #5 (20.06.2016 — 03.07.2016)
habra.16
habrabot(difrex,1) — All
2016-07-04 13:00:04


![image][1]


## В этом выпуске


— **Microprofile**: очередная попытка реанимации **Java EE**
— Заденет ли **Brexit** Java-разработчиков?
— Раскладываем по полочкам **Java Memory Model**
— Профилирование: слабые стороны **AsyncGetCallTrace**
… и многое другое
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/3c6/1de/bf1/3c61debf1a6dddcd1b92c67e3f108f83.jpg
[2]: https://habrahabr.ru/post/304624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Одна неочевидная уязвимость некоторых групп вконтакте
habra.16
habrabot(difrex,1) — All
2016-07-04 13:30:04


Допустим, у некоторой организации появилась задача – зарегистрировать официальную группу или страницу вконтакте. Сразу возникает вопрос – с какого аккаунта это делать? А вдруг пользователи зайдут на страницу сотрудника, увидят там обнаженку, расчленёнку и вот это всё? Личная страница ведь не должна удовлетворять корпоративным стандартам. Возникает идея — зарегистрировать новый «рабочий» аккаунт.


#### Небольшой подвох


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

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


#### Проходит несколько лет


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

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

[>] «Противостояние» глазами защитника: Рассказ о PHDays CTF от участника соревнований
habra.16
habrabot(difrex,1) — All
2016-07-04 14:00:03


[![][1]][2]

В этом году главный хакерский конкурс PHDays сменил формат: мы отошли от привычного CTF. Вместо этого на форуме развернулась настоящая битва хакеров и безопасников. В этот раз сражались три команды: «хакеры», «защитники» и SOC (security operations centers). События на полигоне соревнования были максимально приближены к реальности. В распоряжении команд находилась эмуляция города, в котором есть банк, телеком-оператор, офис крупного холдинга, электроэнергетическая компания и другие объекты.

Андрей Дугин, участвовавший в CityF на стороне защиты, в своем блоге [подробно описал][3] ход соревнований и свои впечатления. С разрешения автора мы собрали все его публикации в один хабратопик. [Читать дальше →][4]

[1]: https://habrastorage.org/files/7ed/721/86a/7ed72186a1934479ae4033457b7b9229.png
[2]: https://habrahabr.ru/company/pt/blog/304638/
[3]: http://aodugin.blogspot.ru/search/label/PHDays
[4]: https://habrahabr.ru/post/304638/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ... 133