RSS
Pages: 1 ... 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
[>] [Из песочницы] Russian AI Cup 2017 — история второго места
habra.16
habrabot(difrex,1) — All
2017-12-29 17:00:06


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

[1]: http://russianaicup.ru/
[2]: https://habrahabr.ru/post/345858/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345858#habracut

[>] Чей это текст, Линуса или Грега?
habra.16
habrabot(difrex,1) — All
2017-12-29 19:30:07


Праздник к нам приходит, все труднее писать и даже читать про планировщики и алгоритмы. Благо в мире открытого ПО есть и более отвлеченные темы. Почему бы например не сравнить стиль деловой переписки Линуса Торвальдса и Грега Кроа-Хартмана?



![Линус и Грег][1]



Предлагаю читателям Хабра поупражняться в физиогномике и задаться вопросом, с кем бы из двух командиров проекта Linux ядра вы бы предпочли обсуждать прогресс вашего патча?































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

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

[1]: https://habrastorage.org/webt/uh/wq/ug/uhwqugd_hk2uiall8p4pr0yqocw.png
[2]: https://habrahabr.ru/post/345846/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345846#habracut

[>] Оптимизация стадии инициализации Django
habra.16
habrabot(difrex,1) — All
2017-12-29 21:30:05


Если у вас Django проект работает на синхронных воркерах и вы периодически их перезапускаете (например, в `gunicorn` это опция `--max-requests`), полезно было бы знать, что по-умолчанию после каждого перезапуска воркера, первый запрос к нему обрабатывается гораздо дольше, чем последующие.



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

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

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

[>] «Здравствуй елка — Новый Год!» или программируем NanoCAD с помощью Visual Basic .NET
habra.16
habrabot(difrex,1) — All
2017-12-30 15:30:05


Намедни просматривая документацию к **NanoCAD API** идущую в комплекте с SDK неожиданно обратил внимания на то, что описание членов классов для .NET API и MultiCAD.NET API дано, как на C# так и на **Visual Basic**. И я подумал: «А ведь это здорово, что есть описание и для VB!»

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

Надо сказать, что на «Хабре» уже есть хорошая статья по [применению VB для NanoCAD][1], там рассматривается связка NanoCAD с Excel и то как она в итоге может облегчить строительное проектирование.

Мы же с Вами решим другую, более простую и праздничную задачу, **начертим ёлочку** и поздравим пользователя с новым годом. Несмотря на то, что статья посвящена VB, код на **C#** тоже будет.

А поскольку «Новый год» – праздник затратный то ориентироваться мы будем на **бесплатную для коммерческого использования** версию NanoCAD 5.1 (но по идее без проблем должно работать и под NC 8.X).

Также не обойдем стороной и пользователей **Linux** поскольку код на C# с помощью Mono и Wine можно будет на нём скомпилировать и запустить.

Если честно я сам только недавно начал осваивать API NanoCAD и поэтому моя последняя в этом году предпраздничная статья по сложности кода чем-то напоминает старый добрый графический исполнитель **[«Кенгуренок (ROO)»][2]**, но если Вас это не останавливает, то милости прошу под кат…

![][3]

_P.S. Это первая буква слова «Habrahabr» — на большее меня не хватило =)_
[Читать дальше →][4]

[1]: https://habrahabr.ru/post/238867
[2]: https://ikt-det.jimdo.com/%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D0%BA%D0%B0/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D0%B8/%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C-%D0%BA%D0%B5%D0%BD%D0%B3%D1%83%D1%80%D0%B5%D0%BD%D0%BE%D0%BA/
[3]: https://habrastorage.org/webt/pj/yv/3c/pjyv3cf8mcb4ds42dbiuwtba8s0.png
[4]: https://habrahabr.ru/post/345834/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345834#habracut

[>] Установка и обновление сертификата Let's encrypt для почтового сервера Zimbra
habra.16
habrabot(difrex,1) — All
2017-12-30 15:30:05


В прошлый статьях нас попросили рассказать об установке и обновлении сертификатов Let’s Encrypt.

**Let’s Encrypt** — центр сертификации, предоставляющий бесплатные криптографические сертификаты X.509 для TLS шифрования (HTTPS). Процесс выдачи сертификатов полностью автоматизирован.

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

[1]: https://habrastorage.org/web/524/a74/d9d/524a74d9dc834ae581c7893fc079c693.png
[2]: https://habrahabr.ru/post/345844/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345844#habracut

[>] [Из песочницы] Определение формата файла с помощью Python
habra.16
habrabot(difrex,1) — All
2017-12-30 15:30:05


## Предыстория {#predystoriya}



Всем привет. Совсем недавно я столкнулся с проблемой: по необьяснимым причинам карта памяти начала забрасывать все файлы в папку LOST.DIR без расширений. За долгое время там накопилось более 500 файлов разного типа: картинки, видео, аудио, документы. Самостоятельно понять формат файла было невозможным, по этому я стал искать способ решения этой проблемы программным путем.

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

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

[>] А вы не программируете себе burnout? Или — добрые советы на новый год
habra.16
habrabot(difrex,1) — All
2017-12-30 15:30:05


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

Подвержены программисты эмоциональному выгоранию больше чем представители других профессий? Если да — какие факторы риска сушествуют и как с ними бороться? [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/2f5/30a/68e/2f530a68ed3dcb7de15eea5d41e804ea.jpg
[2]: https://habrahabr.ru/post/345884/
[3]: https://habrahabr.ru/post/345884/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345884#habracut

[>] Простой монитор системы на Flask
habra.16
habrabot(difrex,1) — All
2017-12-30 15:30:05


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

Недавно возникла необходимость сделать простой и расширяемый монитор использования системы для сервера на Debian. Хотелось строить диаграммы и наблюдать в реальном времени использование памяти, дисков и тп. Нашел много готовых решений, но в итоге сделал скрипт на python + Flask + psutil. Получилось очень просто и функционально. Можно легко добавлять новые модули.

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

[1]: https://habrastorage.org/webt/9x/qg/lr/9xqglreap-fcaugmloi45fsrb7w.png
[2]: https://habrahabr.ru/post/345848/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345848#habracut

[>] Программирование генератора случайных чисел на Ethereum
habra.16
habrabot(difrex,1) — All
2017-12-30 16:30:05


![image][1]



При разработке смарт-контрактов на Ethereum обычно считается что полагаться на хеш блока как источник рандомности ненадежно, так как майнер может влиять на результат, подбирая хеш блока (см. [Private Information and Randomness][2], [How do you get a random number in a contract?][3])



Насколько в действительности велика возможность для майнера увеличить свои шансы на выигрыш в игре в которой нужно угадать хеш блока c определенным номером (или некое число производимое от хеша блока)?

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

[1]: https://habrastorage.org/webt/9o/vx/am/9ovxamyuhfsk0tn08ahrlxmmty4.png
[2]: http://solidity.readthedocs.io/en/develop/security-considerations.html?highlight=random#private-information-and-randomness
[3]: http://solidity.readthedocs.io/en/develop/frequently-asked-questions.html?highlight=random#how-do-you-get-a-random-number-in-a-contract-implement-a-self-returning-gambling-contract
[4]: https://habrahabr.ru/post/345904/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345904#habracut

[>] Чем заняться на каникулах: пишем роботов для торговли на бирже на скриптовом языке TradeScript
habra.16
habrabot(difrex,1) — All
2017-12-30 18:00:06


[![][1]][2]

В блоге на Хабре мы много пишем о биржевых технологиях и торговых роботах. В сегодняшнем материале вопрос создания таких систем будет рассмотрен подробнее — на примере встроенного в торговый терминал [SmartX][3] скриптового языка программирования TradeScript. [Читать дальше →][4]

[1]: https://habrastorage.org/webt/96/dm/-d/96dm-droblqvovbhvpc7kwgmlvm.png
[2]: https://habrahabr.ru/company/itinvest/blog/345908/
[3]: https://iticapital.ru/software/smartx-terminal/
[4]: https://habrahabr.ru/post/345908/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345908#habracut

[>] Проверка кода Reiser4 статическим анализатором PVS-Studio
habra.16
habrabot(difrex,1) — All
2017-12-30 18:00:06


![][1]

Доброго времени суток!

Эта статья посвящена применению бесплатной версии (для свободных и открытых проектов) статического анализатора PVS-Studio. Проверять мы будем исходный код файловой системы Reiser4 и ее утилит.
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/0-/ys/nn/0-ysnnrcy2hhtf-6lycsrorktei.jpeg
[2]: https://habrahabr.ru/post/345894/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345894#habracut

[>] [Из песочницы] Оксюморон или как реализовать 7 направленных аутентификаций MicrosoftAD протоколом, 2 из которых LDAP и 2 Авторизации
habra.16
habrabot(difrex,1) — All
2017-12-31 17:00:04


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

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

Итак, вечер пятницы. Обычное совещание в одной ну очень серьёзной компании.

— Коллеги, — говорит Морковьева, — сегодня в тим пришла новая агенда. В процессе таргетирования перед нашей скрам-командой был апрувлен мажорный проект. Нам на ретроспекцию поступил спринт-бэклог, в скоупе которого есть деманд, имплементировать несколько релевантных «MicrosoftAD» аутентификаций. Мы готовы акцептовать таски нового стрима?
[Читать дальше →][1]

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

[>] Проверки и планы «Деда Роскомнадзора» на 2018 год
habra.16
habrabot(difrex,1) — All
2017-12-31 17:00:04


![][1]

Дед Роскомнадзор весь год ищет операторов персональных данных, которые с точки зрения закона «плохо себя ведут», и выписывает им предписания. В этой статье мы хотели бы рассказать о том, как это происходит, а ещё немного раскрыть планы «дедушки» на 2018 год. Чудесно, если это кому-то поможет подготовиться заранее и избежать проблем. [Читать дальше →][2]

[1]: https://habrastorage.org/webt/98/ao/fw/98aofwblb5ybm1xx2mknlqgo6si.png
[2]: https://habrahabr.ru/post/345928/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345928#habracut

[>] Security Week 52: Telegram и крысиный король, очередные майнеры, масштабный брутфорс Wordpress
habra.16
habrabot(difrex,1) — All
2017-12-31 18:00:04


[Новость на русском][1], [подробнее на английском][2]

Обнаружен новый зловред, причисляемый к семейству Remote Access Trojan, который нашедшие его специалисты назвали Telegram-RAT. От аналогичного ему крысиного поголовья он отличается тем, что активно использует публичные облачные сервисы: API для ботов Telegram в качестве HTTPS-канала связи и Dropbox для хранения боевой нагрузки.
[Читать дальше →][3]

[1]: https://threatpost.ru/telegramrat-exploits-microsoft-office-vulnerability/23868/
[2]: https://www.netskope.com/blog/telegramrat-evades-traditional-defenses-via-cloud/
[3]: https://habrahabr.ru/post/345920/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345920#habracut

[>] ScadaPy — создание мнемосхем
habra.16
habrabot(difrex,1) — All
2018-01-01 18:30:04


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

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

[>] [Из песочницы] Пара способов отправить уведомления на смартфон со своего сервера
habra.16
habrabot(difrex,1) — All
2018-01-01 21:00:06


В этом туториале я рассмотрю пошагово, как отправлять со своего сервера уведомления на свой (или не свой) смартфон, какие средства для этого понадобятся. Эти способы универсальны и подойдут для любого языка программирования, т.к. напрямую используют API гугла, без использования библиотек. Отправить можно на смартфоны с Android, iOS и в браузеры с поддержкой Push API (на сегодня это Chrome, Firefox и их производные).

В общем всем тем, кто давно хотел отправлять уведомления со своего домашнего сервера на свой смартфон, но не знал с чего начать, посвящается.
[Хочу отправлять свои уведомления!][1]

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

[>] Simula — 50 лет ООП
habra.16
habrabot(difrex,1) — All
2018-01-02 02:00:04


Статья представляет собой очень краткое введение в Simula.

Simula ((SIMIUlation LAnguage) ), первый язык программирования с классами и объектами, незаслуженно почти забытый, но из которого выросло современное ООП в том виде, в котором оно присутствует в нашем коде. Это язык для имитационного моделирования реальности. Разработчики новых языков программирования «оглядывались» на Simula при добавлении механизмов объектно-ориентированного программирования в свой язык. Однако Simula упоминается настолько редко, что в русской википедии на момент публикации был только хеллоуворд, а в сети куча устаревших ссылок.

![][1]

Бьерн Страуструп, говоря о причинах создания C++, сказал так: «Этот язык возник потому, что автору потребовалось написать программы моделирования, управляемые прерываниями. Язык SIMULA-67 идеально подходит для этого, если не учитывать эффективность.»
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/ws/ns/au/wsnsaurs2dhzpafezcrlvdigmtw.png
[2]: https://habrahabr.ru/post/345944/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345944#habracut

[>] [Из песочницы] История 3 места Russian AI Cup 2017
habra.16
habrabot(difrex,1) — All
2018-01-02 15:00:04


Всем привет! В этой статье я хочу кратко изложить ключевые моменты своей стратегии в ходе прошедшего соревнования по программированию искусственного интеллекта Russian AI Cup.

![][1]


## Немного о Russian AI Cup


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

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

Правила можно найти [здесь][2].
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/6n/au/ov/6nauovctjocniui6wx6itj2tyao.png
[2]: https://habrahabr.ru/company/mailru/blog/340540/
[3]: https://habrahabr.ru/post/345956/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345956#habracut

[>] [Из песочницы] Как я написал игру за 6 дней
habra.16
habrabot(difrex,1) — All
2018-01-02 16:00:05


![New Year Project][1]



Здравствуйте! Сия статья представляет собой сказ о том, как я решил игру писать за 6 дней до Нового Года, о том, как я это сделал, с какими проблемами столкнулся и как их решил.
[Читать дальше →][2]

[1]: https://preview.ibb.co/gOuT2G/game.png
[2]: https://habrahabr.ru/post/345958/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345958#habracut

[>] Как писать на ассемблере в 2018 году
habra.16
habrabot(difrex,1) — All
2018-01-02 16:00:05


![][1]

Статья посвящена языку ассемблер с учетом актуальных реалий. Представлены преимущества и отличия от ЯВУ, произведено небольшое сравнение компиляторов, скрупулёзно собрано значительное количество лучшей тематической литературы.
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/nz/sl/bk/nzslbk8moxt_2a7a18ugpk4azxq.jpeg
[2]: https://habrahabr.ru/post/345748/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345748#habracut

[>] Кодирование с изъятием информации. Часть 2-я, математическая
habra.16
habrabot(difrex,1) — All
2018-01-02 23:00:07


### Введение {#vvedenie}



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


![image][2]

Позвольте немного расскажу откуда вообще взялась эта тема. Давным-давно от одного хорошего человека- [ivlad][3] взял почитать и вот пока никак не отдам (прости пожалуйста) интересную книжку [1], где, написано: «в свою очередь криптография сама может быть разделена на два направления, известные как перестановка и замена».

Соответственно почти сразу появились следующий вопросы:


* т.к. перестановка и замена сохраняют количество информации, то можно ли сделать так, чтобы обойти это ограничение, и передавать информации меньше чем есть в сообщении, — отсюда (из «а не слабо ли») родилась первая часть;
* если задача выглядит решаемой, то есть ли само решение и хотя бы толика математического смысла в нём – этот вопрос и есть тема этой части;
* есть ли во всём этом практический смысл – вопрос пока открыт.[Читать дальше →][4]

[1]: https://habrahabr.ru/post/318848/
[2]: https://habrastorage.org/files/b55/c67/af7/b55c67af7c134a1c8eb669c4d2b2397d.jpg
[3]: https://habrahabr.ru/users/ivlad/
[4]: https://habrahabr.ru/post/345962/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345962#habracut

[>] [Из песочницы] Akumuli — база данных временных рядов
habra.16
habrabot(difrex,1) — All
2018-01-02 23:00:07


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



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



![Time-series in finance][1]



## “Мне не нужна TSDB, у меня уже есть Х” {#mne-ne-nuzhna-tsdb-u-menya-uzhe-est-h}



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

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

[1]: https://habrastorage.org/getpro/habr/post_images/6ce/92d/dba/6ce92ddbad6350acebf5077d86f19f48.jpg
[2]: https://habrahabr.ru/post/345974/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345974#habracut

[>] [Из песочницы] Мошенническое расширение в Google Chrome. Расследование
habra.16
habrabot(difrex,1) — All
2018-01-03 00:30:04


Эта статья обошлась мне в 3343 рубля, именно столько Я потерял при переводе Litecoin на Qiwi RUB и хочу описать мою историю подробно, чтобы Вы дорогие Хабровчане не наступили на те же грабли что и Я.

Мне нужно было вывести средства с биржи Poloniex в фиат. Для этого Я воспользовался популярным сервисом bestchange, на котором нашел сервис 4exchange.cash, он предложил мне перевести средства по указанному адресу

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

[1]: http://joxi.ru/Vm6KxbzIx6MeX2.png
[2]: https://habrahabr.ru/post/345986/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345986#habracut

[>] [Перевод] Эмоциональное выгорание волонтеров
habra.16
habrabot(difrex,1) — All
2018-01-03 02:00:04


![image][1]

[Ранее][2] я подчеркивал ценность добровольной работы как более аккуратной, честной и творческой по сравнению с оплачиваемой работой. Однако здесь нужно сделать важную оговорку. Некоторые инструменты [Социальной Архитектуры][3] таят в себе опасность. Поставив людям захватывающую цель, вы можете подтолкнуть их в сторону саморазрушения. Это было главной проблемой в [FFII][4] (Foundation for a Free Information Infrastructure), когда я пришел туда, и ее усугублял высокий накал эмоций, характерный для родоплеменной корпоративной культуры организации в то время. Многие ключевые участники были изнурены и эмоционально истощены. Не понаслышке знакомое мне самому состояние.

Исследования эмоционального выгорания, о которых вы можете [прочитать в Википедии][5], на мой взгляд, не соответствуют тому, что происходит в реальной жизни. А реальность всё-таки важнее теории. Я неоднократно наблюдал такую характерную особенность выгорания в добровольных сообществах:
[Читать дальше →][6]

[1]: https://habrastorage.org/getpro/habr/post_images/d11/e17/151/d11e17151160cc5eed3315441c321532.jpg
[2]: https://habrahabr.ru/company/philtech/blog/344090/
[3]: https://habrahabr.ru/company/philtech/blog/344090/
[4]: https://ffii.org/
[5]: https://en.wikipedia.org/wiki/Occupational_burnout
[6]: https://habrahabr.ru/post/345982/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345982#habracut

[>] Принцип Анны Карениной в программировании и ИТ
habra.16
habrabot(difrex,1) — All
2018-01-03 05:30:04


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

[1]: https://habrastorage.org/getpro/habr/post_images/fc1/a4c/f5e/fc1a4cf5eab8b9e64497d695753fc821.jpg
[2]: http://habrahabr.ru/post/345988/
[3]: https://habrahabr.ru/post/345988/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345988#habracut

[>] [Перевод] Параллельная сортировка данных в GPU
habra.16
habrabot(difrex,1) — All
2018-01-03 14:30:49


![][1]



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

**GIF**
![][2]


#### Введение


Если вы изучали теорию вычислительных машин в 80-х или 90-х, есть вероятность, что вы упорно пытались понять, что же некоторые разработчики находят восхитительного в **алгоритмах сортировки**. То, что поначалу кажется незначительной задачей, оказывается краеугольным камнем Computer Science.

Но что же такое «алгоритм сортировки»? Представьте, что у вас есть список чисел. Алгоритм сортировки — это программа, получающая этот список и изменяющая порядок чисел в нём. Понятие алгоритмов сортировки часто вводится при изучении **вычислительной сложности** — ещё одной обширной области знания, которую я подробно рассмотрю в будущих статьях. Существует бесконечное количество способов сортировки списка элементов, и каждая стратегия обеспечивает свой собственный уникальный компромисс между затратами и скоростью.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/0t/go/cu/0tgocuz0jmus-tn-7tayej3m8xu.png
[2]: https://habrastorage.org/getpro/habr/post_images/458/e1d/c10/458e1dc1050ae5aa134f55b051d3ffe2.gif
[3]: https://habrahabr.ru/post/345824/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345824#habracut

[>] Как заменить HR-a роботом?
habra.16
habrabot(difrex,1) — All
2018-01-03 22:15:20


А как вы любите смотреть видео или фильмы? Кто-то ложится в кровать, кто-то садится в кресло с едой и чаем. Ну а кому-то и как обычно, за столом, хорошо. В любом случае, предлагаю занять вашу любимую позицию для просмотра. Ведь сегодня я представляю вам интервью Дмитрия Завалишина, основателя группы компаний DZ Systems, с Алексеем Костаревым, одним из создателей Робота Веры. Из него вы узнаете о сложном пути развития компании, проблемах и их решениях, о самой технологии робота, ну и о планах на будущее.

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

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

[>] Как заменить HR-a роботом?
habra.16
habrabot(difrex,1) — All
2018-01-03 22:30:05


А как вы любите смотреть видео или фильмы? Кто-то ложится в кровать, кто-то садится в кресло с едой и чаем. Ну а кому-то и как обычно, за столом, хорошо. В любом случае, предлагаю занять вашу любимую позицию для просмотра. Ведь сегодня я представляю вам интервью Дмитрия Завалишина, основателя группы компаний DZ Systems, с Алексеем Костаревым, одним из создателей Робота Веры. Из него вы узнаете о сложном пути развития компании, проблемах и их решениях, о самой технологии робота, ну и о планах на будущее.

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

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

[>] [Из песочницы] [Перевод] Анемичная модель предметной области — не анти-шаблон, а архитектура по принципам SOLID
habra.16
habrabot(difrex,1) — All
2018-01-04 03:15:20


_От переводчика: На проекте, где я работаю, сейчас идет активное переписывание логики, ранее реализованной в виде богатой модели предметной области (с использованием Active Record и Unit of Work). Новый подход включает в себя классы сущностей без поведения и служб без состояния, взаимодействующих посредством интерфейсов — фактически, он представляет собой анемичную модель, с перспективой перехода в дальнейшем на микросервисную архитектуру. Наблюдая в режиме реального времени, как «макаронный монстр» из примерно полутора миллионов LOC постепенно обретает форму, как упрощаются тестирование, масштабирование и кастомизация системы под нуждый различных заказчиков, я был весьма удивлен, узнав, что такой подход часто рассматривается как архитектурный анти-шаблон. Пытаясь разобраться в причинах этого, я наткнулся на данную статью и размещаю здесь ее перевод, чтобы обсудить с сообществом плюсы и минусы подхода._



Оригинал: [The Anaemic Domain Model is no Anti-Pattern, it’s a SOLID design][1]

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

[1]: https://blog.inf.ed.ac.uk/sapm/2014/02/04/the-anaemic-domain-model-is-no-anti-pattern-its-a-solid-design/
[2]: https://habrahabr.ru/post/346016/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346016#habracut

[>] [Из песочницы] [Перевод] Анемичная модель предметной области — не анти-шаблон, а архитектура по принципам SOLID
habra.16
habrabot(difrex,1) — All
2018-01-04 03:30:06


_От переводчика: На проекте, где я работаю, сейчас идет активное переписывание логики, ранее реализованной в виде богатой модели предметной области (с использованием Active Record и Unit of Work). Новый подход включает в себя классы сущностей без поведения и служб без состояния, взаимодействующих посредством интерфейсов — фактически, он представляет собой анемичную модель, с перспективой перехода в дальнейшем на микросервисную архитектуру. Наблюдая в режиме реального времени, как «макаронный монстр» из примерно полутора миллионов LOC постепенно обретает форму, как упрощаются тестирование, масштабирование и кастомизация системы под нуждый различных заказчиков, я был весьма удивлен, узнав, что такой подход часто рассматривается как архитектурный анти-шаблон. Пытаясь разобраться в причинах этого, я наткнулся на данную статью и размещаю здесь ее перевод, чтобы обсудить с сообществом плюсы и минусы подхода._



Оригинал: [The Anaemic Domain Model is no Anti-Pattern, it’s a SOLID design][1]

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

[1]: https://blog.inf.ed.ac.uk/sapm/2014/02/04/the-anaemic-domain-model-is-no-anti-pattern-its-a-solid-design/
[2]: https://habrahabr.ru/post/346016/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346016#habracut

[>] CPU сдаст вас с потрохами: самая серьезная дыра в безопасности за всю историю наблюдений?
habra.16
habrabot(difrex,1) — All
2018-01-04 10:00:04


### Что случилось?


Исследователи Google опубликовали [исследование «Reading privileged memory with a side-channel»][1], в котором они описывают найденную ими аппаратную уязвимость, которая затрагивает практически все современные и устаревшие процессоры вне зависимости от операционной системы. Строго говоря, уязвимостей целых две. Одной подвержены многие процессоры Intel (на них проводилось исследование). AMD с ARM также уязвимы, но атаку реализовать сложнее.

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

Пожалуй, самое вероятное и неприятное применение на данный момент — получение дампа системной памяти во время выполнения JavaScript.

Другой интересный вариант — эскалация прав чтения памяти из виртуальной машины. Как вам VPS, который ворует данные из других машин хостера?

Эксплуатация уязвимости не оставляет следов.


### Насколько это серьезно?


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


### Как защититься?


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


### Прекрасные новости, это всё?


Не все. Судя по тестам, патчи сильно повлияют на производительность существующих систем. Тесты показывают падение на 10-30% в некоторых задачах. Да-да, вы все правильно поняли, ваш _мак_ может навсегда стать медленнее, а AWS [заметно дороже][2].


### Дополнительные данные


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

[1]: https://googleprojectzero.blogspot.ca/2018/01/reading-privileged-memory-with-side.html
[2]: https://www.forbes.com/sites/kenkam/2018/01/03/your-intel-cpu-is-about-to-be-hobbled-5-30/#7b122fd844f4
[3]: https://habrahabr.ru/post/346026/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346026#habracut

[>] Парсим с помощью ANTLR 4 хранимки T-SQL для получения связей между таблицами
habra.16
habrabot(difrex,1) — All
2018-01-04 20:00:05


Доброго дня, друзья.

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

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

К делу. Далее использование Antlr и примеры кода.
[Читать дальше →][1]

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

[>] Парсим с помощью ANTLR 4 хранимки T-SQL для получения связей между таблицами
habra.16
habrabot(difrex,1) — All
2018-01-04 20:00:20


Доброго дня, друзья.

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

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

К делу. Далее использование Antlr и примеры кода.
[Читать дальше →][1]

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

[>] [Из песочницы] Oracle – табличные конвейерные функции
habra.16
habrabot(difrex,1) — All
2018-01-04 23:00:03


В промышленных системах часто требуется выполнить преобразования данных с использованием pl/sql кода с возможностью обращения к этим данным в sql запросе. Для этого в oracle используются табличные функции.
[Читать дальше →][1]

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

[>] [Из песочницы] Oracle – табличные конвейерные функции
habra.16
habrabot(difrex,1) — All
2018-01-04 23:00:11


В промышленных системах часто требуется выполнить преобразования данных с использованием pl/sql кода с возможностью обращения к этим данным в sql запросе. Для этого в oracle используются табличные функции.
[Читать дальше →][1]

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

[>] [Из песочницы] [Перевод] IOHIDeous — новогодняя zero-day уязвимость от macOS
habra.16
habrabot(difrex,1) — All
2018-01-05 00:30:04


## Что случилось?


Разработчик c GitHub ником [Siguza][1], сделал неортодоксальный новогодний подарок — обнаружил уже долго существующую zero-day уязвимость в macOS, позволяющую атакующему получить root доступ к системе для дальнейшей ее компрометаци. Уязвимость существует уже довольно продолжительный период времени но не предоставляет возможности для удаленного взлома системы.

[Siguza][2], который является программистом и хакером из Швейцарии, детально описал уязвимость и дал ей название IOHIDeous. По заявлению Siguza, данной уязвимости подвержены все версии macOS, выпущенные за последние 15 лет.

Оригинал: [IOHIDeous is a macOS zero-day for the New Year][3]
[Читать дальше →][4]

[1]: https://github.com/siguza
[2]: https://github.com/siguza
[3]: http://searchsecurity.techtarget.com/news/450432538/IOHIDeous-is-a-macOS-zero-day-for-the-New-Year
[4]: https://habrahabr.ru/post/346048/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346048#habracut

[>] [Из песочницы] [Перевод] IOHIDeous — новогодняя zero-day уязвимость от macOS
habra.16
habrabot(difrex,1) — All
2018-01-05 00:30:11


## Что случилось?


Разработчик c GitHub ником [Siguza][1], сделал неортодоксальный новогодний подарок — обнаружил уже долго существующую zero-day уязвимость в macOS, позволяющую атакующему получить root доступ к системе для дальнейшей ее компрометаци. Уязвимость существует уже довольно продолжительный период времени но не предоставляет возможности для удаленного взлома системы.

[Siguza][2], который является программистом и хакером из Швейцарии, детально описал уязвимость и дал ей название IOHIDeous. По заявлению Siguza, данной уязвимости подвержены все версии macOS, выпущенные за последние 15 лет.

Оригинал: [IOHIDeous is a macOS zero-day for the New Year][3]
[Читать дальше →][4]

[1]: https://github.com/siguza
[2]: https://github.com/siguza
[3]: http://searchsecurity.techtarget.com/news/450432538/IOHIDeous-is-a-macOS-zero-day-for-the-New-Year
[4]: https://habrahabr.ru/post/346048/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346048#habracut

[>] Как именно работает Meltdown
habra.16
habrabot(difrex,1) — All
2018-01-05 03:30:11


Уже третий день у всех на слуху слова Meltdown и Spectre, свеженькие уязвимости в процессорах. К сожалению, сходу найти что либо про то, как именно работают данные уязвимости (для начала я сосредоточился на Meldown, она попроще), у меня не удалось, пришлось изучать оригинальные публикации и статьи: [оригинальная статья][1], [блок Google Project Zero][2], [статья аж из лета 2017][3]. Несмотря на то, что на хабре уже есть [перевод введения][4] из оригинальной публикации, хочется поделиться тем, что мне удалось прочитать и понять.

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

[1]: https://meltdownattack.com/meltdown.pdf
[2]: https://googleprojectzero.blogspot.ru/
[3]: https://cyber.wtf/2017/07/28/negative-result-reading-kernel-memory-from-user-mode/
[4]: https://habrahabr.ru/post/346074/
[5]: https://habrahabr.ru/post/346078/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346078#habracut

[>] [Перевод] Технические подробности. Уязвимость Meltdown — CVE-2017-5754
habra.16
habrabot(difrex,1) — All
2018-01-05 03:30:11


# От автора {#ot-avtora}



**Важно! Уязвимость на самом деле это 3 уязвимости — Meltdown, Spectre 1, Spectre 2**
Здравствуй хабр! Сегодня у нас перевод [заметки][1] про уязвимость Meltdown (CVE-2017-5754). Переведена только первая страница и основная часть заметки для понимания данной уязвимости.



# Meltdown {#meltdown}



## Общее {#obschee}



Безопасность современной компьютерной системы (прим. автора. Смартфоны, компьютеры, практически любые носимые устройства с возможностью запуска кода не от производителя) основывается на изоляции адресного пространства, для примера память ядра помечена недоступной и защищена от доступа со стороны пользователя. В этой заметке мы представляем вам Meltdown. Meltdown эксплуатирует побочный эффект исполнения-вне-очереди (out-of-order execution) в современных процессорах, чтобы прочитать данные из ядра, в том числе личную информацию и пароли. Исполнение-вне-очереди сильно влияет на производительность и включено в большинство современных процессоров. Атака не зависима от операционной системы и не эксплуатирует программные уязвимости. Meltdown ломает всю безопасность системы основанную на изоляции адресного пространства в том числе паравиртуализованного.
Meltdown позволяет читать часть памяти других процессов и виртуальных машин. Мы покажем, что система KAISER имеет важный побочный эффект в виде в блокировке Meltdown (но является костылем). Мы настаиваем на включении KAISER незамедлительно для исключения утечки информации.

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

[1]: https://meltdownattack.com/meltdown.pdf
[2]: https://habrahabr.ru/post/346074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346074#habracut

[>] [Перевод] Как построить сообщество. Перевод книги «Социальная архитектура»: Предисловие. Мудрость толпы
habra.16
habrabot(difrex,1) — All
2018-01-05 10:45:09


![image][1]В «Рассуждениях о первой декаде Тита Ливия» Никколо Макиавелли есть следующие строки:
> «Что же до рассудительности и постоянства, то уверяю вас, что народ постояннее и много рассудительнее всякого государя. Не без причин голос народа сравнивается с гласом Божьим: в своих предсказаниях общественное мнение достигает таких поразительных результатов, что кажется, будто народ ясно предвидит».
В своей книге «Мудрость толпы» Джеймс Шуровьески писал: «при правильных условиях группы могут быть очень умными, а зачастую могут быть намного умнее, чем даже самый умный человек внутри группы». Он заметил, что коллективный разум обычно показывает лучшие результаты, чем небольшая группа экспертов, даже если члены группы не владеют всеми фактами или ведут себя иррационально, поступая по-своему.

Другими словами, группа случайных людей в среднем будет умнее нескольких экспертов. Этот тезис противоречит здравому смыслу и выглядит насмешкой над накопленной веками мудростью. Эксперты в области человеческого интеллекта (социологи, антропологи, психологи) встретили идеи Шуровьески далеко не с распростертыми объятиями. Он пошел дальше: «добавив в группу специалистов, вы сделаете ее глупее, а добавив дилетантов, повысите опять ее интеллектуальный уровень. Как и любой рецепт, это работает только при определенных обстоятельствах».
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/dd/vy/lx/ddvylx8yyztptrfbglhgaltsmxq.jpeg
[2]: https://habrahabr.ru/post/346064/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346064#habracut

[>] [Перевод] Почему программистам нужны ограничения
habra.16
habrabot(difrex,1) — All
2018-01-05 12:45:01


![][1]


Мы родились в культуре с девизом **_«Никаких границ»_** или **_«Раздвигай границы»_**, но на самом деле границы нам нужны. С ними мы становимся лучше, но это должны быть правильные границы.


#### Цензура ради качественной музыки


![][2]
Когда перед нами встают внешние ограничения того, что можно сказать в песне, книге или фильме, то для передачи нужного смысла авторы должны использовать метафоры.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/942/bcf/3dd/942bcf3dd5903c6ff20e1ad32605b4d9.jpg
[2]: https://habrastorage.org/getpro/habr/post_images/438/197/738/4381977382e7dd75267ad6ac95a2434c.png
[3]: https://habrahabr.ru/post/345886/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345886#habracut

[>] [Перевод] Выпуск Rust 1.23
habra.16
habrabot(difrex,1) — All
2018-01-05 15:15:11


Команда Rust рада сообщить о новой версии Rust: 1.23.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.



Если у вас установлена предыдущая версия Rust, для обновления достаточно выполнить:


$ rustup update stable

Если же у вас еще не установлен `rustup`, вы можете [установить его][1] с соответствующей страницы нашего веб-сайта. С [подробными примечаниями к выпуску Rust 1.23.0][2] можно ознакомиться на GitHub.



## Что вошло в стабильную версию 1.23.0 {#chto-voshlo-v-stabilnuyu-versiyu-1230}



Новый год, новый Rust! Нашим первым улучшением является [избавление от избыточных копий][3] в некоторых ситуациях. С этими изменениями потребление памяти `rustc` уменьшилось на 5-10%, но результаты для ваших приложений могут отличаться.



Команда документации прошла долгий путь для того чтобы `rustdoc` использовал [CommonMark][4]. До этого `rustdoc` не гарантировал какой движок отрисовки markdown он использовал. В рамках этого выпуска мы все еще визуализируем документацию нашим прошлым движком — [Hoedown][5] — но параллельно визуализируем еще и совместимым с CommonMark движком, выдавая предупреждения при различных результатах. Нам еще не встречались ситуации, где нельзя было бы изменить синтаксис документа так, чтобы он удовлетворял обоим движкам сразу. Участник команды документации Guillaume Gomez [написал заметку об этом в своем журнале][6], где показаны некоторые часто встречающиеся отличия движков и способы их обхода.

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

[1]: https://www.rust-lang.org/install.html
[2]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1230-2018-01-04
[3]: https://github.com/rust-lang/rust/pull/45380
[4]: http://commonmark.org/
[5]: https://github.com/hoedown/hoedown
[6]: https://blog.guillaume-gomez.fr/articles/2017-09-18+New+rustdoc+rendering+common+errors
[7]: https://habrahabr.ru/post/346106/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346106#habracut

[>] 5-минутный гид по эзотерическим языкам программирования: зачем они нужны
habra.16
habrabot(difrex,1) — All
2018-01-05 18:00:11


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

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

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

[1]: https://habrahabr.ru/company/spbifmo/blog/344680/
[2]: https://habrastorage.org/webt/1f/ky/n0/1fkyn0pkvehk3s2akebt0ddduti.jpeg
[3]: https://habrahabr.ru/company/spbifmo/blog/346042/
[4]: https://habrahabr.ru/post/346042/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346042#habracut

[>] [Из песочницы] Meltdown: влияет не только на производительность
habra.16
habrabot(difrex,1) — All
2018-01-05 18:45:20


## Обновления безопасности


Компания Microsoft выпустила обновления безопасности для операционных систем Windows, исправляющие критические уязвимости в процессорах Intel, AMD и ARM, которые исправляют раскрытые на днях уязвимости [Meltdown ][1]и Spectre. Патчи могут привести к снижению производительности на затронутых системах и не только. Ниже будут приведены 2 скриншота и пояснения к ним.


## Экспресс-тест на примере 7-Zip


**До установки обновления безопасности KB4056890 (версия 1607)**
![image][2]

**После установки обновления безопасности KB4056890 (версия 1607)**
![image][3]

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

[1]: https://ru.wikipedia.org/wiki/Meltdown_(уязвимость)
[2]: https://habrastorage.org/webt/gf/o-/d8/gfo-d8yp0mrklbvwnu7fqybdq94.png
[3]: https://habrastorage.org/webt/zj/mu/qd/zjmuqdqqczpo56pl0n4jja4-4jg.png
[4]: https://habrahabr.ru/post/346114/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346114#habracut

[>] 31 февраля
habra.16
habrabot(difrex,1) — All
2018-01-05 23:15:20


![31 февраля][1]


Сейчас я изучаю отчёт очередной проверки проекта Chromium и используемых в нём библиотек, с помощью анализатора кода PVS-Studio. По итогам проверки у меня намечается цикл статей, посвященный разбору некоторых видов ошибок, и тому, как их можно избежать. Однако, одна ошибка так сильно понравилась, что я решил не откладывать её описание, а сразу написать маленькую заметку в блог.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/dff/572/6fc/dff5726fc4a885c95a3cbfc1a028818d.png
[2]: https://habrahabr.ru/post/346128/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346128#habracut

[>] [Из песочницы] Так почему же ты не участвуешь в разработке Open Source программного обеспечения?
habra.16
habrabot(difrex,1) — All
2018-01-06 02:15:05


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

Представляем перевод статьи Егора Бугаенко [**«Why Don't You Contribute to Open Source?»**][1]:
[Читать дальше →][2]

[1]: http://www.yegor256.com/2015/12/22/why-dont-you-contribute-to-open-source.html
[2]: https://habrahabr.ru/post/346130/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346130#habracut

[>] [Перевод] 640 КБ на самом деле хватит всем
habra.16
habrabot(difrex,1) — All
2018-01-08 11:45:04


![image][1]



### Никогда не сдавайтесь


Действительно ли Билл Гейтс произнёс фразу «640 КБ должно хватить всем»? Её история довольно туманна, однако чаще всего её приписывают Биллу, так что, возможно, он действительно такое говорил.

Его довольно часто за это высмеивали. Мысль о общем пространстве памяти размером всего 640 КБ по современным стандартам смехотворна. В этот размер не уместится даже исполняемые файлы большинства программ-установщиков.

Для сравнения: калькулятор в Windows 10 занимает в состоянии простоя 16,2 оперативной памяти — почти в 26 раз больше, чем объём доступной DOS-программам памяти в 1980-х.


### Странные дела


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

Наверно, вашим первым вопросом будет «Но зачем?» И я хорошо вас понимаю. Давайте рассмотрим некоторые группы, которые до сих пор заинтересованы во вложениях усилий в DOS.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/52e/5d7/ebc/52e5d7ebceca840eb2174402edfc9c20.png
[2]: https://habrahabr.ru/post/346178/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346178#habracut

[>] [Перевод] Добро пожаловать в эру глубокой нейроэволюции
habra.16
habrabot(difrex,1) — All
2018-01-08 15:15:06


![image][1]

От имени команды Uber AI Labs, которая также включает Joel Lehman, Jay Chen, Edoardo Conti, Vashisht Madhavan, Felipe Petroski Such и Xingwen Zhang.

В области обучения глубоких нейронных сетей (DNN) с большим количеством слоев и миллионами соединений, для тренировки, как правило, применяется стохастический градиентный спуск (SGD). Многие полагают, что способность SGD эффективно вычислять градиенты является исключительной особенностью. Однако мы публикуем набор из пяти статей в поддержку [нейроэволюции][2], когда нейронные сети оптимизируются с помощью эволюционных алгоритмов. Данный метод также является эффективным при обучении глубоких нейронных сетей для задач обучения с подкреплением (RL). Uber [имеет множество областей][3], где машинное обучение может улучшить его работу, а разработка широкого спектра мощных подходов к обучению (включая нейроэволюцию), поможет разработать более безопасные и надежные транспортные решения.
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/8ef/1a1/51e/8ef1a151eaf9383f17b13d650c6b33b3.png
[2]: https://www.oreilly.com/ideas/neuroevolution-a-different-kind-of-deep-learning
[3]: https://eng.uber.com/machine-learning/
[4]: https://habrahabr.ru/post/345950/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345950#habracut

[>] Vim: поиск по документации на Javascript
habra.16
habrabot(difrex,1) — All
2018-01-08 15:15:06


Обычно я работаю в Kate или Geany. Но иногда, как и всем людям, мне хочется освоить Vim. И каждый раз, примерно на второй минуте «освоения» возникает какой-нибудь совершенно дурацкий вопрос. Например, почему при нажатии стрелок (или клавиш jk) курсор скачет сразу через все строки абзаца?



Как бы я ни старался свои вопросы формулировать, поиск каждый раз выдаёт мне примерно одни и те же сто сайтов с заголовками вроде «100 самых полезных команд Vim». И какой бы сайт я ни выбрал, на нём всегда не будет хватать именно той «команды», которая мне нужна как раз сейчас.



Я подумал, как бы найти не сто, а вообще все команды Вим. И нашёл-таки страничку в сети, которая так и называлась: «Все команды Vim». И там действительно был очень большой список — штук шестьсот слов. Но не было указано, что эти команды делают, — просто список терминов. Меня так разозлила эта шутка, что я решил, наконец, **почитать документацию** и раз и навсегда составить свой собственный список «всех команд Vim». Результат на экране. Подробности ниже.



![][1]


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

[1]: https://habrastorage.org/webt/hy/qj/y-/hyqjy-1c-a8r7rrsi-kphttnneq.png
[2]: https://habrahabr.ru/post/346196/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346196#habracut

[>] [Перевод] Поиск ошибки в дизайне процессора Xbox 360
habra.16
habrabot(difrex,1) — All
2018-01-08 16:45:04


_Вашему вниманию предлагается перевод свежей статьи Брюса Доусона – разработчика, сегодня работающего в Google над Chrome для Windows._

Недавнее открытие уязвимостей [Meltdown][1] и [Spectre][2] напомнило мне о том случае, как однажды я обнаружил подобную уязвимость в процессоре Xbox 360. Её причиной была недавно добавленная в процессор инструкция, само существование которой представляло собой опасность.

В 2005 году я занимался процессором Xbox 360. Я жил и дышал исключительно этим чипом. У меня на стене до сих пор висят полупроводниковая пластина процессора диаметром в 30 см и полутораметровый постер с архитектурой этого CPU. Я потратил так много времени на то, чтобы понять, как работают вычислительные конвейеры процессора, что, когда меня попросили выяснить причину загадочных падений, я смог интуитивно догадаться о том, что к их появлению могла привести ошибка в дизайне процессора.

Однако, прежде чем перейти к самой проблеме, сначала немного теории.
[Читать дальше →][3]

[1]: https://meltdownattack.com/meltdown.pdf
[2]: https://spectreattack.com/spectre.pdf
[3]: https://habrahabr.ru/post/346250/?utm_source=habrahabr&utm_medium=rss&utm_campaign=346250#habracut

Pages: 1 ... 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133