RSS
Pages: 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 ... 133
[>] [Перевод] Я написал самую быструю хеш-таблицу
habra.16
habrabot(difrex,1) — All
2017-03-06 17:30:03


![image][1]



В конце концов я должен был к этому прийти. Когда-то я опубликовал статью «[Я написал быструю хеш-таблицу][2]», а потом ещё одну — «[Я написал ещё более быструю хеш-таблицу][3]». Теперь я завершил работу над самой быстрой хеш-таблицей. И под этим я подразумеваю, что реализовал самый быстрый поиск по сравнению со всеми хеш-таблицами, какие мне только удалось найти. При этом операции вставки и удаления также работают очень быстро (хотя и не быстрее конкурентов).



Я использовал хеширование по алгоритму Robin Hood с ограничением максимального количества наборов. Если элемент должен быть на расстоянии больше Х позиций от своей идеальной позиции, то увеличиваем таблицу и надеемся, что в этом случае каждый элемент сможет быть ближе к своей желаемой позиции. Похоже, такой подход действительно хорошо работает. Величина Х может быть относительно невелика, что позволяет реализовать некоторые оптимизации внутреннего цикла поиска по хеш-таблице.



Если вы хотите только попробовать её в работе, то можете скачать [отсюда][4]. Либо пролистайте вниз до раздела «Исходный код и использование». Хотите подробностей — читайте дальше.

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

[1]: https://habrastorage.org/files/ae9/0bc/82c/ae90bc82ce48463b84451d079dcc4a8c.jpg
[2]: https://probablydance.com/2014/05/03/i-wrote-a-fast-hash-table/
[3]: https://probablydance.com/2014/05/31/i-wrote-a-faster-hash-table/
[4]: https://github.com/skarupke/flat_hash_map/blob/master/flat_hash_map.hpp
[5]: https://habrahabr.ru/post/323242/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Открытый курс машинного обучения. Тема 2: Визуализация данных c Python
habra.16
habrabot(difrex,1) — All
2017-03-06 17:30:03




Привет всем, кто начал проходить курс! Новые участники, добро пожаловать! Второе занятие посвящено визуализации данных в Python. Сначала мы посмотрим на основные методы библиотек Seaborn и Plotly, затем поанализируем знакомый нам по [первой статье][1] набор данных по оттоку клиентов телеком-оператора.



Напомним, что к курсу еще можно подключиться, дедлайн по 1 домашнему заданию – 6 марта 23:59.



Сейчас статья уже будет существенно длиннее. Готовы? Поехали!


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

[1]: https://habrahabr.ru/company/ods/blog/322626/
[2]: https://habrahabr.ru/post/323210/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обезьянка со скрипкой, или как я неожиданно сэкономил 790 рублей с помощью Fiddler
habra.16
habrabot(difrex,1) — All
2017-03-06 18:00:05


[![][1]][2]

TL;DR: случайно нашёл простой способ купить платный сервис за 1 рубль вместо полной суммы. Сообщил об этом администраторам ресурса, в итоге получил год подписки бесплатно. Для прожжёных багхантеров – ничего интересного.)
[Остальных - милости прошу под кат][3]

[1]: https://habrastorage.org/files/72c/203/387/72c203387b3b4d0c9700147957f4122f.png
[2]: https://habrahabr.ru/post/266175/#habracut
[3]: https://habrahabr.ru/post/266175/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как взламывают телеком-провайдеров: разбор реальной атаки
habra.16
habrabot(difrex,1) — All
2017-03-06 19:00:03


[![][1]][2]

_Изображение: Kevin Spencer | [Flickr][3]_

Очень часто киберпреступники используют для взломов распространенные механики, а также недостатки защиты и уязвимости ИТ-систем. Этот тезис подтверждает этот тезис и пример одного из расследований атаки на телекоммуникационную компанию из Восточной Европы — о нем мы сегодня расскажем подробнее. [Читать дальше →][4]

[1]: https://habrastorage.org/files/a91/c18/abe/a91c18abea1a4601a48f0dff59c133f2.png
[2]: https://habrahabr.ru/company/pt/blog/323292/
[3]: https://www.flickr.com/photos/vek/
[4]: https://habrahabr.ru/post/323292/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Программа на Python для статистического анализа текста
habra.16
habrabot(difrex,1) — All
2017-03-06 21:00:04


![][1]

Задача подсчета частоты употребления определенных букв в английских и русских текстах является одним из этапов лингво-статистического анализа. В каталоге [Каталог лингвистических программ и ресурсов в Cети][2] отсутствует программа на Python для решения указанной задачи.

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

[1]: https://habrastorage.org/files/c15/fa6/11b/c15fa611bf9c498e842bc69a12d4cd92.JPG
[2]: http://rvb.ru/soft/catalogue/catalogue.html
[3]: https://habrahabr.ru/post/323252/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Что нового в подходах к автоматизированному тестированию? Выясняем 15 марта в Питере
habra.16
habrabot(difrex,1) — All
2017-03-06 21:00:04


![][1]

На следующей неделе 15 марта в питерском офисе [Wrike][2] состоится [встреча по автоматизированному тестированию][3]. Встреча будет посвящена обзору новых эффективных подходов и инструментов в сфере автоматизации тестирования. Мы оценим их применимость в тех или иных кейсах, постараемся дать конкретные советы и рекомендации, как они могут быть применимы для ваших конкретных задач. Эксперты с удовольствием ответят на ваши вопросы. Встреча будет интересна как специалистам по автоматическому тестированию, так и разработчикам, пишущим автотесты.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/5be/165/583/5be1655830b8469e855e26b8f9c6390f.jpg
[2]: http://www.wrike.com/ru
[3]: https://wriketeam.timepad.ru/event/452277/
[4]: https://habrahabr.ru/post/323324/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Книга «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих»
habra.16
habrabot(difrex,1) — All
2017-03-06 21:00:04


![image][1] Алгоритмы — это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузиться в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время?

Откройте великолепно иллюстрированную книгу, и вы сразу поймете, что алгоритмы — это просто. А грокать алгоритмы — это веселое и увлекательное занятие.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/9c2/836/cdb/9c2836cdbc5d4ba5a84e4908dd8caf6c.jpg
[2]: https://habrahabr.ru/post/323310/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конкурс Тьюринга студенческих работ по теор. информатике и дискретной математике
habra.16
habrabot(difrex,1) — All
2017-03-07 06:30:04


В прошлом году в Академическом университете прошел первый конкурс студенческих работ по теоретической информатике и дискретной математике им. Алана Тьюринга. Недавно мы объявили [второй конкурс ][1](срок подачи работ 10 мая 2017 года), а в этой статье мы расскажем об [итогах первого конкурса][2].
![][3]
[Читать дальше →][4]

[1]: http://mit.spbau.ru/turingcontest
[2]: http://mit.spbau.ru/tuco2016final
[3]: https://habrastorage.org/files/5cb/4e7/fed/5cb4e7fed55746b691ab22fc25bb9b90.jpg
[4]: https://habrahabr.ru/post/323300/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Алгоритм шифрования на основе элементарных клеточных автоматов
habra.16
habrabot(difrex,1) — All
2017-03-07 11:00:04


Здравствуйте, дорогие жители Хабра! В этой публикации (а, скорее всего, и цикле) я расскажу о моей реализации одного из алгоритмов шифрования. Почему о реализации? Потому что идея не нова, и утверждать то, что задумка принадлежит именно мне, нельзя. Но способ достаточно интересный, поэтому узнать о нём стоит.

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

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

[>] [Перевод] Uber — причины перехода с Postgres на MySQL
habra.16
habrabot(difrex,1) — All
2017-03-07 12:30:04


![][1]


В конце июля 2016 года в корпоративном блоге Uber появилась поистине историческая статья о причинах перехода компании с PostgreSQL на MySQL. С тех пор в жарких обсуждениях этого материала было сломано немало копий, аргументы Uber были тщательно препарированы; компанию обвинили в предвзятости, технической неграмотности, неспособности эффективно взаимодействовать с сообществом и других смертных грехах, при этом по горячим следам в Postgres было внесено несколько изменений, призванных решить некоторые из описанных проблем. Список последствий на этом не ограничился, и его можно продолжать еще очень долго.



Наверное, не будет преувеличением сказать, что за последние несколько лет это было одно из самых громких и резонансных событий, связанных с СУБД PostgreSQL, которую мы, к слову сказать, очень любим и широко используем. Эта ситуация наверняка пошла на пользу не только упомянутым системам, но и движению Free and Open Source в целом. При этом, к сожалению, русского перевода статьи так и не появилось. Ввиду значимости события, а также подробного и интересного с технической точки зрения изложения материала, в котором в стиле Postgres vs MySQL идет сравнение физической структуры данных на диске, организации первичных и вторичных индексов, репликации, MVCC, обновлений и поддержки большого количества соединений, мы решили восполнить этот пробел и сделать перевод оригинальной статьи. Результат вы можете найти под катом.

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

[1]: https://habrastorage.org/files/af4/865/0dc/af48650dc1ab446d8989ba1bb6a0afef.png
[2]: https://habrahabr.ru/post/322624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Красиво «взламываем» ООП с помощью C++14
habra.16
habrabot(difrex,1) — All
2017-03-07 16:30:04


![][1]

# Вступление


Недавно при работе над проектом учебной практики возникла потребность из своего кода порождать произвольный процесс и одновременно читать его stdout и stderr. Так как приложение пишется исключительно для linux, я решил заодно разобраться с [epoll][2]. Для запуска процесса на просторах интернета была найдена маленькая библиотека, делающая как раз то, что нужно, да еще и оборачивающая ввод-вывод в привычные потоки из стандартной библиотеки (речь о <iostream>).


Вооружившись несколькими статьями про epoll, я уже было собирался писать код, если бы не одно «но» — для epoll нужен доступ к «сырым» файловым дескрипторам, а автор библиотеки не предоставляет public-доступа к ним. Методы класса, возвращающие дескрипторы, скрыты под грифом «protected».


### Что делать?


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

Поэтому в голову пришла безумная третья мысль: почему бы не попытаться как-то красиво «взломать» ООП и «легально» получить доступ к protected-методу без вмешательства в исходный код библиотеки? О том, какие преграды возникли на этом пути и как помог C++14 в их преодолении, и пойдет рассказ в данной публикации.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/666/11f/b69/66611fb69ffa4ae3b0f7a8b69bc43726.png
[2]: https://ru.wikipedia.org/wiki/Epoll
[3]: https://habrahabr.ru/post/323412/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


[![][1]][2]

_Изображение: [Daniel Friedman][3], Flickr_

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

Для решения одной из таких задач — разбора уязвимостей в ходе [тестов конкурентного анализа][4], мы разработали собственный [универсальный классификатор][5]. О том, как работает этот инструмент, и каких результатов позволяет добиваться, и пойдет речь в нашем сегодняшнем материале. [Читать дальше →][6]

[1]: https://habrastorage.org/files/875/e3a/d60/875e3ad602d54a84ad7ba50379f84e3e.jpg
[2]: https://habrahabr.ru/company/pt/blog/323436/
[3]: https://www.flickr.com/photos/daniel_friedman/
[4]: https://habrahabr.ru/company/pt/blog/321354/
[5]: https://habrahabr.ru/company/pt/blog/246197/
[6]: https://habrahabr.ru/post/323436/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Теоретические основы сплайн-интерполяции или почему IQ тесты не имеют решения
habra.16
habrabot(difrex,1) — All
2017-03-07 21:00:04


![][1]
Доброго времени, Хабр!

Куча времени прошла с того момента, как я написал свою [первую статью][2], и уже почти год с того момента, как пришла в голову идея для второй. В силу многих обстоятельств (в первую очередь – лени и забывчивости), эта идея так и не была реализована ранее, но сейчас я собрался, написал весь этот материал и готов представить его вашему вниманию.

Начну с небольшой вводной. Будучи студентом 4-го, на тот момент, курса бакалавриата, я изучал курс «Компьютерная графика». Много там было разных интересных (и не очень) заданий, но одно прямо особо запало мне в душу: интерполяция кубическими сплайнами с заданными первыми производными на концах интервала. Пользователь должен был задавать значения первых производных, а программа — считать и выводить на экран интерполяционную кривую. Особенность и основная сложность задания заключена в том, что задаются именно первые производные, а не вторые, как в классической постановке сплайн-интерполяции.
Как я ее решал, и к чему оно в итоге пришло, я как раз и изложу в этой статье. И да, если по описанию задачи вы не поняли ни в чем ее смысл, ни в чем сложность, не переживайте, все это я также постараюсь раскрыть. Итак, поехали.

А, нет, погодите один момент. Вот вам два числовых ряда:
a) 2, 4, 6, 8, **?**
b) 1, 3, **?**, 7, 9

Какие числа должны стоять на месте вопросов и почему? Вы действительно уверены в своем ответе?
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/8ba/edc/969/8baedc96962a52a7fc88b5fcbedbc9b3.jpg
[2]: https://habrahabr.ru/post/210942/
[3]: https://habrahabr.ru/post/323442/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Exploit Exercises: Введение в эксплуатацию бинарных уязвимостей на примере Protostar
habra.16
habrabot(difrex,1) — All
2017-03-07 21:30:03


![][1]

Всем доброго времени суток. Продолжаем разбор заданий с сайта [Exploit Exercises][2], и сегодня будут рассмотрены основные типы бинарных уязвимостей. Сами задания доступны по [ссылке][3]. На этот раз нам доступны 24 уровня, по следующим направлениям:

* Network programming
* Byte order
* Handling sockets
* Stack overflows
* Format strings
* Heap overflows[Читать дальше →][4]

[1]: https://habrastorage.org/files/764/980/de3/764980de39794db0943c7951413dcffd.png
[2]: https://exploit-exercises.com
[3]: https://exploit-exercises.com/protostar/
[4]: https://habrahabr.ru/post/320460/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как вернуться в кодеры, когда за сорок
habra.16
habrabot(difrex,1) — All
2017-03-08 07:00:04


Сколько раз рассказывал коллегам и на собеседованиях. Видимо есть спрос и на Хабре. Кто-то встал перед выбором. Другой сомневается в правильности намеченного пути. Когда выгораешь, такое случается. Кому-то интересно, с чем предстоит столкнуться впереди, или сопоставить своё подобное. Поверьте, это совсем короткая версия объемной тоскливой истории.

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

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

[>] Третья конференция JavaScript-разработчиков в Одессе — JS Lab
habra.16
habrabot(difrex,1) — All
2017-03-08 11:00:04


![][1]

**25 марта в Одессе** пройдет третья ежегодная конференция JavaScript-разработчиков — **[JSLab][2]**. Наша команда [FlyElephant][3] помогает с организацией этой конференции и приглашает всех принять участие в ней.

В этом году мы планируем собрать 250 front-end и back-end JS-разработчиков из Украины и ближнего зарубежья. Конференция пройдет в два потока, которые будут состоять из 12 докладов по 45 минут и 8 блиц-докладов по 10 минут.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/b72/d58/79c/b72d5879c6d54d1a8ae4849fa5ae7c84.png
[2]: http://jslab.in.ua/
[3]: https://flyelephant.net/
[4]: https://habrahabr.ru/post/323408/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Новое на PHDays VII: взлом IPv6-сетей, WAF-ы будущего и дырявые POS-терминалы
habra.16
habrabot(difrex,1) — All
2017-03-08 11:00:04


[![image][1]][2]

Подготовка к PHDays VII идет полным ходом. В начале года мы получили [50 заявок на доклады и воркшопы][3] из России, Европы, Азии, Африки, Северной и Южной Америки, а 1 февраля стартовал второй этап Call for Papers. Как и обещали, анонсируем первую группу участников, вошедших в основную техническую программу. В этом году слушатели PHDays узнают, как взломать IPv6-сети, как крадут деньги с помощью POS-терминалов и каким будет WAF следующего поколения. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/132/270/62a/13227062a43aecc70f09be1eab5e818a.jpg
[2]: https://habrahabr.ru/company/pt/blog/323410/
[3]: http://www.phdays.ru/press/news/160666/
[4]: https://habrahabr.ru/post/323410/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] OSSEC заметка по настройке парсеров (decoders)
habra.16
habrabot(difrex,1) — All
2017-03-08 11:00:04


Приветствую уважаемое сообщество. В данной статье я хочу описать несколько важных (на мой взгляд) моментов, которые нужно иметь ввиду при настройке программного обеспечения OSSEC (HIDS, SIEM система). Официальная документация по системе представлена в достаточно большом объеме на просторах сети, однако некоторые важные моменты абсолютно нигде не описываются. В качестве «путевых заметок» приведу их ниже. Сразу оговорюсь, что описывать установку системы, развертывание агентов, первичную настройку я не буду. Т.е. предполагаю, что читатель уже знает, что такое decoder и rule в контексте OSSEC. Все нижеперечисленное было проверено на версии по 2.8.1, возможно в будущих версиях это пофиксят. Итак, в бой.
[Читать дальше →][1]

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

[>] [Перевод] Каскадная трассировка воксельных конусов в игре The Tomorrow Children
habra.16
habrabot(difrex,1) — All
2017-03-08 15:00:04




## Что: трассировка каскадов воксельных конусов


Для _The Tomorrow Children_ мы реализовали инновационную систему освещения, основанную на трассировке воксельных конусов. Вместо использования традиционных систем прямого или отложенного освещения мы создали систему, освещавшую всё в мире трассировкой конусов через воксели.

Таким способом обрабатывается и прямое, и отражённое освещение. Он позволяет нам рассчитывать на PlayStation 4 три отражения глобального освещения в полудинамических сценах. Мы трассируем конусы в 16 фиксированных направлениях через шесть каскадов 3D-текстур и выполняем поглощение света с помощью направленного затенения в экранном пространстве (Screen Space Directional Occlusion) и сферическими окклюдерами динамических объектов для получения конечного результата. Движок также поддерживает модель сферического освещения на основе гармоник, что позволяет рассчитывать освещение частиц и реализовать спецэффекты, например аппроксимированное подповерхностное рассеяние (approximating subsurface scattering) и преломляющие материалы.
[Читать дальше →][1]

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

[>] GitHub Pages, как хостинг для сайта-визитки на 8 марта
habra.16
habrabot(difrex,1) — All
2017-03-08 16:30:03


Что такое HTML, CSS, JavaScript и Bootstrap фреймворк сложно объяснять человеку который далек от IT. А что если нужен сайт на бесплатном хостинге, без привязки к онлайн конструкту именно этого хостинга!?

![][1]

Как думаете, реально научить девушку обновлять свой сайт на GitHub Pages к Международному женскому дню!? Расскажу как мне это удалось с помощью генератора сайта, который доступен на [Github][2] и написан на Java + FreeMarker, к тому же старался автоматизировать публикацию контента в git репозитарий.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/98d/3bb/3ae/98d3bb3aef904d32bae88c5ac4af611a.jpg
[2]: https://github.com/nadinbox89/site
[3]: https://habrahabr.ru/post/323430/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Запуск WebRTC медиасервера в облаке Amazon EC2 для Live видеотрансляций из браузеров и мобильных приложений
habra.16
habrabot(difrex,1) — All
2017-03-08 23:30:03


![][1]



## AWS Marketplace


Прежде всего хотелось бы сказать несколько слов о маркете [Amazon AWS Marketplace][2]. В отличии от **Google Play** и **App Store**, где выкладываются мобильные приложения, на AWS разработчики выкладывают серверные приложения. Здесь можно найти много интересного, начиная от бесплатного стека **LAMP** и заканчивая серверными Enterprise-решениями вроде **SAP**.

Прелесть работы с маркетом кроется в быстроте и удобстве развертывания. Требуемый сервер приложений, как правило, уже настроен, оптимально сконфигурирован и будет запущен во время запуска самого **EC2 инстанса** (виртуального сервера Amazon EC2). Запуск инстанса происходит из веб-интерфейса и не требует каких-то дополнительных админских знаний и умений. [Читать дальше →][3]

[1]: https://habrastorage.org/files/238/8a1/012/2388a101205f4fabb197320bb536926a.png
[2]: https://aws.amazon.com/marketplace
[3]: https://habrahabr.ru/post/323376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ansible: настраиваем zsh терминал с autosuggestions, fzf и красивым prompt одной командой
habra.16
habrabot(difrex,1) — All
2017-03-09 10:00:04


Я провожу в терминале много времени, поэтому хочется, чтобы все было красиво, быстро и удобно.
Из этого рождается постоянное желание его настраивать, пробовать разные плагины.
Шеллом я выбрал для себя zsh лет 5 назад, пару лет назад нашел oh-my-zsh для его удобной настройки.
Со временем к этому конфигу добавились некоторые сбоку торчащие части в виде powerline и percol.



Недавно я решил пересобрать все так, чтобы избавиться от ненужных плагинов, добавить нужные, сделать легкую установку и обновление. В итоге появилась роль [ansible-role-zsh][1], которая полностью настраивает терминалы на локалке и на моих серверах.



### Особенности: {#osobennosti}


* устанавливается одной командой (кроме шрифта и темы вашего терминального клиента)
* быстро загружается, быстро работает
* полностью настраивается через ansible, `~/.zshrc`
* полностью локальная (в систему ничего не ставится, все хранится в `~/.oh-my-zsh`)
* оставляет возможность юзеру вносить свои настройки через `~/.zshrc.local`
* одинаково работает на macOS, старом Debian, Ubuntu
* нормально выглядит на разных цветовых схемах (но лучше всего на Solarized Dark)
* встроенная подсветка синтаксиса (помогает реже ошибаться и лучше читать длинные команды)
* автодополнение по истории команд (помогает реже нажимать `Ctrl+R`)
* отображение времени для долго выполняемых команд (помогает реже использовать `time`)

Демонстрация фич за 1 минуту:


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

[1]: https://github.com/viasite-ansible/ansible-role-zsh
[2]: https://habrastorage.org/files/6f9/660/ea1/6f9660ea10c84be7872ea3ef68c80146.gif
[3]: https://habrahabr.ru/post/323496/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я настраивал новые утилиты по работе с электронной подписью в Linux
habra.16
habrabot(difrex,1) — All
2017-03-09 12:00:04


![][1]

Поговорим немного про средства электронной подписи (ЭП) с использованием отечественных ГОСТ-алгоритмов в Linux. Несмотря на то, что различные средства и интерфейсы по работе с ЭП в Linux развиты даже лучше, чем в Windows, использовать их не так просто.

Такое положение вещей сохранялось последние несколько лет. Но с конца 2016 года ситуация изменилась в лучшую сторону. Появилось сразу два продукта, которые позволяют работать с электронной подписью по стандарту ГОСТ и шифрованием без использования консоли – это Rosa Crypto Tool и Trusted eSign. Оба эти продукта для работы с криптографией используют «КриптоПро CSP» для Linux. Поэтому, перед тем как обратиться к описанию самих продуктов, поговорим немного про «КриптоПро CSP». [Читать дальше →][2]

[1]: https://habrastorage.org/files/890/f32/4a1/890f324a10d3481481b3de31ae8f3e0f.jpg
[2]: https://habrahabr.ru/post/323170/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] GitHub Pages для сайта-визитки на 8 марта
habra.16
habrabot(difrex,1) — All
2017-03-09 13:30:03


Что такое HTML, CSS, JavaScript и Bootstrap фреймворк сложно объяснять человеку который далек от IT. А что если нужен сайт на бесплатном хостинге, без привязки к онлайн конструкту именно этого хостинга!?

![][1]

Как думаете, реально научить девушку обновлять свой сайт на GitHub Pages к Международному женскому дню!? Расскажу как мне это удалось с помощью генератора сайта, который доступен на [Github][2] и написан на Java + FreeMarker, к тому же старался автоматизировать публикацию контента в git репозитарий.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/98d/3bb/3ae/98d3bb3aef904d32bae88c5ac4af611a.jpg
[2]: https://github.com/nadinbox89/site
[3]: https://habrahabr.ru/post/323430/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] GitHub Pages для сайта на 8 марта
habra.16
habrabot(difrex,1) — All
2017-03-09 15:00:05


Что такое HTML, CSS, JavaScript и Bootstrap фреймворк сложно объяснять человеку который далек от IT. А что если нужен сайт на бесплатном хостинге, без привязки к онлайн конструкту именно этого хостинга!?

![][1]

Как думаете, реально научить девушку обновлять свой сайт на GitHub Pages к Международному женскому дню!? Расскажу как мне это удалось с помощью генератора сайта, который доступен на [Github][2] и написан на Java + FreeMarker, к тому же старался автоматизировать публикацию контента в git репозитарий.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/98d/3bb/3ae/98d3bb3aef904d32bae88c5ac4af611a.jpg
[2]: https://github.com/nadinbox89/site
[3]: https://habrahabr.ru/post/323430/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему мы уверены в том, что развернули
habra.16
habrabot(difrex,1) — All
2017-03-09 16:00:04


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

[1]: https://habrastorage.org/files/901/ddb/616/901ddb61625c4d6b8640d6f0ff1e61f8.jpg
[2]: https://habrahabr.ru/post/323472/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Анализ исходного кода Duke Nukem 3D: Часть 1
habra.16
habrabot(difrex,1) — All
2017-03-09 17:00:05


![image][1]

Уйдя с работы в Amazon, я провёл много времени за чтением отличного исходного кода.

[Разобравшись][2] [с][3] [невероятно][4] [замечательным][5] [кодом][6] [idSoftware][7], я принялся за одну из [лучших игр всех времён][8]: Duke Nukem 3D и за её движок под названием "_Build_".

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

Как обычно, я переработал [свои заметки][9] в статью. Надеюсь, она вдохновит вас на чтение исходного кода и совершенствование своих навыков.
[Читать дальше →][10]

[1]: http://fd.fabiensanglard.net/duke3d/palette_fix.png
[2]: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php
[3]: http://fabiensanglard.net/quakeSource/index.php
[4]: http://fabiensanglard.net/wolf3d/index.php
[5]: http://fabiensanglard.net/quake3/index.php
[6]: http://fabiensanglard.net/quake2/index.php
[7]: http://fabiensanglard.net/doom3/index.php
[8]: http://en.wikipedia.org/wiki/List_of_best-selling_PC_video_games
[9]: http://fabiensanglard.net/duke3d/notes.txt
[10]: https://habrahabr.ru/post/323426/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Анализ рекомендаций книг для разработчиков со Stack Overflow средствами Python
habra.16
habrabot(difrex,1) — All
2017-03-09 17:00:05


Определиться, какую книгу по программированию читать следующей, трудно, да и рискованно.

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



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

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

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

[>] Cкринкастинг на сайте по WebRTC из браузера Chrome
habra.16
habrabot(difrex,1) — All
2017-03-09 18:00:04


![][1]



## Cкринкастинг в Chrome


Cкринкастинг (демонстрация экрана, скриншаринг) уже работает в браузере Google Chrome и позволяет захватывать как окно самого браузера, так и окно любого другого приложения. Например можно захватить Firefox, запущенный в соседнем окне.

Все бы замечательно, но есть проблема с безопасностью. В браузере Chrome скринкастинг выключен.

Для его включения необходимо воспользоваться **Chrome Desktop Capture API** и мы покажем в этой статье как это сделать.


## Расширение для скринкастинга


Чтобы скринкастинг заработал, юзер должен установить ваше расширение (Chrome Extension), которое создано специально для вашего сайта (домена). [Читать дальше →][2]

[1]: https://habrastorage.org/files/61a/6a6/661/61a6a666156f444d9879dd67fca9200a.png
[2]: https://habrahabr.ru/post/323486/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Wayland на замену X Window System
habra.16
habrabot(difrex,1) — All
2017-03-09 20:00:04


В [предыдущем посте][1] мы узнали, почему X Window System — один из самых успешных проектов с открытым кодом в истории, пора заменить на новое решение для графического окружения Linux. В этой же статье мы узнаем, каков из себя _Wayland_ — наиболее вероятный кандидат на замену X.


![][2]



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

[1]: https://habrahabr.ru/post/321470/
[2]: https://habrastorage.org/getpro/habr/post_images/bb8/fc1/16d/bb8fc116db00da7b8dbd701de4eef069.png
[3]: https://habrahabr.ru/post/322580/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Speech AI с Python & Google API
habra.16
habrabot(difrex,1) — All
2017-03-09 21:00:05


# Speech AI с Python & Google API {#speech-ai-s-python--google-api}



![image][1]



## Добрый день! {#dobryy-den}



Совсем недавно пришла в голову идея сделать "говорилку" на русском языке. В голове была простенькая схема наподобие:



1) Распознать речь с микрофона
2) Придумать более — менее разумный ответ.
В этом пункте можно сделать много интересного.
Например реализовать управление чем — нибудь физическим и не очень.
3) Преобразовать этот самый ответ в речь и воспроизвести.



Самое интересное, что для всех этих пунктов нашлись библиотеки под Python, чем я и воспользовался.



В итоге получилась связка, практически не зависящая от выбранного в качестве разговорного языка.

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

[1]: https://habrastorage.org/files/b93/1f4/ed6/b931f4ed6905407f8d8869611c104cec.png
[2]: https://habrahabr.ru/post/323570/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Wayland, как замена X Window System
habra.16
habrabot(difrex,1) — All
2017-03-10 00:00:04


В [предыдущем посте][1] мы узнали, почему X Window System — один из самых успешных проектов с открытым кодом в истории, пора заменить на новое решение для графического окружения Linux. В этой же статье мы узнаем, каков из себя _Wayland_ — наиболее вероятный кандидат на замену X.


![][2]



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

[1]: https://habrahabr.ru/post/321470/
[2]: https://habrastorage.org/getpro/habr/post_images/bb8/fc1/16d/bb8fc116db00da7b8dbd701de4eef069.png
[3]: https://habrahabr.ru/post/322580/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как делать больше, уставая меньше. Emacs pomidor
habra.16
habrabot(difrex,1) — All
2017-03-10 12:00:04


## Вступление {#vstuplenie}



С возрастом моя работоспособность не становится выше. Теперь я не могу сидеть
по 6 часов не вставая: спина, шея, глаза — все это начинает рано или
поздно болеть.



Сейчас эта проблема особенно актуальна, потому что наша [игра][1] уже запущена в
раннем доступе, и нужно сломя голову нестись к релизу.

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

[1]: https://github.com/TatriX/rogalia
[2]: https://habrahabr.ru/post/323576/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Check Point. Что это, с чем его едят или коротко о главном
habra.16
habrabot(difrex,1) — All
2017-03-10 13:30:06


![][1]
Здравствуйте, уважаемые читатели хабра! Это корпоративный блог компании [TS Solution][2]. Мы являемся системным интегратором и по большей части специализируемся на решениях безопасности ИТ-инфраструктуры ([Check Point][3], [Fortinet][4]) и системах анализа машинных данных ([Splunk][5]). Начнем мы наш блог с небольшого введения в технологии Check Point.

Мы долго размышляли над тем, стоит ли писать данную статью, т.к. в ней нет ничего нового, чего нельзя было бы найти в сети Интернет. Однако, несмотря на такое обилие информации при работе с клиентами и партнерами мы довольно часто слышим одни и те же вопросы. Поэтому было решено написать некое введение в мир технологий Check Point и раскрыть суть архитектуры их решений. И все это в рамках одного “небольшого” поста, так сказать быстрый экскурс. Причем мы постараемся не вдаваться в маркетинговые войны, т.к. мы не вендор, а просто системный интегратор (хоть мы и очень любим Check Point) и просто рассмотрим основные моменты без их сравнения с другими производителями (таких как Palo Alto, Cisco, Fortinet и т.д.). Статья получилась довольно объемной, зато отсекает большую часть вопросов на этапе ознакомления с Check Point. Если вам это интересно, то добро пожаловать под кат…
[Читать дальше →][6]

[1]: https://habrastorage.org/files/cea/4ff/f51/cea4fff5191c406a8574b9bc72d3c6ff.PNG
[2]: http://tssolution.ru/
[3]: http://tssolution.ru/checkpoint/
[4]: http://tssolution.ru/fortinet/
[5]: http://tssolution.ru/splunk/
[6]: https://habrahabr.ru/post/323606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Предварительная программа DUMP готова. Выступят докладчики из Dropbox, JetBrains, Mozilla, Mail.Ru, Яндекса, Rambler&Co
habra.16
habrabot(difrex,1) — All
2017-03-10 13:30:06


Привет Хабр! 14 апреля в Екатеринбурге в седьмой раз пройдёт конференция [DUMP][1]. Доклады будут идти в 8 секциях: FrontTalks, Serverside, Mobile, Design, DevOps, Тестирование, Management, Science.

Программа получается отличной: Григорий Бакунов (Яндекс), Леонид Васильев (Dropbox), Никита Прокопов (Cognician), Андрей Акиньшин (JetBrains), Александр Блинов (RedMadRobot), Юрий Ветров (Mail.Ru Group), Денис Кортунов (Acronis), Сергей Рассказов (Школа шрифтового дизайна), Александр Орлов (Стратоплан) — считаем, такое нельзя пропускать. Подробности программы — под катом.

![image][2]
_Помните эти наклейки? В прошлом году мы придумали их специально для конференции. А еще есть такие же [стикеры для телеграма][3]_
[Читать дальше →][4]

[1]: http://dump-conf.ru/?utm_source=habr&utm_campaign=9.03&utm_medium=post
[2]: https://habrastorage.org/files/129/b6d/d12/129b6dd123d341ab9986200c146501bf.jpg
[3]: https://telegram.me/addstickers/DUMP2016
[4]: https://habrahabr.ru/post/323616/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Состоялся релиз OpenVAS 9
habra.16
habrabot(difrex,1) — All
2017-03-10 15:00:04


![][1]

OpenVAS (Open Vulnerability Assessment System, Открытая Система Оценки Уязвимости, первоначальное название GNessUs) фреймворк состоящий из нескольких сервисов и утилит, позволяющий производить сканирование узлов сети на наличие уязвимостей и управление уязвимостями.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/8dc/93f/717/8dc93f717a71404e94ad6d736651b323.png
[2]: https://habrahabr.ru/post/323568/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ищем спикеров на Go meetup 14 апреля
habra.16
habrabot(difrex,1) — All
2017-03-10 16:00:04


![][1]

Наше внутреннее сообщество Go-разработчиков в Mail.Ru Group активно развивается, коллеги регулярно встречаются для обмена опытом и полезными ресурсами. Мы знаем, как важно общаться с людьми из других команд и проектов, иметь возможность спросить совета, обсуждать только что появившиеся технологии и поделиться опытом. Около полугода назад в нашем офисе уже проходила встреча разработчиков на Go, и сейчас этот язык все еще вызывает большой интерес. Поэтому 14 апреля мы организуем очередной Go meetup. Приглашаем спикеров! От Mail.Ru Group уже заявлен один доклад. Подробности под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/f6e/257/f27/f6e257f276704bcca6d544dd9e5a304e.jpg
[2]: https://habrahabr.ru/post/323446/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Видеозаписи: февральский TechLeads-митап в офисе Badoo
habra.16
habrabot(difrex,1) — All
2017-03-10 16:00:04


![enter image description here][1]



В феврале мы провели [наш второй митап][2] для лидов, руководителей отделов, СТО и неравнодушных. Для всех, кто не смог прийти и посмотреть выступления живьем, публикуем видео (и, конечно, слайды). Тема всего митапа: _как создать и сохранить динамичную разработку в условиях постоянного роста команды и изменений в компании_.

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

[1]: https://habrastorage.org/files/44a/8a2/1d4/44a8a21d409c4800aed9b4266f9acd4f.JPG
[2]: https://habrahabr.ru/company/badoo/blog/320622/
[3]: https://habrahabr.ru/post/323630/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Расширения Intel Software Guard Extensions, учебное руководство. Часть 6, две ветви кода
habra.16
habrabot(difrex,1) — All
2017-03-10 21:00:05


![][1]

В шестой части серии учебных материалов, посвященных расширениям [Intel Software Guard Extensions][2] (Intel SGX), мы временно откладываем анклав в сторону, чтобы заняться выполнением другого требования, которое мы изложили [во второй части][3] (проект приложения): мы посвятим эту серию поддержке двух ветвей кода. Нужно, чтобы наше приложение Tutorial Password Manager работало на ПК как с поддержкой Intel SGX, так и без нее. Большая часть содержимого этого материала взята из статьи [Правильное обнаружение расширений Intel Software Guard Extensions в приложениях][4].

Вместе с этой частью серии предоставляется исходный код.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/d97/d65/513/d97d65513fd34c58b88f25d3f795e499.jpg
[2]: https://software.intel.com/en-us/sgx
[3]: https://habrahabr.ru/company/intel/blog/317510/
[4]: https://software.intel.com/en-us/articles/properly-detecting-intel-software-guard-extensions-in-your-applications
[5]: https://habrahabr.ru/post/323626/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Хакер выставил на продажу 640 тысяч украденных аккаунтов пользователей PlayStation
habra.16
habrabot(difrex,1) — All
2017-03-10 21:00:05


![image][1]

Пользователь одного из хакерских форумов в даркнете под ником SunTzu583 выставил на продажу 640 тысяч аккаунтов пользователей PlayStation. Дамп данных содержит электронные адреса и незашифрованные пароли пользователей. Стоимость «товара» составляет всего $35,71 (0,0292 биткойна), источник утечки неизвестен.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/fff/f42/3b1/ffff423b14796abf21bc1504cc31f146.png
[2]: https://habrahabr.ru/post/323640/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Спецслужбы США атакуют вендоров. Теперь MikroTik. Патч уже доступен
habra.16
habrabot(difrex,1) — All
2017-03-10 21:30:04


Сначала новость, потом мои рассуждения на эту тему.

**Новость**

Помните прошлогодние утечки об уязвимостях в Cisco и Fotrinet ([раз][1], [два][2], [три][3])? Тенденция сохраняется. 7 марта СМИ опубликовали информацию про очередные секретные данные о наработках спецслужб США в области сетевых технологий — [Vault 7][4]. Среди вендоров был и MikroTik. Представители MikroTik отработали достаточно оперативно. Они сами [проанализировали эти документы и прокомментировали данные об уязвимостях][5]. Заодно выпустив обновлённую версию (8 марта), закрывающую уязвимости. [Читать дальше →][6]

[1]: https://habrahabr.ru/company/eset/blog/307948/
[2]: https://habrahabr.ru/company/eset/blog/308074/
[3]: https://habrahabr.ru/company/pt/blog/308064/
[4]: https://ru.wikipedia.org/wiki/Vault_7
[5]: https://forum.mikrotik.com/viewtopic.php?f=21&t=119308&p=587512#p587512
[6]: https://habrahabr.ru/post/323658/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] NeoQuest 2017: Реверс андроид приложения в задании «Почини вождя!»
habra.16
habrabot(difrex,1) — All
2017-03-11 03:30:04


![][1]
Всем доброго времени суток, сегодня, 10 марта закончился онлайн этап [NeoQuest 2017][2]. Пока жюри подводят итоги и рассылают пригласительные на финал, предлагаю ознакомиться с райтапом одного из заданий: _Greenoid_ за который судя по таблице рейтинга, можно было получить до 85 очков. [Читать дальше →][3]

[1]: https://habrastorage.org/files/c67/487/4ef/c674874ef8324ddda3421154d338abfb.png
[2]: https://2017.neoquest.ru/
[3]: https://habrahabr.ru/post/323656/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 10: удаленное управление по DNS, как Google капчу свою обманул, дыра в плагине к Wordpress
habra.16
habrabot(difrex,1) — All
2017-03-11 08:00:04


Не перевелись еще виртуозы на темной стороне. Какие-то ушлые ребята нашли очередное вредоносное применение многострадальному протоколу DNS. Помните, лет десять назад вошли в моду DDoS-атаки типа DNS Amplification? Так они до сих пор в тренде.

Еще тогда ддосеры додумались использовать замечательные поля TXT в записи DNS. Туда ведь можно поместить произвольные данные, потому организаторы атак регистрировали домен с рандомным именем, а TXT под завязку забивали мусором (благо, в поле влезало до 4 Кб – 16 строк по 256 байт). Запрос — 64 байт, ответ — 3,8 Кб (чтобы уместиться в UDP), жертва получает трафик по курсу 1:60, и ее канал, а то и канал ее провайдера, говорит «ква» уже от нескольких десятков ботов.
[Читать дальше →][1]

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

[>] Разработка механики игры Bounce от Nokia на JavaScript
habra.16
habrabot(difrex,1) — All
2017-03-12 03:00:04


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

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

[1]: https://habrastorage.org/getpro/habr/post_images/108/10c/0d9/10810c0d9aff09afb0af4ba9a2cea0db.jpg
[2]: https://habrahabr.ru/post/323622/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Советы начинающему скалисту
habra.16
habrabot(difrex,1) — All
2017-03-12 10:30:03


**Часть 1. Функциональная**



Эта статья (если быть до конца честным — набор заметок) посвящена ошибкам, которые совершают новички, ступая на путь Scala: не только джуниоры, но и умудренные опытом программисты с сединами в бороде. Многие из них до этого всегда работали лишь с императивными языками такими как C, C++ или Java, поэтому идиомы Scala оказываются для них непонятными и, более того, неочевидными. Поэтому я взял на себя смелость предостеречь новообращённых и рассказать им об их типичных ошибках — как совсем невинных, так и тех, что в мире Scala караются смертью.

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

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

[>] [Перевод] Анализ исходного кода Duke Nukem 3D: Часть 2
habra.16
habrabot(difrex,1) — All
2017-03-12 12:30:04


![image][1]

_[Перевод первой части находится [здесь][2].]_


# Унаследованный код


_Build_ — это выдающийся движок, а множество игр, использовавших его, принесли большую и заслуженную славу и Кену Силверману, и 3D Realms.

Кен Силверман выполнил условия договора: он предоставил двоичный файл потрясающего 3D-движка с [хорошо задокументированными методами и форматами ресурсов][3]. В качестве признания его заслуг 3D Realms [указала его имя в титрах][4] как «Ken 'I can do that' Silverman» (Кен «Я могу это сделать» Силверман). Но разработка _Build_ была сосредоточена на возможностях и скорости, а не удобстве портирования и чтения. После изучения кода я думаю, что open source-разработчики избегали его по следующим причинам:

* Его обескураживающе сложно читать и получать из него знания.
* Он не был портируемым.
В этой статье я перечислил часть сложностей, с которыми столкнулся. Также я выпустил порт Chocolate Duke Nukem 3D, призванный решить эти проблемы. Я хотел, чтобы люди запомнили, какой уровень гениальности нужен был для создания 3D-движка в то время. Кроме того, я хотел, чтобы они осознали, как движимый страстью подросток смог внести вклад в одну величайших игр всех времён.
[Читать дальше →][5]

[1]: https://habrastorage.org/getpro/habr/post_images/ab4/56b/848/ab456b84893971cb5b6702d755bea49f.jpg
[2]: https://habrahabr.ru/post/323426/
[3]: http://fabiensanglard.net/duke3d/BUILDINF.TXT
[4]: http://fd.fabiensanglard.net/duke3d/Duke_credit.png
[5]: https://habrahabr.ru/post/323684/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Моделирование электрической цепи
habra.16
habrabot(difrex,1) — All
2017-03-12 14:00:03


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

[1]: https://habrastorage.org/files/bc8/5e3/5f2/bc85e35f20384fe0b8a2663cb583c4d1.jpg
[2]: https://habrahabr.ru/post/323590/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Как спасти потерянный исходный код на Python, если он все еще не выгружен из памяти
habra.16
habrabot(difrex,1) — All
2017-03-12 20:30:04


> Это [перевод вчерашней заметки][1] от [Simon Willison][2]

Я облажался, бездумно используя git (**`git checkout --`** — не на том файле) и умудрился удалить код, который я только что написал… но он все еще был загружен в исполняемый процесс в докер-контейнере. Вот, как я восстановил код, используя

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

[1]: https://gist.github.com/simonw/8aa492e59265c1a021f5c5618f9e6b12
[2]: https://gist.github.com/simonw
[3]: https://habrahabr.ru/post/323726/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ВВС США используют нейроморфный чип IBM для обнаружения танков и наземных систем ПВО
habra.16
habrabot(difrex,1) — All
2017-03-13 01:30:03


![][1]

Современные технологии очень интересуют военных. Не секрет, что многие технологии сначала создавались для военных нужд, а потом уже появлялись и в обычной жизни мирных граждан. Сейчас военно-воздушные силы США тестируют в полевых условиях нейроморфный чип, созданный силами специалистов IBM. Об этом чипе уже [публиковалась информация][2] в блоге нашей компании. Он может использоваться в самых разных целях, и одна из них — обнаружение и идентификация определенных объектов.

ВВС США, а именно Air Force Research Lab (AFRL), использует возможности процессора для идентификации военных и гражданских транспортных средств при радиолокации с воздуха. Военные утверждают, что чип работает не хуже, чем мощный военный компьютер. Но энергии при этом потребляется в двадцать раз меньше.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/533/8de/659/5338de65960127601a613448c3c09f2e.jpg
[2]: https://habrahabr.ru/company/ibm/blog/265551/
[3]: https://habrahabr.ru/post/323722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pygest #5. Релизы, статьи, интересные проекты из мира Python [28 февраля 2017 — 13 марта 2017]
habra.16
habrabot(difrex,1) — All
2017-03-13 10:00:04


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

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

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

Pages: 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 ... 133