Echo :: Forum :: Blog :: RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 ... 37
CNTK — нейросетевой инструментарий от Microsoft Research [0]
CNTK — нейросетевой инструментарий от Microsoft Research
habrabot(difrex,1) — All
2016-01-27 03:00:02


2015 год был очень богат на события, связанные с нейросетевыми технологиями и машинным обучением. Особенно заметный прогресс показали сверточные и рекуррентные сети, подходящие для решения задач в области компьютерного зрения и распознавания речи. Многие крупные компании опубликовали на Github свои разработки, Google выпустил в свет [TensorFlow][1], Baidu — [warp-ctc][2]. Группа ученых из Microsoft Research тоже решила присоединиться к этой инициативе, выпустив [Computational Network Toolkit][3], набор инструментов для проектирования и тренировки сетей различного типа, которые можно использовать для распознавания образов, понимания речи, анализа текстов и многого другого. **И****нтригующим при этом является то, ****что эта сеть победила в конкурсе **[**ImageNet** **LSVR**** 2015**][4]** и является самой быстрой среди существующих конкурентов.** ![][5] [Читать дальше →][6]

[1]: https://github.com/tensorflow/tensorflow
[2]: https://github.com/baidu-research/warp-ctc
[3]: https://github.com/Microsoft/CNTK.git
[4]: http://image-net.org/challenges/LSVRC/2015/results
[5]: https://habrastorage.org/getpro/habr/post_images/4d8/169/f88/4d8169f88549625769aa6dc507ebd528.png ... [>>>]

Python и красивые ножки — как бы я знакомил сына с математикой и программированием [0]
Python и красивые ножки — как бы я знакомил сына с математикой и программированием
habrabot(difrex,1) — All
2016-01-27 02:30:02


Раньше мы уже [искали][1] необычные модели Playboy с помощью библиотеки Python Scikit-learn. Теперь мы продемонстрируем некоторые возможности библиотек SymPy, SciPy, Matplotlib и Pandas на живом примере из разряда занимательных школьных задач по математике. Цель — облегчить порог вхождения при изучении Python библиотек для анализа данных.



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

[1]: https://habrahabr.ru/post/251225/
[2]: https://habrahabr.ru/post/275963/#habracut

iOS App Reverse Engineering — (уже бесплатная) книга от китайских мастеров [0]
iOS App Reverse Engineering — (уже бесплатная) книга от китайских мастеров
habrabot(difrex,1) — All
2016-01-26 22:00:09


Для нетерпеливых — сразу [ссылка на PDF][1], (но можно и [купить][2], поддержав автора). [Здесь — Table of contents][3] Автор адресует издание следующим категориям читателей:

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



> The book iOS App Reverse Engineering, as a gift to the whole jailbreak community, is now open-sourced on github
>
> — iOSAppRE (@iOSAppRE)
>
> [12 сентября 2015][4]

[][5]

[1]: https://github.com/iosre/iOSAppReverseEngineering/blob/master/iOSAppReverseEngineering.pdf
[2]: https://www.lulu.com/shop/zishe-sha/ios-app-reverse-engineering/ebook/product-22147315.html
[3]: http://iosre.com/t/ios-app-reverse-engineering-table-of-contents/1078
[4]: https://twitter.com/iOSAppRE/status/642643329331556352
[5]: https://habrahabr.ru/post/275935/#habracut

Рекурсия. Тренировочные задачи [0]
Рекурсия. Тренировочные задачи
habrabot(difrex,1) — All
2016-01-26 19:30:04


Здравствуй Хабрахабр! В этой статье речь пойдет о задачах на рекурсию и о том как их решать. ![image][1]

### **Кратко о рекурсии**

Рекурсия достаточно распространённое явление, которое встречается не только в областях науки, но и в повседневной жизни. Например, эффект Дросте, треугольник Серпинского и т. д. Самый простой вариант увидеть рекурсию – это навести Web-камеру на экран монитора компьютера, естественно, предварительно её включив. Таким образом, камера будет записывать изображение экрана компьютера, и выводить его же на этот экран, получится что-то вроде замкнутого цикла. В итоге мы будем наблюдать нечто похожее на тоннель. В программировании рекурсия тесно связана с функциями, точнее именно благодаря функциям в программировании существует такое понятие как рекурсия или рекурсивная функция. Простыми словами, рекурсия – определение части функции (метода) через саму себя, то есть это функция, которая вызывает саму себя, непосредственно (в своём теле) или косвенно (через другую функцию). О рекурсии сказано много. Вот несколько хороших ресурсов: [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/53e/cfb/6df/53ecfb6dfd029da416f36d03f2d01aec.jpg ... [>>>]

[Из песочницы] Нечеткий поиск в словаре с универсальным автоматом Левенштейна. Часть 1 [0]
[Из песочницы] Нечеткий поиск в словаре с универсальным автоматом Левенштейна. Часть 1
habrabot(difrex,1) — All
2016-01-26 19:30:03


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

[1]: https://habrastorage.org/files/543/5b4/0f0/5435b40f0ed04ef2971984189149ce95.png
[2]: http://blog.mikemccandless.com/2011/03/lucenes-fuzzyquery-is-100-times-faster.html
[3]: https://habrahabr.ru/post/275937/#habracut

Амнезия FreeBSD [0]
Амнезия FreeBSD
habrabot(difrex,1) — All
2016-01-26 19:30:03


Я никогда не понимал как работает распределение памяти во FreeBSD. Из всего многообразия документации полезное помнилось, лишь

> An urban myth has circulated for years that Linux did a better job avoiding swapouts than FreeBSD, but this in fact is not true. What was actually occurring was that FreeBSD was proactively paging out unused pages in order to make room for more disk cache while Linux was keeping unused pages in core and leaving less memory available for cache and process pages.

Ну лучше чем Linux, да и пусть. Я не против. Но хуже самого непонимая процесса выделения памяти меня убивала _Inactive_ память. Что это такое и можно ли «это» безболезненно использовать? Считать ли эту память доступной для использования приложением? Под cut'ом больше вопросов чем ответов. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275917/#habracut

iOS App Reverse Engineering — (уже) бесплатная книга от китайских мастеров [0]
iOS App Reverse Engineering — (уже) бесплатная книга от китайских мастеров
habrabot(difrex,1) — All
2016-01-26 19:30:03


Для нетерпеливых — сразу [ссылка на PDF][1], (но можно и [купить][2], поддержав автора). [Здесь — Table of contents][3] Автор адресует издание следующим категориям читателей:

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



> The book iOS App Reverse Engineering, as a gift to the whole jailbreak community, is now open-sourced on github
>
> — iOSAppRE (@iOSAppRE)
>
> [12 сентября 2015][4]

[][5]

[1]: https://github.com/iosre/iOSAppReverseEngineering/blob/master/iOSAppReverseEngineering.pdf
[2]: https://www.lulu.com/shop/zishe-sha/ios-app-reverse-engineering/ebook/product-22147315.html
[3]: http://iosre.com/t/ios-app-reverse-engineering-table-of-contents/1078
[4]: https://twitter.com/iOSAppRE/status/642643329331556352
[5]: https://habrahabr.ru/post/275935/#habracut

[Из песочницы] «Hello World!» на C массивом int main[] [0]
[Из песочницы] «Hello World!» на C массивом int main[]
habrabot(difrex,1) — All
2016-01-26 18:30:22


Я хотел бы рассказать о том, как я писал реализацию «Hello, World!» на C. Для подогрева сразу покажу код. Кого интересует как до этого доходил я, добро пожаловать под кат.

#include <stdio.h>
const void *ptrprintf = printf;
#pragma section(".exre", execute, read)
__declspec(allocate(".exre")) int main[] =
{
0x646C6890, 0x20680021, 0x68726F57,
0x2C6F6C6C, 0x48000068, 0x24448D65,
0x15FF5002, &ptrprintf, 0xC314C483
};

[Реализация][1]

[1]: https://habrahabr.ru/post/275861/#habracut

А вы задумывались о безопасности… автомобиля? [0]
А вы задумывались о безопасности… автомобиля?
habrabot(difrex,1) — All
2016-01-26 16:00:06


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




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

[1]: https://habrahabr.ru/post/275505/#habracut

Книга «Создание микросервисов» [0]
Книга «Создание микросервисов»
habrabot(difrex,1) — All
2016-01-26 16:00:06


Привет, Хаброжители! У нас вышла новая книга Сэма Ньюмена. [![image][1]][2] Книга посвящена программированию микросервисов — небольших автономных компонентов, позволяющих добиться модульности и отказоустойчивости любой программы. Теория микро-сервисов тесно связана с философией Unix, способствует улучшению архитектуры любых приложений, дает возможность избегать громоздкого и запутанного кода. Эта книга поможет читателю заново взглянуть на многие, казалось бы, трудноразрешимые проблемы, масшта-бировать любые проекты, ювелирно разрабатывать даже самые сложные системы. Эта книга полна конкретных примеров использования микросервисов, собранных по всему миру, включая их применение в таких организациях, как Netflix, Amazon, Gilt и REA group, пришедших к мысли, что возросшая автономность этой архитектуры дает их командам огромные преимущества. [Читать дальше →][3]

[1]: https://habrastorage.org/files/cf7/43f/9ad/cf743f9adaa14e22944b419156fb2423.jpg
[2]: https://habrahabr.ru/company/piter/blog/275891/
[3]: https://habrahabr.ru/post/275891/#habracut

Какие страны и языки программирования чаще побеждают в игре для программистов CodeBattle? [0]
Какие страны и языки программирования чаще побеждают в игре для программистов CodeBattle?
habrabot(difrex,1) — All
2016-01-26 15:30:04


Привет, Хабр! В прошлом году мы [запустили][1] игру для программистов [CodeBattle][2]. Напомню, идея игры очень простая: вам и сопернику дается задача, вы решаете её на выбранном вами языке. Вы видите код соперника в реальном времени, результаты запуска тестов и можете общаться с ним и зрителями в чате. Кто первый решит задачу (удовлетворит тестам) — тот победил. С тех пор были сыграны тысячи игр, и мы собрали интересную статистику. По состоянию на 31 декабря 2015 года, какие страны и какие языки программирования чаще побеждали? Иными словами, мы наконец можем ответить на вопрос «какой язык круче?» :) Шучу-шучу, давайте не холиварить. Вот статистика за три последних месяца прошлого года: [![][3]][4] [Читать дальше →][5]

[1]: https://habrahabr.ru/company/hexlet/blog/269613/
[2]: https://battle.hexlet.io/?utm_source=habr&utm_medium=blog&utm_campaign=battle_stats
[3]: https://habrastorage.org/files/3d4/ccd/353/3d4ccd353e7c420ea588ad355d6948db.png
[4]: https://habrastorage.org/files/3d4/ccd/353/3d4ccd353e7c420ea588ad355d6948db.png
[5]: https://habrahabr.ru/post/275867/#habracut ... [>>>]

[Из песочницы] Пирожки в дистрибутивной семантике [0]
[Из песочницы] Пирожки в дистрибутивной семантике
habrabot(difrex,1) — All
2016-01-26 15:30:04


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

> из ложных умозаключений
>
>
>
> мы можем истину сложить
>
>
>
> примерно как перемножают ... [>>>]

[Перевод] Реализация Swift словаря [0]
[Перевод] Реализация Swift словаря
habrabot(difrex,1) — All
2016-01-26 15:00:03


![image][1] _Swift словарь представляет собой контейнер, который хранит несколько значений одного и того же типа. Каждое значение связано с уникальным ключом, который выступает в качестве идентификатора этого значения внутри словаря. В отличие от элементов в массиве, элементы в словаре не имеют определенного порядка. Используйте словарь, когда вам нужно искать значения на основе их идентификатора, так же как в реальном мире словарь используется для поиска определения конкретного слова. (прим.)_ **Swift словарь:**

* Swift словарь состоит из двух общих типов: ключей (должны относиться к категории Hashable) и значений;
* Можно создавать записи посредством введения ключа и его значения;
* Значение может задаваться через ссылку на введенный ранее ключ;
* Можно удалить запись, указав соответствующий ключ;
* Каждый ключ связан с одним единственным значением.

Существует несколько способов хранения данных записей (ключей, значений), один из которых предполагает открытую адресацию посредством линейного пробирования, необходимого для запуска Swift-словаря. Рассмотрим пример словаря, рассчитанного на 8 элементов: в нем предусмотрено максимум 7 записей (ключей, значений) и, как минимум, одно пустое место (так называемый пробел) в буфере словаря, благодаря которому происходит своеобразная блокировка поиска по выборкам/вставкам (retrivals/insertions). [Читать дальше →][2] ... [>>>]

[Из песочницы] Первые шаги в Xenko [0]
[Из песочницы] Первые шаги в Xenko
habrabot(difrex,1) — All
2016-01-26 12:30:05


Тот, кто интересуется миром игровых движков, знает, что с первого декабря 2015 года бывший Paradox3D сменил название на Xenko, но так как на Хабре нет туториалов ни по первому, ни по второму — я решил сделать небольшую статью для тех, кто хочет попробовать что-то новое (или не очень) и рассказать об особенностях Xenko. Если вас это заинтересовало — добро пожаловать под кат! ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/a6f/6cb/1ee/a6f6cb1ee2cc4cdeb5c37b2c2e9f95bf.png
[2]: https://habrahabr.ru/post/275859/#habracut

Microsoft выложила на Github инструментарий CNTK для глубинного обучения [0]
Microsoft выложила на Github инструментарий CNTK для глубинного обучения
habrabot(difrex,1) — All
2016-01-26 12:30:05


![][1] Microsoft выложила в открытый доступ исходный код инструментов, которые используются в компании для ускорения разработок в области искусственного интеллекта: набор Computational Network Toolkit опубликован [на Github][2]. [Читать дальше →][3]

[1]: https://habrastorage.org/files/9eb/b5e/084/9ebb5e084b3f4a418ea6ae24efbc7b15.jpg
[2]: https://github.com/Microsoft/CNTK
[3]: https://habrahabr.ru/post/275887/#habracut

Наконец-то: https://habrahabr.ru [0]
Наконец-то: https://habrahabr.ru
habrabot(difrex,1) — All
2016-01-26 12:00:05


UPD: Первая же ветка комментариев показала, что даже на Хабре пока не все серьезно относятся к вопросу; добавил в хаб ИБ — ещё одно напоминание не будет лишним. [][1]

[1]: https://habrahabr.ru/post/275743/#habracut

Что не так с безопасностью в Интернете Вещей: Как Shodan стал «поисковиком спящих детей» [0]
Что не так с безопасностью в Интернете Вещей: Как Shodan стал «поисковиком спящих детей»
habrabot(difrex,1) — All
2016-01-25 19:00:03


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

[1]: https://habrastorage.org/files/8c9/9ce/e29/8c99cee2969f484a99e3124c04daac5c.jpg
[2]: https://habrahabr.ru/company/pt/blog/275853/
[3]: http://images.shodan.io/
[4]: https://habrahabr.ru/post/275853/#habracut

Техники машинного обучения для прогнозирования цен акций: функции индикаторов и анализ новостей [0]
Техники машинного обучения для прогнозирования цен акций: функции индикаторов и анализ новостей
habrabot(difrex,1) — All
2016-01-25 18:00:04


[![][1]][2] В нашем блоге мы уже затрагивали тему предсказания цен акций с помощью [алгоритма адаптивной фильтрации][3]. Финансист из Нью-Йорка Ватсал Шах (Vatsal Shah) в своей [работе][4] рассмотрел возможность использования для этих целей алгоритмов машинного обучения. Мы представляем вашему вниманию главные мысли этого документа. [Читать дальше →][5]

[1]: https://habrastorage.org/files/d08/298/d8c/d08298d8c6ff4c6ab1ff4ae74ec06d7b.png
[2]: https://habrahabr.ru/company/itinvest/blog/275825/
[3]: https://habrahabr.ru/company/itinvest/blog/274821/
[4]: http://www.vatsals.com/Essays/MachineLearningTechniquesforStockPrediction.pdf
[5]: https://habrahabr.ru/post/275825/#habracut

Шифровальная машина NEMA [0]
Шифровальная машина NEMA
habrabot(difrex,1) — All
2016-01-25 18:00:04


Во время Второй мировой войны швейцарская армия использовала усовершенствованную версию коммерческой Enigma K, которую иногда называют Swiss К. Когда швейцарцы обнаружили, что их секретные сообщения расшифровываются как Союзниками так и немцами, они решили разработать собственную шифровальную машину NEMA. NEMA (сокращенно от «Neue Maschine») — электромеханическая шифровальная машина, разработанная компанией Zellweger AG (г. Устер, Швейцария) во время Второй мировой войны и пришедшая на смену знаменитой немецкой Энигме. Машина также известна под названием T-D и как NEMA Modell 45. На первый взгляд у машины насчитывалось 10 роторов, но только 5 из них соединялись электрическим контуром. Также 4 из 5 были кодирующими роторами с 26 контактами с каждой стороны. А пятый диск — рефлекторный, который во время шифровки мог перемещаться (в отличие от Энигмы, где рефлектор был фиксирован). NEMA состояла из клавиатуры на 26 букв (A-Z) для ввода открытых сообщений, а также из 26 лампочек, подсвечивающих нужные буквы шифрованного текста. Но по сравнению с Энигмой, у NEMA были дополнительные переключатели между буквами и числами. Они использовались для соединения с электронным печатающим устройством. В NEMA присутствовали конструктивные улучшения, такие как нерегулярные пошаговые вращения шифрующих роторов (за счет добавления дополнительных колес). Взломать шифр было особенно сложно. ![][1] [Читать дальше →][2] ... [>>>]

[Из песочницы] Недокументированные возможности оптического терминала ZTE ZXHN F660 от МГТС [0]
[Из песочницы] Недокументированные возможности оптического терминала ZTE ZXHN F660 от МГТС
habrabot(difrex,1) — All
2016-01-25 18:00:04


По результатам собственных изысканий родилась идея набросать небольшой Q&A по работе с некоторыми недокументированными функциями оптического терминала ZTE ZXHN F660, устанавливаемого сейчас в квартиры фирмой МГТС. ![][1] Статья расcчитана на начинающих, которые, тем не менее, уже ознакомились с Web-интерфейсом управления терминалом и знают, как делать в нем базовые вещи: смена пароля, активация SAMBA, проброс портов, настройка WLAN, настройка фильтрации, и т.д. В ней мы не будем рассматривать смену прошивки или «отвязку» от провайдера – все вещи, связанные с удаленным обновлением, настройкой VOIP, и т.д. трогать крайне не рекомендую. Оставьте провайдеру возможность выполнять свою работу и обслуживать свое устройство (оно его, а не ваше, если помните договор). [Читать дальше →][2]

[1]: https://habrastorage.org/files/26d/420/226/26d4202266f54ef4bb1349d43a2a8bad.jpg
[2]: https://habrahabr.ru/post/275819/#habracut

Что не так с безопасностью в интернете вещей: Как Shodan стал «поисковиком спящих детей» [0]
Что не так с безопасностью в интернете вещей: Как Shodan стал «поисковиком спящих детей»
habrabot(difrex,1) — All
2016-01-25 18:00:04


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

[1]: https://habrastorage.org/files/8c9/9ce/e29/8c99cee2969f484a99e3124c04daac5c.jpg
[2]: https://habrahabr.ru/company/pt/blog/275853/
[3]: http://images.shodan.io/
[4]: https://habrahabr.ru/post/275853/#habracut

Правительство Великобритании продвигает криптопротокол для VoIP с бэкдором [0]
Правительство Великобритании продвигает криптопротокол для VoIP с бэкдором
habrabot(difrex,1) — All
2016-01-25 18:00:04


Британское правительство совместно с экспертами спецслужбы GCHQ предлагают принять новый стандарт для криптографически защищённых голосовых коммуникаций — протокол под названием MIKEY-SAKKE. Этот протокол якобы должен повысить безопасность VoIP и телефонной связи за счёт шифрования трафика. Но эксперты [обращают внимание][1] на специфические особенности протокола, которые делают его уязвимым по своей архитектуре. ![][2] MIKEY-SAKKE — система шифрования на основе личных данных (ID-based system), которая обязательно требует наличия доверенного центра распространения ключей. Поэтому здесь по существу встроено депонирование ключей и отсутствует совершенная прямая секретность. «Единственным разумным объяснением для проектирования протокола с такими свойствами является прослушка третьей стороной», — [говорит][3] Брюс Шнайер. [Читать дальше →][4]

[1]: https://www.benthamsgaze.org/2016/01/19/insecure-by-design-protocols-for-encrypted-phone-calls/
[2]: https://habrastorage.org/files/142/eec/227/142eec2270134d9cbaa00ca75244d9cd.png
[3]: https://www.schneier.com/blog/archives/2016/01/uk_government_p.html ... [>>>]

[Из песочницы] Как я писал политику безопасности [0]
[Из песочницы] Как я писал политику безопасности
habrabot(difrex,1) — All
2016-01-25 18:00:04


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

[1]: https://habrastorage.org/files/ac5/d4c/720/ac5d4c7202974367b6b0f21d62a6742c.jpg
[2]: https://habrahabr.ru/post/275811/#habracut

Немного о static [0]
Немного о static
habrabot(difrex,1) — All
2016-01-25 18:00:04




#### **Чуть-чуть о статье**

Теперь попробуем создать что-то вроде «глобальной переменной» с помощью ключевого слова **static**.

> _«Они похожи на постоянные, но статические значения не встраиваются в место их использования. Это значит, что каждое значение существует в единственном экземпляре, и у него есть определённый адрес». _

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

[1]: https://habrahabr.ru/post/275791/#habracut

[Перевод] Представляем бесплатную лабораторию программирования Wolfram Programming Lab для изучения языка Wolfram Language [0]
[Перевод] Представляем бесплатную лабораторию программирования Wolfram Programming Lab для изучения языка Wolfram Language
habrabot(difrex,1) — All
2016-01-25 18:00:03


[][1]



_Перевод поста Stephen Wolfram "[Announcing Wolfram Programming Lab][2]". Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][3] за помощь в переводе и подготовке публикации_

----

Я рад объявить о запуске **[Лаборатории программирования Wolfram][4]** — среды для всех, кто хочет обучиться программированию и вычислительному мышлению вместе с [Wolfram Language][5]. **Wolfram Programming Lab** можно запускать как в браузере, так и на настольных системах (Mac, Windows, Linux). Я давно хотел найти способ, позволяющий кому бы то ни было, будь то детям или взрослым, познакомиться с Wolfram Language и всеми его возможностями, даже при полном отсутствии знаний и опыта в сфере программирования. Теперь он у нас есть! Стартовый экран (_см. рис. в самом верху поста_) предоставляет возможность пойти по одному из четырех путей. Во-первых, есть небольшое видео. Далее следует раздел «Попробуйте сами», содержащий несколько весьма простых, но интересных вычислений. [![][6]][7] [Читать дальше →][8]

[1]: http://www.wolfram.com/programming-lab/
[2]: http://blog.wolfram.com/2016/01/19/announcing-wolfram-programming-lab/
[3]: https://habrahabr.ru/users/kirillguzenko/ ... [>>>]

Немного о константах [0]
Немного о константах
habrabot(difrex,1) — All
2016-01-25 13:30:09




#### **Ключевое слово const**



##### **О статье**

Здесь будет рассмотрено использование ключевого слова **const.** С помощью этого слова создаётся константа. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275763/#habracut

[Перевод] Примечания к статье «Как писать на С в 2016 году» [0]
[Перевод] Примечания к статье «Как писать на С в 2016 году»
habrabot(difrex,1) — All
2016-01-25 13:30:09


![][1] _На самом деле так выглядел бы Ассемблер, если бы он был оружием, но с C тоже надо быть предельно аккуратным_ _От переводчика: Данная публикация является переводом статьи-ответа на текст [«How to C in 2016»][2]. Перевод последнего [был опубликован мной][3] в пятницу и вызвал, местами, неоднозначную реакцию сообщества. Наводку на данный «ответ», для поддержания обсуждения вопроса уже в рамках Хабра, дал пользователь [CodeRush][4], за что ему отдельное спасибо._ Ранее в сети была опубликована статья [«Программирование на С в 2016 году»][5] с множеством полезных советов, среди которых, увы, были и не очень удачные идеи. Именно поэтому я решил прокомментировать соответствующие моменты. Пока я готовил новый материал, кто-то заметил, что за работу на C должны браться только ответственные программисты, в то время как безответственным хватит и других языков, в рамках которых имеется больше возможностей для совершенствования имеющихся навыков. Давайте разбираться в секретах специалистов своего дела. [Читать дальше →][6]

[1]: https://habrastorage.org/files/dfb/b54/b1b/dfbb54b1b7c9423b8e3c418463c7e4a1.png
[2]: https://matt.sh/howto-c ... [>>>]

[Перевод] Домашние животные vs крупный рогатый скот [0]
[Перевод] Домашние животные vs крупный рогатый скот
habrabot(difrex,1) — All
2016-01-25 12:00:05


![][1]В ряде статей на Хабре [упоминалось][2] разделение серверов на «pets» и «cattle». Эта терминология пошла с одной небезинтересной статьи за авторством Noah Slater — open source активиста и соавтора CouchDB. Я не смог скрафтить хороший перевод английского «cattle», «животные, выращиваемые в промышленном животноводстве», поэтому под катом вас ждет перевод с котом. Очень крупным. [почитать про животноводство, деплой и облака][3]

[1]: https://habrastorage.org/files/54b/cea/778/54bcea7786d141d08e5d64ffeadcc0a0.png
[2]: https://habrahabr.ru/company/mirantis_openstack/blog/223795/
[3]: https://habrahabr.ru/post/275771/#habracut

[Перевод] Rust и парадокс Блаба [0]
[Перевод] Rust и парадокс Блаба
habrabot(difrex,1) — All
2016-01-25 12:00:05


Несколько недель назад я наткнулся на [сравнительный анализ Rust, D и Go][1] от Андрея Александреску. Андрей, [уважаемый член сообщества C++][2] и главный разработчик [языка программирования D][3], нанес Rust сокрушительный удар под конец своего повествования, высказав нечто, что выглядит довольно проницательным наблюдением: _Чтение кода на Rust навевает шутки о том, как «друзья не позволяют друзьям пропускать день ног» и вызывает в голове комические образы мужчин с халкообразным торсом, балансирующим на тощих ногах. Rust ставит во главу угла безопасность и ювелирное обращение с памятью. В действительности, это довольно редко является настоящий проблемой, и такой подход превращает процесс мышления и написания кода в монотонный и скучный процесс._ После нескольких встреч с Андреем, увидев некоторые из его выступлений, я убедился, что он _любит подшучивать_. Тем не менее, давайте проглотим наживку. Эта шутка смешная только потому, что она выглядит смешной, или может быть потому, что в ней только доля шутки? [Читать дальше →][4]

[1]: https://www.quora.com/Which-language-has-the-brightest-future-in-replacement-of-C-between-D-Go-and-Rust-And-Why ... [>>>]

Centos 7.x USB Install Media (Добавляем Centos в Multiboot) [0]
Centos 7.x USB Install Media (Добавляем Centos в Multiboot)
habrabot(difrex,1) — All
2016-01-25 11:30:08


Как бывало здорово, берешь образ CentOS 6.x, выдергиваешь из него куски, и пихаешь все это на USB флешку, по соседству с другими системами. Но, начиная с Centos 7, сделать это стало немного сложнее, и единственным официальным способом стала запись образа на прямую на носитель (с потерей всего что на нем уже есть). Но, применив немножко смекалки, все решается, прошу под кат: [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275751/#habracut

Использование SikuliX в фоновом режиме на Cloud9 [0]
Использование SikuliX в фоновом режиме на Cloud9
habrabot(difrex,1) — All
2016-01-25 03:30:02


SikuliX (старое название Sikuli) — это инструмент, который позволяет автоматизировать то, что вы видите на экране с помощью визуального распознавания (картинок). На хабре уже есть достаточно информации по [нему][1], но все примеры подразумевают использование реального экрана. Здесь же я опишу свой опыт использования SikuliX в фоновом режиме на облачной IDE [Cloud9][2]. В процессе работы с данным инструментом набил немного шишек, поэтому возможно, мой опыт будет кому-то полезен. Вариантов использования SikuliX достаточно много, вот некоторые из действий, которые вы можете автоматизировать:

* Работа с флеш сайтами (и любими другими)
* Автоматизация браузерных игр (собирать урожай на ферме)
* Работа с десктопными приложениями
* Настройка компьютера
* Разнообразные боты
* Всякого рода рутинная работа с сайтами/документами

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

[1]: http://habrahabr.ru/search/?q=Sikuli
[2]: https://c9.io
[3]: https://habrahabr.ru/post/275717/#habracut

Наконец-то https://habrahabr.ru [0]
Наконец-то https://habrahabr.ru
habrabot(difrex,1) — All
2016-01-23 18:00:02


![][1] UPD: первая же ветка комментариев показала, что даже на хабре пока не все серьезно относятся к вопросу; добавил в хаб ИБ — ещё одно напоминание не будет лишним. [][2]

[1]: https://habrastorage.org/files/6a5/316/49b/6a531649b5a74dc0817cce57a32adf5b.png
[2]: https://habrahabr.ru/post/275743/#habracut

Кроссплатформенный Open Source Time Tracker [0]
Кроссплатформенный Open Source Time Tracker
habrabot(difrex,1) — All
2016-01-23 16:30:02


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

[1]: https://habrastorage.org/files/95f/6e4/8eb/95f6e48ebf5e42419fc5bf78b0031572.png
[2]: https://habrahabr.ru/post/275447/#habracut

Метод Санделиуса для получения случайных перестановок [0]
Метод Санделиуса для получения случайных перестановок
habrabot(difrex,1) — All
2016-01-23 13:00:03


Статьи о получении (псевдо)случайных чисел, о проверке качества полученных последовательностей неизменно вызывают интерес у населения Хабра. Однако в приложениях наряду с последовательностями случайных и псевдослучайных чисел требуется получать [перестановки][1] чисел, имеющие [равномерное распределение][2]. Например, потребность в таких перестановках периодически появляется в криптографических приложениях. Метод описанный ниже предложен Санделиусом (М. Sandelius) еще в 1962 г. в работе [1]. [Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0
[2]: https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D0%B2%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5
[3]: https://habrahabr.ru/post/275731/#habracut

Проект Qt меняет лицензию и открывает код некоторых модулей [0]
Проект Qt меняет лицензию и открывает код некоторых модулей
habrabot(difrex,1) — All
2016-01-23 03:30:02


На прошлой неделе компания Qt Company (подразделение Digia) обновила текст соглашения с организацией KDE Free Qt Foundation и объявила о новой политике лицензирования Qt. Организация KDE Free Qt Foundation была основана в 1998 г. с целью защиты Qt как свободного ПО. Между организацией и компанией Trolltech был заключен договор, позволяющий в случае прекращения разработки свободной версии Qt, выпустить Qt под лицензией типа BSD (или любой другой свободной). Договор обновлялся, по мере того, как права на Qt переходили к Nokia, а затем к Digia. Подробности новой лицензионной политики Qt под катом.



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

[1]: https://habrahabr.ru/post/275725/#habracut

Проект Qt меняет лицензию, а также открывает код некоторых модулей [0]
Проект Qt меняет лицензию, а также открывает код некоторых модулей
habrabot(difrex,1) — All
2016-01-23 03:00:02


На прошлой неделе компания Qt Company (подразделение Digia) обновила текст соглашения с организацией KDE Free Qt Foundation и объявила о новой политике лицензирования Qt. Организация KDE Free Qt Foundation была основана в 1998 г. с целью защиты Qt как свободного ПО. Между организацией и компанией Trolltech был заключен договор, позволяющий в случае прекращения разработки свободной версии Qt, выпустить Qt под лицензией типа BSD (или любой другой свободной). Договор обновлялся, по мере того, как права на Qt переходили к Nokia, а затем к Digia. Подробности новой лицензионной политики Qt под катом.



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

[1]: https://habrahabr.ru/post/275725/#habracut

[Перевод] Процедурная генерация случайных игровых подземелий [0]
[Перевод] Процедурная генерация случайных игровых подземелий
habrabot(difrex,1) — All
2016-01-22 23:30:02


![image][1] В посте подробно рассматривается техника генерации случайных подземелий. Основной алгоритм генерации, пример работы которого можно [посмотреть здесь][2], используется разработчиками игры [TinyKeep][3]. Оригинальный пост от разработчика [был размещён на reddit][4].

#### Оригинальное описание алгоритма

1. Сначала я задаю нужное количество комнат – к примеру, 150. Естественно, цифра произвольная, и чем она больше, тем сложнее будет подземелье. 2. Для каждой комнаты я создаю прямоугольник со случайными шириной и высотой, находящимися в пределах заданного радиуса. Радиус не имеет большого значения, хотя разумно предположить, что он должен быть пропорционален количеству комнат. Вместо равномерно распределённых случайных чисел (какие выдаёт генератор Math.random в большинстве языков), я использую [нормальное распределение Парка-Миллера][5]. В результате вероятность появления маленьких комнат превышает вероятность появления больших. Зачем это надо, объясню позже. Кроме того я проверяю, что соотношение длины и ширины комнаты не слишком велико. Нам не нужны как идеально квадратные комнаты, так и сильно вытянутые. 3. И вот у нас есть 150 случайных комнат, расположенных на небольшом пространстве. Большинство из них наезжают друг на друга. Теперь мы осуществляем их разделение по технологии separation steering, чтобы разделить прямоугольники так, чтоб они не пересекались. В результате они не пересекаются, но находятся достаточно близко друг от друга. 4. Заполняем промежутки клетками размером 1х1. В результате у нас получается квадратная решётка из комнат различного размера. 5. И тут начинается основное веселье. Определяем, какие из клеток решётки являются комнатами – это будут любые клетки с шириной и высотой, превышающими заданные. Из-за распределения Парка-Миллера мы получим сравнительно небольшое количество комнат, между которыми есть довольно много свободного пространства. Но оставшиеся клетки нам также пригодятся. 6. Следующий шаг – связывание комнат вместе. Для этого мы строим граф, содержащий центры всех комнат при помощи [триангуляции Делоне][6]. Теперь все комнаты связаны меж собой непересекающимися линиями. 7. Поскольку нам не нужно, чтобы все комнаты были связаны со всеми, мы строим [минимальное остовное дерево][7]. В результате получается граф, в котором гарантированно можно достичь любой комнаты. 8. Дерево получается аккуратным, но скучным – никаких вам замкнутых ходов. Поэтому мы случайным образом добавляем обратно примерно 15% ранее исключённых рёбер графа. В результате получится граф, где все комнаты гарантированно достижимы, с несколькими замкнутыми ходами. 9. Чтобы превратить его в коридоры, для каждого ребра строится серия прямых линий (в форме Г), идущих по рёбрам графа, соединяющим комнаты. Тут нам пригождаются те клетки, которые остались неиспользованными (те, что не превратились в комнаты). Все клетки, накладывающиеся на Г-образные линии, становятся коридорами. А из-за разнообразия размеров клеток стены коридоров будут неровными, что как раз хорошо для подземелья. И вот [пример результата][8]! Осторожно — под катом много анимированных гифок! [Читать дальше →][9] ... [>>>]

Новости про C++ продукты и JetBrains C++ Night в Санкт-Петербурге [0]
Новости про C++ продукты и JetBrains C++ Night в Санкт-Петербурге
habrabot(difrex,1) — All
2016-01-22 21:30:02


Привет, Хабр! Праздники отгремели, зима в полном разгаре, кто-то уже выкинул новогоднюю елку, а кто-то ждет потепления. А мы упорно трудимся над новыми версиями наших C++ продуктов. Так, например, с декабря открыта программа раннего доступа (Early Access Program) CLion — нашей кросс-платформенной IDE для C/C++. Там очень много всего нового и интересного: [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275723/#habracut

Обновлённое приложение «Мой проездной» в помощь москвичам  [0]
Обновлённое приложение «Мой проездной» в помощь москвичам 
habrabot(difrex,1) — All
2016-01-22 19:30:03


Приложение является частью экосистемы Единой платежной платформы Банка Москвы. Благодаря этому пользователи, зарегистрированные на других сервисах платформы, могут зайти в приложение, используя логин и пароль уже существующей учетной записи – никаких дополнительных танцев с бубном. [Подробнее][1]

[1]: https://habrahabr.ru/post/274259/#habracut

Skype начал скрывать IP адреса по умолчанию [0]
Skype начал скрывать IP адреса по умолчанию
habrabot(difrex,1) — All
2016-01-22 19:00:03


![image][1] Корпорация Microsoft наконец решила проблему с IP адресами в своем мессенджере Skype. Еще четыре года назад было известно, что уязвимость в VoIP мессенджере позволяла злоумышленнику получать IP адреса пользователей в сервисе. Несмотря на то, что Microsoft относительно недавно предоставила возможность пользователям скрывать свой IP, только сейчас эта опция [стала дефолтной][2]. Тяжелее всего приходилось геймерам и стримерам (и тем более геймерам-стримерам). Противники игрока всегда могли вычислить его IP, и осуществить DDoS атаку, выбрасывая геймера из системы. Изначально злоумышленнику нужен был Skype ID, после чего этот идентификатор при помощи сервиса резолвился в IP. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/1f0/949/850/1f0949850dacd17dd5b9b20d4960ff80.png
[2]: http://blogs.skype.com/2016/01/21/to-our-gamers-ip-will-now-be-hidden-by-default-in-latest-update/
[3]: https://habrahabr.ru/post/275695/#habracut

[Из песочницы] Как правильно мониторить UPS ippon с NUT и Zabbix [0]
[Из песочницы] Как правильно мониторить UPS ippon с NUT и Zabbix
habrabot(difrex,1) — All
2016-01-22 19:00:03


Длинный комментарий к [посту][1], в котором автор рассказал как мониторить ippon smart winner с помощью apcupsd. На мой взгляд это не правильное решение. В комментариях всплывал вопрос про NUT и я был удивлен, что никто не рассказал про работающее решение. Будем исправлять.

#### Часть первая: NUT

На самом деле NUT очень даже работает с представителями семейства smart winner от Ippon. И с InnovaRT тоже работает. [Читать дальше →][2]

[1]: https://habrahabr.ru/post/275535
[2]: https://habrahabr.ru/post/275665/#habracut

[Из песочницы] OpenShift: немного внутренностей Gear'ов [0]
[Из песочницы] OpenShift: немного внутренностей Gear'ов
habrabot(difrex,1) — All
2016-01-22 19:00:03




## Немного высокого

Gear — «движок» Openshift, собственно среда исполнения вашего приложения. При бесплатной регистрации сразу дают три. Собственно говоря об устройстве можно ничего и не знать. Но это вредно. 1. Имеется определенная структура каталогов. Для вашего приложения отведен ~/app-root. типа ls

build-dependencies -> runtime/build-dependencies
data
dependencies -> runtime/dependencies
logs
repo -> runtime/repo
runtime

Собственно говоря интересны data и repo. Забавная деталь три каталога являются ссылками на подкаталоги runtime, а runtime/data — линком на data в текущем каталоге. runtime/.state содержит текущее состояние gear'a: started, idle, deploing. 2. Все адреса, пароли, каталоги и прочее содержаться в переменных окружения, с ними то и предстоит работа. Подробно переменные описаны [здесь][1].

## Теперь к земле поближе

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

[1]: https://developers.openshift.com/en/managing-environment-variables.html
[2]: https://habrahabr.ru/post/275605/#habracut

Security Week 03 или неделя патчей: Linux, OpenSSH, Cisco, Yahoo Mail, Apple [0]
Security Week 03 или неделя патчей: Linux, OpenSSH, Cisco, Yahoo Mail, Apple
habrabot(difrex,1) — All
2016-01-22 19:00:02


![][1]В информационной безопасности бывают такие периоды, когда никаких особых открытий не происходит. Вместо этого достаточно рутинная работа по закрытию (или незакрытию) ранее обнаруженных уязвимостей. На этой неделе как раз такой период: самые популярные новости практически полностью посвящены заплаткам. Что ж, тоже неплохо, тем более, что подход у разных компаний к патчам серьезно отличается, да и восприятие этой темы иногда бывает, ну, несколько странным. Простой пример: в конце прошлого года в софте Apple (конкретно Mac OS X и iOS) [насчитали][2] рекордное количество уязвимостей. Ну то есть посмотрели в базу данных CVE, и обнаружили, что больше всего уязвимостей было обнаружено в Mac OS X, iOS и Adobe Flash. В некоторых СМИ даже назвали платформы Apple «самыми опасными», что, конечно, неправда. Ведь связь между «обнаружили уязвимость» и «пользователи в опасности» практически не прослеживается. Наоборот, в контексте базы CVE «обнаружили» как правило означает «закрыли». А это, в общем-то, хорошие новости. Возможно тут дело в том, что многие ухватились за простой и понятный рейтинг дыр, с абсолютными цифрами, которые дают ложное чувство понимания ландшафта угроз. Хорошая попытка «упростить» тему, но нет, с безопасностью этот прием не проходит. Поэтому посмотрим на патчи этой недели внимательнее. Все выпуски дайджеста — [тут][3]. [Читать дальше →][4] ... [>>>]

Во FreeBSD обнаружены критически опасные уязвимости [0]
Во FreeBSD обнаружены критически опасные уязвимости
habrabot(difrex,1) — All
2016-01-22 16:00:06


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

[1]: https://habrastorage.org/files/050/05e/854/05005e854a9040d9b8d190a7f7b38ec5.png
[2]: https://habrahabr.ru/company/pt/blog/275637/
[3]: https://habrahabr.ru/post/275637/#habracut

ChakraCore: проверка JavaScript-движка для Microsoft Edge [0]
ChakraCore: проверка JavaScript-движка для Microsoft Edge
habrabot(difrex,1) — All
2016-01-22 16:00:06


![][1]В декабре 2015 года на конференции JSConf US разработчики объявили, что планируют открыть исходный код ключевых компонентов JavaScript-движка Chakra, работающего в Microsoft Edge. Недавно исходный код ChackraCore под MIT лицензией опубликовали в соответствующем репозитории на GitHub. В статье я расскажу, что удалось найти интересного в проекте с помощью статического анализатора PVS-Studio.

## Введение

[ChakraCore][2] это базовая составляющая Chakra, высокопроизводительный движок JavaScript, который запускает приложения Microsoft Edge и Windows, написанные на HTML/CSS/JS. ChakraCore поддерживает JIT-компиляцию на JavaScript для x86/x64/ARM, сборку мусора и широкий спектр самых последних возможностей JavaScript. [PVS-Studio][3] — это статический анализатор для выявления ошибок в исходном коде программ, написанных на языках С, C++ и C#. Инструмент PVS-Studio предназначен для разработчиков современных приложений и интегрируется в среды Visual Studio 2010-2015. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/4bf/919/24d/4bf91924dae0c9a42ba65ac3ffca2ca2.png
[2]: https://github.com/Microsoft/ChakraCore
[3]: http://www.viva64.com/ru/pvs-studio/ ... [>>>]

[Перевод] Советы о том, как писать на С в 2016 году [0]
[Перевод] Советы о том, как писать на С в 2016 году
habrabot(difrex,1) — All
2016-01-22 15:00:03


![][1] _Если бы язык С был оружием_ _От автора: Наброски для этой статьи появились еще в начале 2015 года, правда, до публикации материалов дело так и не дошло. Наконец, решив, что в ящике моего письменного стола от вышеупомянутого «черновика» не будет никакой пользы, представляю его вашему вниманию в исходном виде. Единственное, что изменилось в тексте – год, с 2015 на 2016. И я всегда рад услышать комментарии по поводу необходимых исправлений, уточнений или даже ваши жалобы. Итак, статья ..._ Первое правило программирования на С – не используйте его, если можно обойтись другими инструментами. Когда найти альтернативный метод не удается, самое время вспомнить о современных заповедях программиста. [Читать дальше →][2]

[1]: https://habrastorage.org/files/da2/e08/e17/da2e08e172854d3ea0b0db284a03685a.png
[2]: https://habrahabr.ru/post/275685/#habracut

Common Lisp SDL2 туториал: урок 1 [0]
Common Lisp SDL2 туториал: урок 1
habrabot(difrex,1) — All
2016-01-22 15:00:03


SDL2 — отличная библиотека, но туториалов по ней не очень много. Common Lisp — отличный язык, но статей по нему катастрофически мало. Думаю этого вполне достаточно, для того чтобы написать этот цикл статей. Почему я выбрал общелисп? Что ж, на вкус и цвет как говорится. Впрочем, причины есть:




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

[1]: https://habrahabr.ru/post/275651/#habracut

Research Day [0]
Research Day
habrabot(difrex,1) — All
2016-01-22 14:00:09


**“Research day is coming”** — вот уже больше года все команды Plesk каждые две недели получают такое сообщение, напоминающее, что пора оторваться от своих текущих задач и заняться чем-то другим. «Свободный от работы день», так еще называют практику, принятую в Google, Apple, Microsoft, Linkedin и много где еще. Насколько она эффективна? Мы в Plesk, например, провели более 70 исследований, требовавших в обычных условиях в 4 раза больше времени. Другой вопрос, что компании понимают над «свободой от работы». В этой статье мы расскажем, что именно мы понимаем под практикой Research Day в нашей компании, как это работает, и что разработчики придумали, пока «отдыхали» от основных задач. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275625/#habracut

Systemd: пишем собственные .service и .target [0]
Systemd: пишем собственные .service и .target
habrabot(difrex,1) — All
2016-01-22 12:00:04


У меня появился Linux на домашнем компьютере, и я поспешил обжиться в новой ОС. Она была установлена с systemd init process. Это было мое первое знакомство с этим новым инструментом. Cвой ноутбук я использую для каждодневной жизни и для программирования. Мне хотелось включать рабочие программы (Apache2 и MySQL) только на время, пока я их использую, чтобы не тратить впустую ресурсы своего компьютера. Дополнительно, для тестирования я написал bash скрипт, который выгружает содержимое одной из MySQL БД c жесткого диска в ОЗУ (в tmpfs) – так тесты выполняются значительно быстрее. По идее, я мог бы начинать свой рабочий день вот так:

systemctl start apache2.service
systemctl start mysqld.service
/root/scripts/mysqld-tmpfs start


И заканчивать его:

systemctl stop apache2.service
systemctl stop mysqld.service
/root/scripts/mysqld-tmpfs stop


Но мне хотелось сделать вещи “как надо”. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275645/#habracut

Project Abacus от Google: биометрия вместо пароля [0]
Project Abacus от Google: биометрия вместо пароля
habrabot(difrex,1) — All
2016-01-22 12:00:04


Соответствие процесса аутентификации пользователей различных сервисов и устройств при помощи связки логин/пароль текущим потребностям и желаниям самих пользователей — большой вопрос. Обсуждений, посвященных поиску возможных альтернатив логину и пароля в Сети тоже очень много, как среди обывателей, так и среди технических специалистов высокого класса. Корпорация Google решила предложить собственный метод аутентификации, где не используется привычная форма с предложением ввести свои данные. Сейчас специалисты компании работают над проектом, получившим название Project Abacus. Работает над проектом команда Advanced Technology and Projects (ATAP). В рамках проекта разработчики пытаются найти надежный способ аутентификации пользователя при помощи биометрии. И здесь имеются в виду не отпечатки пальцев, проект более универсальный. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275649/#habracut

Pages: 1 2 3 4 5 6 7 8 9 10 11 ... 37