RSS
Pages: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 41
[>] Баг в CLR: как затащить объект в песочницу без маршаллинга и вызвать Callback
habra.14
habrabot(difrex,1) — All
2015-01-30 13:35:21


Добрый день! Надеюсь, я уже завоевал на Хабре достижение «узнал автора по заголовку» -) Однако сегодня речь пойдет о свежей, еще не закрытой уязвимости в .Net, на которую меня навел своей мыслью один человек (кто подкинет ему инвайт?), который написал мне на почту:

> Вы пытались IL кодом приводить объекты к строковому типу и передавать в другие домены?

Сначала я его не понял, но потом родился пример кода, который пробрасывает любой объект типа, находящегося в SharedDomain в песочницу и позволяет использовать его методы БЕЗ маршаллинга. Дырой, с одной стороны это назвать достаточно сложно, т.к. почву для этого должен подготовить хост. И не самым обычным способом, надо заметить. Но с другой стороны… Да, это ![][1] . Первое, что нам понадобится — это ставшие обыденностью, методы EntityPtr.ToPointer() и \*.ToInstance() из [![][2] DotNetEx][3]. Их комбинация заставляет приводить объект к несовместимому типу. Т.е. к тому типу, которым он не является:



Естественно, если вызвать любой метод у такой «строки», ничего не получится: вылетит Exception (кроме виртуальных методов от object — их позиции в таблице вирт методов совпадут с переопределенными в нашем типе и вызов произойдет корректно) Однако, поскольку строка является уже сериализованным объектом, то при маршаллинге она передается по ссылке, без копирования. Это значит, что мы можем прокинуть ее в метод, код которого выполняется в «песочнице» и там, внутри, сделать кастинг обратно в тип. [Читать дальше →][4]

[1]: //habrastorage.org/files/06d/302/e4f/06d302e4f18d4fb88b7051f17b212c13.png
[2]: //habrastorage.org/files/979/38e/df1/97938edf1170406c842b0613d0c84ae9.png
[3]: https://github.com/mumusan/dotnetex
[4]: http://habrahabr.ru/post/249135/#habracut

[>] Skyforge: технологии рендеринга
habra.14
habrabot(difrex,1) — All
2015-01-30 13:35:21


![][1] Всем привет! Меня зовут Сергей Макеев, и я технический директор в проекте Skyforge в команде Allods Team, игровой студии Mail.Ru Group. Мне хотелось бы рассказать про технологии рендеринга, которые мы используем для создания графики в Skyforge. Расскажу немного о задачах, которые стояли перед нами при разработке Skyforge с точки зрения программиста. У нас свой собственный движок. Разрабатывать свою технологию дорого и сложно, но дело в том, что на момент запуска игры (три года назад) не было технологии, которая могла бы удовлетворить всем нашим запросам. И нам пришлось самим создать движок с нуля. [Читать дальше →][2]

[1]: //habrastorage.org/files/0aa/050/406/0aa050406432462d8bad41a05e225f44.jpg
[2]: http://habrahabr.ru/post/248873/#habracut

[>] [Из песочницы] Как нельзя проводить олимпиаду или настройка ejudge с распределением вычислений
habra.14
habrabot(difrex,1) — All
2015-01-30 14:30:03


В одном отдаленном регионе нашей необъятной страны как-то раз проходил очередной региональный этап Всероссийской олимпиады школьников по информатике и программированию. До 2014 года всё было хорошо, проводили олимпиаду на старой системе, написанной в далеких 2004 годах очень одаренным программистом, на Delphi. С тех пор его никто не менял — работал, ну и ладно. В 2014 году решили попробовать ejudge. Поднимать всё с исходников не стали, решили взять готовое, образ для виртуальной машины. Всё было хорошо, все работало. Но тут наступил 2015 год, в котором некоторые пункты проведения олимпиады немножко, совсем чуть-чуть поменяли, и нужные «человеки» об этих изменениях узнали только за 1-2 дня до начала… Тут-то и начинается самое веселое. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/249293/#habracut

[>] Простые решения. Прокачиваем картинки
habra.14
habrabot(difrex,1) — All
2015-01-30 15:00:01


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

[1]: //habrastorage.org/files/f9e/036/05d/f9e03605d5cc47e886099323bcfae45c.jpg
[2]: http://habrahabr.ru/company/mailru/blog/248443/
[3]: http://habrahabr.ru/post/248443/#habracut

[>] Блокируем блокировку от Роскомнадзора
habra.14
habrabot(difrex,1) — All
2015-01-30 16:30:05


Когда в очередной раз переадресовываешься на страницу от провайдера, с предупреждением о том, что доступ к запрашиваемому сайту заблокирован, и приходится вручную вытаскивать URL сайта, задумываешься об автоматизации этой рутинной деятельности. ![image][1] В моём частном случае речь пойдёт о блокировке от Билайна, чтобы избавится от её назойливости нам понадобится веб сервер, подойдёт установленный на локальной машине. Билайн перекидывает нас на страницу **[blackhole.beeline.ru/?url=][2]....**, где в переменной url в закодированном urlencode виде содержится наш адрес. Копировать, и декодировать его каждый раз руками достаточно скушное дело, поэтому мы попробуем использовать нашу эволюционную особенность — мозг. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/bbd/6f8/7ad/bbd6f87ad045983807a22cb65607cdc7.jpg
[2]: http://blackhole.beeline.ru/?url=
[3]: http://habrahabr.ru/post/249315/#habracut

[>] Система самообразования IronBrain (beta)
habra.14
habrabot(difrex,1) — All
2015-01-30 18:30:02


Хотелось бы поделится с вами системой для самообразования, которую я разрабатываю уже в течении нескольких лет и которая уже принесла мне . P.S.: Проект полностью открытый и свободный, не имеет никакой коммерческой направленности, сделан от души и выложен на ваше рассмотрение — вдруг кому пригодится… ![][2] [Читать дальше →][3]

[1]: http://ironbrain.org/
[2]: //habrastorage.org/files/3c3/74e/4f3/3c374e4f3ca84295916947f5e7da2fa7.jpg
[3]: http://habrahabr.ru/post/249187/#habracut

[>] Первый опыт с RealSense
habra.14
habrabot(difrex,1) — All
2015-01-30 19:00:03


Однажды я [писал][1] на Хабр про различные технологии получения 3D изображения с одной камеры. Заканчивал я ту статью словами: “Сам я, правда, до сих пор не сталкивался ни с одной из этих камер, что жалко и досадно." И вот, внезапно, не прошло и года, Intel [проводит][2] в Москве семинар + хакатон по новому поколению своих 3D камер (Intel RealSense). Любопытство взыграло: мы с коллегой записались на мероприятие. Как выяснилось, не зря. Хакатон мы выиграли + получили Developer-версию камеры, которую теперь мучаем. Статья посвящена двум вещам: 1) Рассказу про камеру, её плюсы и недостатки. Обзор того, что можно сделать, а для каких задач она не годится. 2) Рассказ про концепцию, которую мы предложили на хакатоне и за которую получили первое место. [Читать дальше →][3]

[1]: http://geektimes.ru/post/224605/
[2]: http://habrahabr.ru/company/intel/blog/247839/
[3]: http://habrahabr.ru/post/249009/#habracut

[>] STM32 и FreeRTOS. 2. Семафорим по-черному
habra.14
habrabot(difrex,1) — All
2015-01-30 20:30:02


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

[1]: http://habrahabr.ru/post/249273/
[2]: http://habrahabr.ru/post/249283/#habracut

[>] Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 6 из 6
habra.14
habrabot(difrex,1) — All
2015-01-30 21:00:02




# Содержание основного курса



* [Статья 1: алгоритм Брезенхэма][1]
* [Статья 2: растеризация треугольника + отсечение задних граней][2]
* [Статья 3: Удаление невидимых поверхностей: z-буфер][3]
* Статья 4: Необходимая геометрия: фестиваль матриц
* [4а: Построение перспективного искажения][4]
* [4б: двигаем камеру и что из этого следует][5]
* [Статья 5: Пишем шейдеры под нашу библиотеку][6]
* [**Статья 6: Чуть больше, чем просто шейдер: просчёт теней**][7]



### Улучшение кода

__

* [Статья 3.1: Настала пора рефакторинга][8]
* красивый класс матриц
* как работает новый растеризатор



# Shadow mapping

Ну вот наш краткий курс подходит к концу, задача на сегодня — научиться отрисовывать тени (внимание, просчёт полутеней — это отдельная тема): ![][9] Как всегда, код доступен [на гитхабе][10] [Читать дальше →][11]

[1]: http://habrahabr.ru/post/248153/
[2]: http://habrahabr.ru/post/248159/
[3]: http://habrahabr.ru/post/248179/
[4]: http://habrahabr.ru/post/248611/
[5]: http://habrahabr.ru/post/248723/
[6]: http://habrahabr.ru/post/248963/
[7]: http://habrahabr.ru/post/249139/
[8]: http://habrahabr.ru/post/248909/
[9]: http://habrastorage.org/getpro/habr/post_images/50d/e2a/be9/50de2abe990efa345664f98c9464a4c8.png
[10]: https://github.com/ssloy/tinyrenderer/tree/0c1d955e4f86c25f31f97e4f4563313ddba0c104
[11]: http://habrahabr.ru/post/249139/#habracut

[>] Приглашение на FOSDEM 2015
habra.14
habrabot(difrex,1) — All
2015-01-31 01:00:03




> Друзья, FOSDEM уже в эти выходные! На
>
> [стенде][1]
>
> ReactOS ожидаются: Colin Finck, Pierre «HeisSpiter» Schweitzer, Giannis «smiley» Adamopoulos — впервые увидимся лично (не только я, но и остальные члены команды с ним никогда не встречались до этого момента), и я, Alekesy «Fireball» Bragin — мне очень приятно снова оказаться на этом замечательном событии.

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

[1]: https://fosdem.org/2015/stands/
[2]: //habrastorage.org/files/eca/c00/6b7/ecac006b777a46d2879f2f31b6c6650e.jpg
[3]: http://habrahabr.ru/post/249347/#habracut

[>] Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 3.14 из 6
habra.14
habrabot(difrex,1) — All
2015-01-31 03:00:02




# Содержание основного курса



* [Статья 1: алгоритм Брезенхэма][1]
* [Статья 2: растеризация треугольника + отсечение задних граней][2]
* [Статья 3: Удаление невидимых поверхностей: z-буфер][3]
* Статья 4: Необходимая геометрия: фестиваль матриц
* [4а: Построение перспективного искажения][4]
* [4б: двигаем камеру и что из этого следует][5]
* [Статья 5: Пишем шейдеры под нашу библиотеку][6]
* [Статья 6: Чуть больше, чем просто шейдер: просчёт теней][7]

### Улучшение кода

__

* [Статья 3.1: Настала пора рефакторинга][8]
* **[Статья 3.14: Красивый класс матриц][9]**
* как работает новый растеризатор



#### 4 Приветствие и вступление

_Нумерация в прошлой статье закончилась на 3, в этой будем продолжать нумеровать насквозь._ **UPD: ВНИМАНИЕ! Раздел, начиная с номера 3.1, 3.14 и 3.141 и далее, будет о тонкостях реализации основы основ компьютерной графики — линейной алгебры и вычислительной геометрии. О принципах графики пишет [haqreu][10], я же буду писать о том, как это можно внятно запрограммировать!** Эта статья является продолжением серии статей о практической реализации элементов вычислительной геометрии, и, в частности, программного отрисовщика, с использованием C++98. Мы с [haqreu][11] сознательно идем на использование прошлой версии стандарта и написание собственной геометрической библиотеки для того, чтобы, во-первых, выпустить код примеров, которые без особых трудностей будут компилироваться большинством имеющихся компиляторов, а во-вторых, чтобы в нашем коде не было ничего, что скрыто в недрах библиотеки. В статье излагаются вопросы реализации шаблона прямоугольной матрицы `template class mat;`

##### 4\.1 Благодарности

Я выражаю огромную признательность [haqreu][12], как основоположнику данного курса. Так держать! Я очень признателен [lemelisk][13] за предварительное рецензирование и ревью моих исходников. Спасибо за плодотворные дискуссии! [Познавательного чтения!][14]

[1]: http://habrahabr.ru/post/248153/
[2]: http://habrahabr.ru/post/248159/
[3]: http://habrahabr.ru/post/248179/
[4]: http://habrahabr.ru/post/248611/
[5]: http://habrahabr.ru/post/248723/
[6]: http://habrahabr.ru/post/248963/
[7]: http://habrahabr.ru/post/249139/
[8]: http://habrahabr.ru/post/248909/
[9]: http://habrahabr.ru/post/249101/
[10]: http://habrahabr.ru/users/haqreu/
[11]: http://habrahabr.ru/users/haqreu/
[12]: http://habrahabr.ru/users/haqreu/
[13]: http://habrahabr.ru/users/lemelisk/
[14]: http://habrahabr.ru/post/249101/#habracut

[>] CSRF в моем домашнем роутере и как я ее закрыл
habra.14
habrabot(difrex,1) — All
2015-01-31 13:00:02


_В продолжение публикации [«Был получен доступ к тысячам персональных данных пользователей «Билайн проводной интернет»»][1]._ Как вы уже узнали, в этой небольшой коробочке скрывается довольно много интересного. Есть такая совершенно очевидная и в то же время сравнительно невинная ошибка, [CSRF][2]. Примечательно, что она находится именно в тех роутерах, в которых ничего из недавней статьи нет. Однако, в отличие от тех багов, ее могут эксплуатировать не только ваши соседи, а кто угодно, вроде коварного собеседника в чате или единожды посещенного сайта. CSRF работает так: каким-либо образом попросить браузер жертвы загрузить сочиненный url, при этом целевой сайт, узнав ваш браузер, что-то сделает, как будто этого хотели вы. Примерно вот так будет выглядеть адрес от человека, собирающего ботнет для дерзкой icmp-атаки на ya.ru:

http://192.168.1.1/apply.cgi?
current_page=Main_AdmStatus_Content.asp&
next_page=Main_AdmStatus_Content.asp&
next_host=192.168.1.1&
sid_list=FirewallConfig%3B&
group_id=&
modified=0&
action_mode=+Refresh+&
first_time=&
action_script=&
SystemCmd=nohup+ping+ya.ru+%26&
action=Refresh



Есть то, что защищает обладателей типичных CSRF-уязвимых роутеров, это с большой вероятностью отсутствующая у жертвы в момент атаки авторизованная сессия, что сводит на нет любой удачно сформированный от ее имени запрос. А вы знали, что Safari не имеет привычки забывать\* один раз введенные данные http аутентификации? Я вот не знал, но уже несколько недель как захожу в веб интерфейс не вводя пароль, хотя никогда не просил его сохранять. И, что удивительно, даже ничего не могу с этим сделать. Иначе говоря, если роутер при логине показывает такое системное окошко с предложением пройти аутентификацию, а у вас Safari, то закончить сессию так просто не получится. На этом месте я осознал необходимость что-то со всем этим сделать. [Топорное решение проблемы под катом][3]

[1]: http://habrahabr.ru/post/243997/
[2]: https://ru.wikipedia.org/wiki/Межсайтовая_подделка_запроса
[3]: http://habrahabr.ru/post/248917/#habracut

[>] STM32 и FreeRTOS. 3. Встаем в очередь
habra.14
habrabot(difrex,1) — All
2015-01-31 14:30:03


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

[1]: http://habrahabr.ru/post/249273/
[2]: http://habrahabr.ru/post/249283/
[3]: http://habrahabr.ru/post/249381/#habracut

[>] Стартовали Стэнфордские курсы cs193p 2015: iOS 8 + Swift и только Swift
habra.14
habrabot(difrex,1) — All
2015-01-31 16:30:02


![image][1] В [прошлой публикации][2] я писала о том, что ожидаются Стэнфордские курсы cs193p 2015. И вот они стартовали. Вернее в Стэнфорде они стартовали давно, 5 января 2015 года. Но только сейчас их выкладывают в iTunes [Developing iOS 8 Apps with Swift][3] В первой же лекции Пол Хегэрти (Paul Hegarty) четко сказал, что в курсе будет использоваться только [Swift][4]. Стэнфорд окончательно переключился на Swift не только потому, что многие компании в Силиконовой долине проводят интервью с выпусниками на позиции разработчиков iOS приложений на Swift, но и потому, что с [благословления Apple][5] свободное распространение такого качественного контента c 1.2 миллионами скачиваний откроет для многих разработчиков по всему миру язык разработки iOS приложений Swift. Для того, чтобы воспользоваться этим контентом, вам нужно иметь только Mac — Macbook Pro, MacBook Air, iMac. Все программное обеспечение — бесплатное. Уже выложены 4 лекции и одно домашнее задание. Если кто-то чувствует себя не совсем уверенно с английским или просто хотите почитать материал на русском языке, предлагаю свой неавторизованный конспект лекций на русском языке. Выложена [Лекция 1 CS193P Winter 2015 — Логистика курса, обзор iOS 8.][6] В ближайшее время будет выложены остальные. Блестящие лекции профессора Пола Хегэрти (Paul Hegarty) будут полезны как начинающим, так и опытным программистам. [Читать дальше →][7]

[1]: http://habrastorage.org/files/1b9/ac6/5d8/1b9ac65d8f4c479da7c85ba9facc7b4f.png
[2]: http://habrahabr.ru/post/244353/
[3]: https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099?utm_campaign=This_Week_in_Swift_26&utm_medium=email&utm_source=This%2BWeek%2Bin%2BSwift
[4]: https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/GuidedTour.html#//apple_ref/doc/uid/TP40014097-CH2-ID1
[5]: https://developer.apple.com/news/?id=01272015a&utm_campaign=iOS_Dev_Weekly_Issue_183&utm_medium=email&utm_source=iOS%2BDev%2BWeekly
[6]: http://bestkora.com/IosDeveloper/
[7]: http://habrahabr.ru/post/249353/#habracut

[>] [Из песочницы] Почему компании не умеют обращаться с деньгами
habra.14
habrabot(difrex,1) — All
2015-02-01 02:00:03


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

[1]: //habrastorage.org/files/8ee/ccc/054/8eeccc054bd24ae3a2fedcded239ae56.jpg
[2]: http://habrahabr.ru/post/249369/#habracut

[>] Как подружить QML с чужим OpenGL контекстом. Часть III: Обработка пользовательского ввода
habra.14
habrabot(difrex,1) — All
2015-02-01 02:30:02


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

[1]: http://doc.qt.io/qt-5/qquickwindow.html
[2]: http://doc.qt.io/qt-5/qquickrendercontrol.html
[3]: http://habrahabr.ru/post/249383/#habracut

[>] Пишем свой нагрузочный тестер на Node.js
habra.14
habrabot(difrex,1) — All
2015-02-01 05:30:02


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

[1]: http://habrahabr.ru/post/249403/#habracut

[>] Лекции Технопарка. 1 семестр. Web-технологии
habra.14
habrabot(difrex,1) — All
2015-02-01 17:00:03


Сегодня этим постом мы открываем цикл еженедельных публикаций учебных материалов [Технопарка][1]. Если кто-то ещё не знает, Технопарк — это совместный образовательный проект Mail.Ru Group и МГТУ им. Н. Э. Баумана. На данный момент здесь проходит обучение по 20 IT-дисциплинам 91 наиболее талантливый студент. Технопарк существует с 18 ноября 2011 года, а первые счастливчики приступили к занятиям в декабре 2011 года. Обучение в Технопарке совершенно бесплатное, оно проходит после занятий в университете. Стать участниками проекта могут студенты 3-5 курсов. Хотя для 2 и 6 курсов можем сделать исключение. Обучение длится 2 года, оно разбито на 4 семестра, в каждом из которых проходят по 3-4 предмета. Первый блок первого семестра посвящён всему, что связано с web-технологиями, от истории возникновения до программирования и безопасности web-приложений.

#### **Лекция 1. Введение**

На вводном занятии вы познакомитесь с краткой историей развития интернета, основными трендами в развитии web-приложений, облачных сервисов и мобильных приложений. Также на лекции разобрано устройство и работа несложного web-приложения, обсуждены такие фундаментальные понятия, как система адресации в интернете, домены, HTML-страницы и протокол HTTP. Напоследок кратко рассказано о CGI-скриптах, их назначении и особенностях работы.




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

[1]: https://tech-mail.ru/
[2]: http://habrahabr.ru/post/248745/#habracut

[>] Pundle — bundler для python
habra.14
habrabot(difrex,1) — All
2015-02-01 22:00:02


Начну с пиара другого проекта, который мне очень нравится использовать — pyenv. Это порт rbenv для python, который служит для установки нужных версий python в папку пользователя в недра ~/.pyenv, и активации нужной версии руками или, что более грамотно, через файл .pyenv-version в папке проекта. Следуя этой старой доброй традиции обмениваться здравыми идеями с ruby сообществом, я решил портировать идею Bundler (http://bundler.io/), и назвал его Pundle. Это вторая часть рабочего процесса связанного с версиями интерпретаторов и пакетов в руби, и как и первая, достаточно разумна. Главная идея pundle в том, чтобы не создавать отдельную директорию на каждую комбинацию версий пакетов как в virtualenv, а вместо этого поставить все пакеты в директории типа .pundlerdir/python-version-variant/package-name-2.3.4, и при старте проекта, взяв информацию из frozen.txt, активировать нужные версии пакетов [Читать дальше →][1]

[1]: http://habrahabr.ru/post/249425/#habracut

[>] [Перевод] План EFF по устранению массовой слежки
habra.14
habrabot(difrex,1) — All
2015-02-02 01:30:03


![image][1] _Electronic Frontier Foundation (EFF), Фонд Электронных Рубежей — основанная в июле 1990 в США некоммерческая правозащитная организация, с целью защиты заложенных в Конституции и Декларации независимости прав в связи с появлением новых технологий связи. Основатели — Джон Гилмор, Джон Перри Барлоу, Митч Капор._ С прекращением массовой слежки есть проблема. Организация, осуществляющая самые пристальные и глубоко проникающие наблюдения, Агентство Национальной Безопасности, связано законами США. Для американцев это хорошо. Законы США и её Конституция защищают американских граждан и легальных резидентов от наблюдения, не подкреплённого ордером. То есть, юридически мы можем противостоять домашнему наблюдению или массовому прослушиванию. Кроме того, конгресс США избирается американцами. Получается, что представители в Конгрессе обязаны гражданам их работами, и публичное давление избирателей может повлиять на принятие законов в будущем – законов, которые могут предотвратить самые вопиющие практики АНБ. Но как насчёт всех остальных людей? 96% населения Земли являются гражданами других государств и живут вне границ США. Они не голосуют за конгрессменов. И законы США защищают только граждан страны. Что может EFF сделать для защиты миллиардов людей, подвергшимся подглядыванию со стороны АНБ вне США? [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/8c0/ef6/728/8c0ef6728ac2719eb777ae07eee8d17a.jpg
[2]: http://habrahabr.ru/post/249437/#habracut

[>] Кросс-компиляция в Go
habra.14
habrabot(difrex,1) — All
2015-02-02 09:30:04


Несмотря на то, что кроссплатформенность стала фактически стандартным атрибутом практически всех современных языков и библиотек, создавать по-настоящему кроссплатформенный продукт, всё равно было непросто. Компилируемые языки и сопутствующие библиотеки требовали сложной установки и настройки среды сборки и библиотек, а интерпретируемые — обязывали иметь или деплоить в составе необходимую версию интерпретатора. Есть немало проектов, пытающихся сделать этот процесс чуть более простым, но зачастую единственным решением оставалось устанавливать отдельный сервер и компилировать нативно. В Go кросс-платформенность вышла на тот уровень, когда впервые можно смело отказаться от compile farms, специально настроенных dev-сред, виртуальных машин для сборки или chroot/docker-dev решений. И это ещё один серьезный game-changer, подробнее о котором я и хочу рассказать и показать на примерах Поехали. ![][1] [Читать дальше →][2]

[1]: //habrastorage.org/files/1dd/0dc/931/1dd0dc9313c84154b96560aadf1ade50.jpg
[2]: http://habrahabr.ru/post/249449/#habracut

[>] Как я выиграл Intel RealSense хакатон
habra.14
habrabot(difrex,1) — All
2015-02-02 11:30:03


Однажды я [писал][1] на Хабр про различные технологии получения 3D изображения с одной камеры. Заканчивал я ту статью словами: «Сам я, правда, до сих пор не сталкивался ни с одной из этих камер, что жалко и досадно». И вот, внезапно, не прошло и года, Intel [проводит][2] в Москве семинар и хакатон по новому поколению своих 3D камер (Intel RealSense). Любопытство взыграло: мы с коллегой записались на мероприятие. Как выяснилось, не зря. Хакатон мы выиграли и получили Developer-версию камеры, которую теперь мучаем. В статье рассказывается о двух вещах:

1. Про камеру, её плюсы и недостатки; что с помощью нее можно сделать, а для каких задач она не годится.
2. Про концепцию, которую мы предложили на хакатоне и за которую получили первое место.

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

[1]: http://geektimes.ru/post/224605/
[2]: http://habrahabr.ru/company/intel/blog/247839/
[3]: http://habrahabr.ru/post/249009/#habracut

[>] [Перевод] Система автоматической оценки возраста по изображениям лиц
habra.14
habrabot(difrex,1) — All
2015-02-02 12:00:02


**Аннотация** Люди — это самые важные объекты слежения в системах видеонаблюдения. Тем не менее, слежение за человеком само по себе не дает достаточной информации об его мотивах, намерениях, желаниях и т.п. В этой работе мы представляем новую и надежную систему для автоматической оценки возраста с помощью технологий компьютерного зрения. Она использует глобальные особенности лица, полученные на основе комбинирования [вейвлетов Габора][1] и сохранение ортогональности локальных проекций [Orthogonal Locality Preserving Projections][2], OLPP). Кроме того, система способна оценивать возраст по изображениям в реальном времени. Это означает, что предлагаемая система имеет больший потенциал по сравнению с другими полуавтоматическими системами. Результаты, полученные в процессе применения предлагаемого подхода, могут позволить получить более ясное понимание алгоритмов в области оценки возраста, необходимых для разработки приложений, актуальных для реального применения. _Ключевые слова: _вейвлеты Габора, изображение лица, оценка возраста, метод опорных векторов ([Support Vector Machine][3], SVM). [Читать дальше →][4]

[1]: https://ru.wikipedia.org/wiki/%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80_%D0%93%D0%B0%D0%B1%D0%BE%D1%80%D0%B0
[2]: http://www.cad.zju.edu.cn/home/dengcai/Publication/Conference/f33-cai.pdf
[3]: http://en.wikipedia.org/wiki/Support_vector_machine
[4]: http://habrahabr.ru/post/248991/#habracut

[>] Как устроен наш код. Серверная архитектура одного проекта
habra.14
habrabot(difrex,1) — All
2015-02-02 12:30:02


Так сложилось, что к тридцати годам я менял работу лишь единожды и не имел возможности на собственном опыте изучить, как в различных компаниях устроены веб-проекты, расчитанные на высокую скорость отклика и большое количество пользователей._ <irony> Так что, дорогой хабраюзер, попавший в поле моего зрения в оффлайне, увидев меня, лучше беги, пока я не начал докучать тебе вопросами на тему обработки ошибок, логирования и процесса обновления на рабочих серверах</irony>_. Мне интересен не столько набор используемых технологий, сколько принципы, на которых построена кодовая база. Как код разбит на классы, как классы распределены по слоям, как бизнес-логика взаимодействует с инфраструктурой, каковы критерии по которым оценивается качество кода и как организован процесс разработки нового функционала. К сожалению, подобную информацию найти непросто, в лучшем случае всё ограничивается перечислением технологий и кратким описанием разработанных велосипедов, а хочется, конечно, более детализированной картинки. В этом топике я попытаюсь как можно более подробно описать, как устроен код в компании, где работаю я. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/249453/#habracut

[>] Как мы выиграли Intel RealSense хакатон
habra.14
habrabot(difrex,1) — All
2015-02-02 12:30:02


Однажды я [писал][1] на Хабр про различные технологии получения 3D изображения с одной камеры. Заканчивал я ту статью словами: «Сам я, правда, до сих пор не сталкивался ни с одной из этих камер, что жалко и досадно». И вот, внезапно, не прошло и года, Intel [проводит][2] в Москве семинар и хакатон по новому поколению своих 3D камер (Intel RealSense). Любопытство взыграло: мы с коллегой записались на мероприятие. Как выяснилось, не зря. Хакатон мы выиграли и получили Developer-версию камеры, которую теперь мучаем. В статье рассказывается о двух вещах:

1. Про камеру, её плюсы и недостатки; что с помощью нее можно сделать, а для каких задач она не годится.
2. Про концепцию, которую мы предложили на хакатоне и за которую получили первое место.

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

[1]: http://geektimes.ru/post/224605/
[2]: http://habrahabr.ru/company/intel/blog/247839/
[3]: http://habrahabr.ru/post/249009/#habracut

[>] STM32 и FreeRTOS. 4. Шаг в сторону HAL
habra.14
habrabot(difrex,1) — All
2015-02-02 13:30:02




> HAL 9000: I'm completely operational, and all my circuits are functioning perfectly.

_ или это должно быть первой статьей, но я почему-то всегда пишу подобное ближе к концу_ Раньше было [про потоки][1], [про семафоры][2] и [очереди][3] ![][4] Одним из основных _препятствий_ для перехода на STM32 является обилие текстов, инструкций и мануалов, описывающих работу с контроллером. Виновником этого обилия стала сама STMicroelectronics, которая поначалу планомерно запутывала своих пользователей, а затем предлагала неверные варианты выхода. Проблема заключается в многообразии выпускаемых контроллеров, которые почему-то требовали разных процедур инициализации даже для одной и той же периферии. И код, работающий на одном контроллере, отказывался работать на другом. В результате по сети гуляют сборники шаманских рецептов, для понимания которых требуется куча времени и воскуривание даташитов. Но не так давно ST поняла, в какую яму она угодила и начала усиленно из нее выбираться, привлекая новые силы. И именно благодаря этому сейчас время старта сократилось до несуразно маленьких величин. Как это выглядит на практике? Добро пожаловать под кат [Читать дальше →][5]

[1]: http://habrahabr.ru/post/249273/
[2]: http://habrahabr.ru/post/249283/
[3]: http://habrahabr.ru/post/249381/
[4]: //habrastorage.org/files/e26/91e/d71/e2691ed716404eada56c62880aff6a86.png
[5]: http://habrahabr.ru/post/249395/#habracut

[>] [Перевод] Отображение молекулярных орбиталей с помощью языка Wolfram Language (Mathematica)
habra.14
habrabot(difrex,1) — All
2015-02-02 14:30:03






_Перевод поста Jason B. "[Plotting electronic orbitals using Mathematica][1]". Выражаю благодарность за помощь в переводе участнику сообщества ВКонтакте Русскоязычной поддержки Wolfram Mathematica [Курбану Магомедову][2]. Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, а также дополнительные материалы, можно [здесь][3]._ Химикам часто бывает полезно изображение [молекулярных орбиталей][4] (МО). Они используются для описания [волновой функции][5] электронов в атомах или молекулах. Как правило, это результаты различных квантово-химических или квантово-физических расчетов, производимых в специализированном программном обеспечении для расчета МО, которые представлены в виде [cube-файла][6], разработанного [Gaussian][7]. Эти файлы содержат объемные данные для построения орбиталей на трехмерной сетке. Существует множество приложений для просмотра cube-файлов, такие как [VMD][8] или [GaussView][9], но я хотел бы воспользоваться возможностями _Mathematica_, которые она дает для совмещения и создания различных типов графических объектов, а также автоматизации всего процесса, что в итоге позволило эффективно создавать кадры для [видео][10], в котором можно наблюдать изменение МО.




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

[1]: http://mathematica.blogoverflow.com/2013/09/plotting-electronic-orbitals-using-mathematica/
[2]: http://vk.com/iamkurban
[3]: http://goo.gl/uJjfcu
[4]: https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%BE%D0%BB%D0%B5%D0%BA%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D1%85_%D0%BE%D1%80%D0%B1%D0%B8%D1%82%D0%B0%D0%BB%D0%B5%D0%B9
[5]: https://ru.wikipedia.org/wiki/%D0%92%D0%BE%D0%BB%D0%BD%D0%BE%D0%B2%D0%B0%D1%8F_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F
[6]: http://paulbourke.net/dataformats/cube/
[7]: http://www.gaussian.com
[8]: http://www.ks.uiuc.edu/Research/vmd/plugins/molfile/cubeplugin.html
[9]: http://www.gaussian.com/g_tech/gv5ref/results.htm
[10]: http://www.pnas.org/content/suppl/2013/09/05/1308604110.DCSupplemental/sm01.mp4
[11]: http://habrahabr.ru/post/249469/#habracut

[>] Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 4в из 6
habra.14
habrabot(difrex,1) — All
2015-02-02 16:30:03




# Содержание основного курса



* [Статья 1: алгоритм Брезенхэма][1]
* [Статья 2: растеризация треугольника + отсечение задних граней][2]
* [Статья 3: Удаление невидимых поверхностей: z-буфер][3]
* Статья 4: Необходимая геометрия: фестиваль матриц
* [4а: Построение перспективного искажения][4]
* [4б: двигаем камеру и что из этого следует][5]
* [**4в: новый растеризатор и коррекция перспективных искажений**][6]
* [Статья 5: Пишем шейдеры под нашу библиотеку][7]
* [Статья 6: Чуть больше, чем просто шейдер: просчёт теней][8]



### Улучшение кода

__

* [Статья 3.1: Настала пора рефакторинга][9]
* [Статья 3.14: Красивый класс матриц][10]



### Общение вне хабра

Если у вас есть вопросы, и вы не хотите задавать их в комментариях, или просто не имеете возможности писать в комментарии, присоединяйтесь к jabber-конференции xmpp: 3d@conference.sudouser.ru

# Новый растеризатор и коррекция перспективных искажений

Тема сегодняшего разговора — это коррекция искажений интерполяции, посмотрите на разницу текстурирования на полу: ![][11] Я специально убрал из рендера всё, что касается освещения, нормалей и прочего, оставил только текстуру. Спасибо [MrShoor][12], я был ленив и не делал этой коррекции, но в итоге заморочился, благодаря его пинку. Со старой версией растеризатора это было муторно, с новой это достаточно просто. Поэтому начнём с того, как работает новый растеризатор, а для этого нам нужно уметь работать с барицентрическими координатами. [Читать дальше →][13]

[1]: http://habrahabr.ru/post/248153/
[2]: http://habrahabr.ru/post/248159/
[3]: http://habrahabr.ru/post/248179/
[4]: http://habrahabr.ru/post/248611/
[5]: http://habrahabr.ru/post/248723/
[6]: http://habrahabr.ru/post/249467/
[7]: http://habrahabr.ru/post/248963/
[8]: http://habrahabr.ru/post/249139/
[9]: http://habrahabr.ru/post/248909/
[10]: http://habrahabr.ru/post/249101/
[11]: http://habrastorage.org/getpro/habr/post_images/4cb/4db/4fa/4cb4db4fab48cd386dd7c543ed7df10d.png
[12]: http://habrahabr.ru/users/mrshoor/
[13]: http://habrahabr.ru/post/249467/#habracut

[>] Проверяем MatrixSSL с помощью PVS-Studio и Сppcheck
habra.14
habrabot(difrex,1) — All
2015-02-02 17:30:03


![MatrixSSL and PVS-Studio][1] В статье я хочу рассказать о проверке проекта MatrixSSL статическими анализаторами C/C++ PVS-Studio и Cppcheck. О библиотеке узнал из [комментария][2] на сайте Хабрахабр. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/4d5/4e1/49e/4d54e149ef7b7b7ea50f9015fdd35a3d.png
[2]: http://habrahabr.ru/company/dsec/blog/248287/
[3]: http://habrahabr.ru/post/249499/#habracut

[>] [Из песочницы] Уязвимость на сайте Дом.ru, позволяющая получить личные данные клиентов
habra.14
habrabot(difrex,1) — All
2015-02-02 19:00:02


Должен признаться, сам был удивлен подобной ситуацией. Я вообще ни разу не сисадмин, не пишу код и даже работаю в сфере, очень далекой от IT. Короче, я менеджер. По продажам промышленного оборудования. Однако люблю поковыряться в Linux (не могу не признаться в любви к [calculate-linux][1]) и поиграть в Windows. [Читать дальше →][2]

[1]: http://www.calculate-linux.ru/
[2]: http://habrahabr.ru/post/249513/#habracut

[>] Blowfish на страже ivi
habra.14
habrabot(difrex,1) — All
2015-02-02 19:30:02


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

[1]: //habrastorage.org/files/f78/97c/fa1/f7897cfa157045738a7f696818484eef.jpg
[2]: http://habrahabr.ru/post/249359/#habracut

[>] Итоги C++ розыгрыша и демо рефакторингов в CLion
habra.14
habrabot(difrex,1) — All
2015-02-02 19:30:02


Привет Хабр, Некоторое время назад мы объявили [конкурс][1] — требовалось продолжить фразу: _Бьёрн Страуструп создал С++ 36 лет назад, и он до сих пор востребован и пользуется популярностью у разработчиков, потому что..._ Спасибо всем участникам за массу положительных эмоций и разнообразные предположения о том, что же сделало C++ таким популярным. Посовещавшись, мы выбрали топ-6 ответов:

1. [Logonoff][2]> Бьёрн Страуструп создал С++ 36 лет назад, и он до сих пор востребован и пользуется популярностью у разработчиков, потому что помимо языка Бьёрн изобрел также капсулу времени и ионный бластер, с помощью которых он уничтожает все альтернативные реальности в которых C++ непопулярен.
2. [poxu][3]> Бьёрн Страуструп создал С++ 36 лет назад, и он до сих пор востребован и пользуется популярностью у разработчиков, потому что он лучше любого другого языка позволяет разрабатывать программное обеспечение, предназначенное для работы на платформах с произвольными ограничениями, будь то частота процессора, объём оперативной памяти или размер батарейки. А ещё, в отличии от plain C, в нём есть деструкторы!
3. [bogolt][4]> мир захватывают самые практичные а не самые красивые.
4. За внимательность спасибо [fshp][5]> Бьёрн Страуструп создал С++ 36 лет назад, и он до сих пор востребован и пользуется популярностью у разработчиков, потому что «C++» у вас написан кириллицей, а он таких ошибок не прощает.
5. [HDDimon][6]> Бьёрн Страуструп создал С++ 36 лет назад, и он до сих пор востребован и пользуется популярностью у разработчиков, потому что позволяет придерживаться золотой середины между сложностью и производительностью.
6. [fogone][7]> потому что это единственный нативный язык под который можно найти разработчиков

[Узнать, кто же победил][8]

[1]: http://habrahabr.ru/company/JetBrains/blog/248475/
[2]: http://habrahabr.ru/users/logonoff/
[3]: http://habrahabr.ru/users/poxu/
[4]: http://habrahabr.ru/users/bogolt/
[5]: http://habrahabr.ru/users/fshp/
[6]: http://habrahabr.ru/users/hddimon/
[7]: http://habrahabr.ru/users/fogone/
[8]: http://habrahabr.ru/post/249479/#habracut

[>] [Перевод] Бесплатные SSL-сертификаты на 2 года с поддержкой до 100 доменов
habra.14
habrabot(difrex,1) — All
2015-02-02 21:00:02


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

[1]: http://habrahabr.ru/post/249529/#habracut

[>] [Из песочницы] Настраиваем авторизацию в IIS по сертификатам используя OneToOne
habra.14
habrabot(difrex,1) — All
2015-02-02 21:30:03


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

[1]: http://habrahabr.ru/post/249503/#habracut

[>] [Перевод] Heartbleed на Rust
habra.14
habrabot(difrex,1) — All
2015-02-02 22:00:03


В комментариях к одной из ссылок на Hacker News некто утверждал, что использование Rust предотвратило бы Heartlbeed, что код бы даже не скомпилировался. Это прозвучало как вызов! Тред начинается [вот здесь][1]. Я не собирался ни к кому придираться, но утверждение о предотвращении Heartbleed оказалось удачно сформулировано. В отличие от расплывчатых заявлений о безопасности работы с памятью в целом, конкретно данное утверждение можно протестировать. [Читать дальше →][2]

[1]: https://news.ycombinator.com/item?id=8954965
[2]: http://habrahabr.ru/post/249537/#habracut

[>] [Из песочницы] Максимально эффективная по скорости работы — серверная схема, для клиент-серверной 1С 8.х
habra.14
habrabot(difrex,1) — All
2015-02-03 00:00:02


**Предисловие** Постоянно сталкивался с высказываниями ИТ специалистов _«сеть нагружена на 20%… процессоры на 50%… очередей к дискам мало… Значит сеть и сервера справляются… смотрите код в 1С проблемы исключительно там»._ На самом деле происходило следующее ( сервер 1С и SQL разнесены на разные компьютеры): сеть практически использовалась по максимуму, почему описано ниже в статье. И соответственно из-за малой ширины канала обмена «полезными» данными — SQL сервер с «Сервером 1С» постоянно ожидали друг друга, что вело к малой утилизации ресурсов CPU и дисковой системы. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/249501/#habracut

[>] [Перевод] Нетрадиционный обзор React
habra.14
habrabot(difrex,1) — All
2015-02-03 13:00:05


Привет, Хабр! Мы в [Хекслете][1] любим свой стек технологий :) Когда рассказываем другим — многие завидуют: Rails, Docker, AWS, React JS. Реакт мы используем в первую очередь для создания веб-среды для разработки [Hexlet-IDE][2], которая позволяет нашим пользователям выполнять упражнение по разработке приложений и взаимодействию с виртуальной машиной прямо в браузере. Сегодня мы публикуем перевод статьи «An Unconventional Review of React» Джеймса Шора, ведущего проекта Let’s Code: Test-Driven JavaScript. ![][3] Он мне понравился. Я не ожидал такого. Для специальных выпусков Let’s Code JavaScript в августе и сентябре я изучал [Реакт][4]. На случай если вам не знаком Реакт: это библиотека для фронт-энд веб-разработки. С помощью него создаются компоненты: короткие, не-совсем-ХТМЛ теги, которые можно комбинировать для создания интерфейса. Реакт знаменит своими нетрадиционными решениями: реализацией виртуального DOM’а, созданием элементов интерфейса в JavaScript вместо шаблонов, создание суперсета языка JavaScript — JSX, который позволяет вставлять не-совсем-ХТМЛ прямо в код JS. С этими решениями разработка уходит от схемы манипуляции DOM’ом — добавить этот элемент, скрыть эффектом другой элемент, обновить это текстовое поле. Вместо этого вы описываете как сейчас должен выглядеть DOM. Реакт берет на себя сложную работу по определению необходимых действий чтобы DOM на самом деле стал выглядеть так, как вы сказали. [Читать дальше →][5]

[1]: https://hexlet.io
[2]: https://github.com/Hexlet/hexlet-ide
[3]: //habrastorage.org/files/bd0/1e0/b77/bd01e0b770764018ab7b61023b2ef4ca.png
[4]: http://facebook.github.io/react/
[5]: http://habrahabr.ru/post/249579/#habracut

[>] DevExtreme: фильтруем данные на графике
habra.14
habrabot(difrex,1) — All
2015-02-03 13:00:05


![][1] Фильтрация данных по аргументу — одна из самых распространенных задач при работе с графиком. Именно поэтому так важно наличие простых и удобных способов фильтрации в каждой библиотеке, предназначенной для визуализации данных. [А как фильтруют в DevExtreme?][2]

[1]: //habrastorage.org/files/930/f74/44d/930f7444d8db4d4d84e654ebdd5bdb39.png
[2]: http://habrahabr.ru/post/249497/#habracut

[>] IBM Research объявила о запуске инновационной облачной технологии для защиты персональных данных
habra.14
habrabot(difrex,1) — All
2015-02-03 13:00:05


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

[1]: //habrastorage.org/files/82b/aec/888/82baec88860c4efa98ecf2a161baa895.jpg
[2]: http://habrahabr.ru/post/249565/#habracut

[>] Яндекс сделал беспарольную двухфакторную аутентификацию
habra.14
habrabot(difrex,1) — All
2015-02-03 14:30:03


Редкий пост в блоге Яндекса, а особенно касающийся безопасности, обходился без [упоминания][1] [двухфакторной][2] аутентификации. Мы долго думали, как правильно усилить защиту пользовательских аккаунтов, да еще так, чтобы этим мог пользоваться не только хардкорный гик. По слухам, на некоторых других крупных сайтах доля пользователей, включивших дополнительные средства аутентификации, не превышает 0,1%. Кажется, это потому, что распространенная схема двухфакторной аутентификации слишком сложна для обычных людей. Мы постарались придумать иной способ и сегодня представляем его бета-версию. Надеемся, он получит более широкое распространение. Мы со своей стороны готовы работать над его улучшением и последующей стандартизацией. [![][3]][4] После [включения][5] двухфакторной аутентификации в Паспорте, вам надо будет установить приложение Яндекс.Ключ в [App Store][6] или [Google Play][7]. В форме авторизации на главной странице Яндекса, в Почте и Паспорте появились QR-коды. Для входа в учётную запись необходимо считать QR-код через приложение — и всё. Если считать QR-код не получается, например не работает камера смартфона или нет доступа к интернету, приложение создаст одноразовый пароль, который будет действовать всего 30 секунд. Расскажу о том, почему мы решили не использовать такие «стандартные» механизмы, как [RFC 6238][8] или [RFC 4226][9]. Как работают распространенные схемы двухфакторной аутентификации? [Читать дальше →][10]

[1]: http://habrahabr.ru/company/yandex/blog/218951/#comment_7487701
[2]: http://habrahabr.ru/company/yandex/blog/184788/#comment_6428478
[3]: //habrastorage.org/files/a50/143/b06/a50143b062d54ef1a863bb88e53c95cd.jpeg
[4]: http://habrahabr.ru/company/yandex/blog/249547/
[5]: https://oauth.yandex.ru/access
[6]: https://itunes.apple.com/ru/app/andeks.kluc-dla-zasity-akkaunta/id957324816?l=ru&ls=1&mt=8
[7]: https://play.google.com/store/apps/details?id=ru.yandex.key
[8]: http://tools.ietf.org/html/rfc6238
[9]: https://h.yandex-team.ru/?http%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc4226
[10]: http://habrahabr.ru/post/249547/#habracut

[>] [Из песочницы] XSS на сайтах, использующих Instagram API
habra.14
habrabot(difrex,1) — All
2015-02-03 15:00:03


Разрабатывая приложение, использующее Instagram API, я заметил, что мне приходят не преобразованные теги. Безусловно, такая проблема решается за пару строчек кода. Но я подумал, а что если не все разработчики преобразовывают теги в сущности перед выводом на страницу, полностью доверяя API. Кто будет ожидать, что в описании страницы Instagram будет JS скрипт вместо текста? Я нашел такие сайты. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/249589/#habracut

[>] Двухфакторная аутентификация, которой удобно пользоваться
habra.14
habrabot(difrex,1) — All
2015-02-03 15:30:03


Редкий пост в блоге Яндекса, а особенно касающийся безопасности, обходился без [упоминания][1] [двухфакторной][2] аутентификации. Мы долго думали, как правильно усилить защиту пользовательских аккаунтов, да еще так, чтобы этим мог пользоваться без всех тех неудобств, которые включают в себя самые распространённые ныне реализации. А они, увы, неудобны. По некоторым данным, на многих крупных сайтах доля пользователей, включивших дополнительные средства аутентификации, не превышает 0,1%. Кажется, это потому, что распространенная схема двухфакторной аутентификации слишком сложна и неудобна. Мы постарались придумать способ, который был бы удобнее без потери уровня защиты, и сегодня представляем его бета-версию. Надеемся, он получит более широкое распространение. Мы со своей стороны готовы работать над его улучшением и последующей стандартизацией. [![][3]][4] После [включения][5] двухфакторной аутентификации в Паспорте вам надо будет установить приложение Яндекс.Ключ в [App Store][6] или [Google Play][7]. В форме авторизации на главной странице Яндекса, в Почте и Паспорте появились QR-коды. Для входа в учётную запись необходимо считать QR-код через приложение — и всё. Если считать QR-код не получается, например не работает камера смартфона или нет доступа к интернету, приложение создаст одноразовый пароль, который будет действовать всего 30 секунд. Расскажу о том, почему мы решили не использовать такие «стандартные» механизмы, как [RFC 6238][8] или [RFC 4226][9]. Как работают распространенные схемы двухфакторной аутентификации? [Читать дальше →][10]

[1]: http://habrahabr.ru/company/yandex/blog/218951/#comment_7487701
[2]: http://habrahabr.ru/company/yandex/blog/184788/#comment_6428478
[3]: //habrastorage.org/files/a50/143/b06/a50143b062d54ef1a863bb88e53c95cd.jpeg
[4]: http://habrahabr.ru/company/yandex/blog/249547/
[5]: https://oauth.yandex.ru/access
[6]: https://itunes.apple.com/ru/app/andeks.kluc-dla-zasity-akkaunta/id957324816?l=ru&ls=1&mt=8
[7]: https://play.google.com/store/apps/details?id=ru.yandex.key
[8]: http://tools.ietf.org/html/rfc6238
[9]: https://h.yandex-team.ru/?http%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc4226
[10]: http://habrahabr.ru/post/249547/#habracut

[>] Язык программирования R
habra.14
habrabot(difrex,1) — All
2015-02-03 20:00:02


Здравствуйте! Предлагаем уважаемому сообществу высказаться по поводу необходимости перевода книги по языку R. Язык весьма популярен за рубежом, а вот на русском на нём информации практически нет. Нужно ли исправлять это положение? Есть несколько кандидатов: Наиболее свежая (дек. 2013) и отличающаяся глубиной проработки эта книга: [R for Everyone: Advanced Analytics and Graphics][1] Голосовалка: [Читать дальше →][4]

[1]: http://www.amazon.com/Everyone-Advanced-Analytics-Graphics-Addison-Wesley/dp/0321888030/ref=sr_1_1?ie=UTF8&qid=1422971103&sr=8-1&keywords=r+for+everyone
[2]: http://www.amazon.com/R-Graphics-Cookbook-Winston-Chang/dp/1449316956/ref=pd_sim_b_3?ie=UTF8&refRID=0M6EWV8WW5R5J93XB39M
[3]: http://www.amazon.com/Cookbook-OReilly-Cookbooks-Paul-Teetor/dp/0596809158/ref=pd_sim_b_2?ie=UTF8&refRID=0M6EWV8WW5R5J93XB39M
[4]: http://habrahabr.ru/post/249621/#habracut

[>] KISS — принцип проектирования, содержащий все остальные принципы проектирования
habra.14
habrabot(difrex,1) — All
2015-02-04 00:00:04


Постараюсь объяснить сущность принципа проектирования KISS просто и одновременно очень подробно. KISS – это очень общий и абстрактный принцип проектирования, который содержит в себе практически все остальные принципы проектирования. Принципы проектирования описывают как писать «хороший» код. Однако что значит хороший код? Некоторые считают, что это код, который выполняется максимально быстро, некоторые – что это код, в котором задействовано как можно больше паттернов проектирования… Но верный ответ лежит на поверхности. Код – это информация в чистом виде. А основные критерии ценности информации – это 1)достоверность 2)доступность 3)понятность. То, почему важны достоверностью и доступность – очевидно. От кода нет проку, если он работает с ошибками или если сервер с приложением «лежит». Почему же важна понятность кода? В понятном коде проще искать ошибки, проще его изменять, дорабатывать и сопровождать. Итак, понятность – основная ценность, к которой должен стремиться программист. Однако тут есть одна неувязочка. Дело в том, что понятность – вещь сугубо субъективная. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/249639/#habracut

[>] Twitter-бот на основе цепей Маркова и фраз из сериалов
habra.14
habrabot(difrex,1) — All
2015-02-04 01:00:02


![][1] Просматривал форумы в поисках вопросов, которые задают python-программистам на собеседованиях и наткнулся на один очень замечательный. Вольно его процитирую: ”Попросили написать генератор бреда на основе марковской цепи n-го порядка”. “А ведь у меня ещё нет такого генератора!” — прокричал мой внутренний голос — “Скорей открывай sublime и пиши!” — продолжал он настойчиво. Что же, пришлось подчиниться. А здесь я расскажу, как я его сделал. [И как же?][2]

[1]: //habrastorage.org/files/16b/af8/108/16baf8108e04478895e3b4af429b2c9b.jpg
[2]: http://habrahabr.ru/post/249637/#habracut

[>] 1987 год — Выставка «Информатика в жизни США»
habra.14
habrabot(difrex,1) — All
2015-02-04 04:30:02


Наверное не ошибусь, если предположу, что какая-то часть хабра-сообщества помнит это мероприятие, которое проходило в Москве, Киеве, Ростове-на-Дону, Тбилиси, Ташкенте, Иркутске, Магнитогорске, Ленинграде и Минске. ![image][1] Лично для меня с него началось мое знакомство с высокими технологиями, хотя придя туда, увидел достаточное количество сверстников, оккупировавших компьютеры своими болгарскими 5-ти дюймовыми дискетами, а как пишет New York Times за 6 июня 1987 года, некоторые уже пытались уломать гидов скопировать им Lotus 1,2,3. Итак, [back in USSR 1987][2]

[1]: http://habrastorage.org/getpro/habr/post_images/f0d/ae1/32c/f0dae132c13e0eae6dd97e89dd8505f2.jpg
[2]: http://habrahabr.ru/post/249651/#habracut

[>] Давайте изобретать велосипеды!!!
habra.14
habrabot(difrex,1) — All
2015-02-04 10:00:02


Мотивации пост. ![][1] Я занимаюсь алгоритмами обучения нейронных сетей. Пока что простых нерекурентных нейронных сетей. Пока сравнительно простыми алгоритмами, той или иной формой градиентных спусков. Сегодня разговаривал на интересном семинаре по нейроинформатике, и меня спросили, зачем переоткрывать то что придумано? И правда, есть же матлаб. Любой может в два движения создать и обучить стандартную сетку одним из готовых стандартных и уже оптимизированных алгоритмов, обучить какой-нибудь страшно стандартной задаче классификации и всё у него будет хорошо. Тем более это актуально, учитывая что с 70-ых годов прошлого века в деле обратного распостранения ошибки не произошло ничего принципиально нового. А новые сетки уже тоже есть в матлабе. В этом посте я постараюсь показать почему… [нужно изобретать велосипед][2]

[1]: //habrastorage.org/files/b58/a88/9e1/b58a889e1c3b43b6833034e3a54ab6f8.jpg
[2]: http://habrahabr.ru/post/249657/#habracut

[>] Аннотация к «Effective Modern C++» Скотта Майерса. Часть 2
habra.14
habrabot(difrex,1) — All
2015-02-04 12:00:02


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

[1]: http://habrastorage.org/files/069/615/2ef/0696152ef06e40cba11aa1eaba203f11.gif
[2]: http://habrahabr.ru/post/248137/
[3]: http://habrahabr.ru/post/248901/#habracut

[>] [Перевод] Ядро .Net (GC, JIT, interop, ...) в Open Source!
habra.14
habrabot(difrex,1) — All
2015-02-04 13:00:02


[][1]Мы рады сообщить что [CoreCLR ][2]теперь находится на github и теперь вы имеете доступ ко всем его исходным кодам. CoreCLR является средой исполнения .NET Core, выполняя такие функции как сборку мусора или компиляции в конечный машинный код. .Net Core – это модульная реализация .Net, которая может быть использована как база для огромного количества сценариев, масштабы которых варьируются от простых консольных утилит до веб-приложений, хостящихся в облаке. Чтобы понять, чем отличается .Net Core от .Net Framework, посмотрите на пост [«Введение в .Net Core»][3] Теперь вы можете скачивать исходники CoreCLR, бранчеваться, и делать pull requests, также вы можете компилировать его прямо на своем ПК. Мы выпустили полную и актуальную реализацию CoreCLR, которая включает RyuJIT, .Net GC, родной Interop и множество других компонент .Net runtime. Данный релиз следует тем же принципам, что и все наши последние релизы библиотек, вышедших в open-source: сделать весь .Net Framework open sourced. Сегодня ядро .Net компилируется и отрабатывает (видимо имеется в виду CI) на Windows. Мы добавим имплементации для специфических для Mac и Linux платформенных вещей в ближайшие пару месяцев. Также мы уже имеем некоторый специфический для Linux код в .Net Core, однако мы только начали портировать с Windows на остальные платформы. Напротив, мы хотели открыть исходные тескты с самого начала, чтобы вы вместе с нами пропутешествовали бы к другим платформам, возможно, внося свой вклад. [Читать дальше →][4]

[1]: https://github.com/dotnet/coreclr
[2]: https://github.com/dotnet/coreclr
[3]: http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx
[4]: http://habrahabr.ru/post/249645/#habracut

[>] [Перевод] Использование графов для раскрытия планов инсайдеров
habra.14
habrabot(difrex,1) — All
2015-02-04 15:00:02


[![image][1]][2] _Изображение: [NPR.org][3]_ Когда на кон поставлены власть и деньги, люди пойдут на любые уловки ради победы в соревновании. В профессиональном спорте это – допинг, а на финансовом рынке – инсайдерская торговля. Чтобы понять, какую роль анализ данных играет при расследовании случаев мошенничества, достаточно рассмотреть случай с бывшим менеджером SAC Мэтью Мартомой, обвиненным по делу о, возможно, крупнейшем случае инсайдерской торговли. [Читать дальше →][4]

[1]: http://habrastorage.org/getpro/habr/post_images/ac9/429/732/ac9429732ccb44b9c93cab763c27a254.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/249697/
[3]: http://www.npr.org
[4]: http://habrahabr.ru/post/249697/#habracut

Pages: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 41