RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 210
[>] [Перевод] Моделирование пандемий с помощью языка Wolfram Language (системы Mathematica 10) на примере лихорадки Эбола
habra.14
habrabot(difrex,1) — All
2014-11-22 00:00:04


_Перевод поста Виталия Каурова (Vitaliy Kaurov) "[Modeling a Pandemic like Ebola with the Wolfram Language][1]". Выражаю благодарность за помощь в переводе участникам [сообщества ВКонтакте][2] Русскоязычной поддержки Wolfram _Mathematica_: [Еве Фрумен,][3] [Курбану Магомедову][4], [Глебу Михновцу][5], [Андрею Кротких][6]. Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно [здесь][7] (архив, ~100 МБ)._ Данные крайне важны для беспристрастного взгляда в будущее, но одни только данные еще не являются прогнозом. Для предсказания развития пандемий, террористических актов, природных катастроф, падений рынков и других сложных явлений нашего мира необходимы научные модели. Один из инструментов борьбы с текущей ужасающей вспышкой лихорадки Эбола — создание компьютерной модели возможного распространения вируса. Понимая, где и как быстро вспышка может проявиться, правительственные структуры смогут организовать эффективные профилактические меры для снижения скорости передачи и, в конечном итоге, остановить эпидемию. Наша цель сейчас: продемонстрировать построение математической модели, описывающей глобальное распространение пандемии на основе реальных данных. Модель применима к любой эпидемии, но мы будем иногда упоминать и использовать данные о текущей вспышке лихорадки Эбола в качестве примера. Результаты не следует рассматривать как реалистичную количественную оценку текущей пандемии вируса Эбола. ![EbolaAnimFINAL.gif][8] [Читать дальше →][9]

[1]: http://blog.wolfram.com/2014/11/04/modeling-a-pandemic-like-ebola-with-the-wolfram-language/
[2]: http://vk.com/wolframmathematica
[3]: http://vk.com/eshhka
[4]: http://vk.com/iamkurban
[5]: http://vk.com/glebmc
[6]: http://vk.com/id11899929
[7]: http://goo.gl/oPCN2q
[8]: http://habrastorage.org/getpro/habr/post_images/afe/0e4/fdf/afe0e4fdf38da47a1760a1e4d219e356.gif
[9]: http://habrahabr.ru/post/243913/#habracut

[>] Дайджест KolibriOS #6: последняя осень
habra.14
habrabot(difrex,1) — All
2014-11-22 19:30:03


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

[1]: http://habrastorage.org/getpro/habr/post_images/332/ac0/97c/332ac097cb7bfba245943a942c69f564.png
[2]: http://habrahabr.ru/post/231433/#habracut

[>] Статья про нетипичную эксплуатацию SQL инъекции и про трюк в sqlmap. А еще — про Counter Strike
habra.14
habrabot(difrex,1) — All
2014-11-23 04:00:03


Очень давно не писал на Хабр и решил поделиться небольшой, произошедшей в свободное время, и забавной историей. Нет-нет, это статья не о том, что такое sqli и как от них защищаться, а про нетипичную «раскрутку» SQLi. Полезна будет скорее начинающим веб-пентестерам как обучение и, внезапно, некоторым админам мониторингов серверов Counter Strike.




Давайте по-порядку. [Читать дальше →][1]

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

[>] Как повысить уверенность в том, что кнопка была нажата живым пользователем на сайте и избавиться от капчи?
habra.15
habrabot(difrex,1) — All
2015-08-04 15:30:04


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

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

[>] Web-разработка на Python глазами PHP-программиста
habra.14
habrabot(difrex,1) — All
2014-11-23 18:30:02




## Введение

В статье хотелось бы поднять вопросы отличия использования Python для web-зазработки по сравнению с оной на PHP. Надеюсь, статья не приведет к холиварам, так как она вовсе не о том, какой язык лучше или хуже, а исключительно о технических особенностях Python. [Читать дальше →][1]

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

[>] Автоматизированная классификация каталогов по цветам
habra.14
habrabot(difrex,1) — All
2014-11-23 21:30:04


Привет всем, В каталогах часто необходимо классифицировать объекты по цветам. Это могут быть товары, предметы искусства, художественные фото, да что угодно — важно что пользователи хотят находить только красные, только синие, синие с красным объекты каталога и т.п. Исходим из того, что в текстовых описаниях объектов отсутствуют упоминания цветов — классифицировать нужно на основе изображений. ![][1] Объектов в каталоге достаточно много (>1.000.000), ручная классификация станет в копейку, займет много времени и качество под вопросом. Привлечь профессионалов с правильно поставленным цветовосприятием на такой объем будет проблематично (художник и дня не усидит за такой работой), а случайные люди дадут «случайный» результат — известно, каждый видит цвета по разному, а рутинность работы будет способствовать значительным погрешностям вследствие замыленности взгляда. К тому же хотелось бы выделить не просто один цвет, а N доминантных, в порядке убывания доминанты. В общем, сразу понятно — на эту работенку неплохо бы взять хорошего дроида, смышлённого и симпотишного как C-3PO. Открывайте статью, будем конструировать. [Читать дальше →][2]

[1]: //habrastorage.org/files/a42/5a3/d78/a425a3d7818944058dc86a2befded5dd.jpg
[2]: http://habrahabr.ru/post/243975/#habracut

[>] Давим шумы средствами PulseAudio
habra.14
habrabot(difrex,1) — All
2014-11-24 02:00:03


![image][1] Часто вижу, как владельцы ноутбуков жалуются на шумы микрофона в Linux, в то время как под Windows их меньше, либо же они вообще отсутствуют. Как правило, виноват в этом производитель, установивший самый дешевый микрофон и/или кодек из возможных, надеясь на сглаживание отвратительного качества железа программными средствами. К счастью, в Linux есть замечательный аудиосервер PulseAudio, с помощью которого можно сделать аудио с вашего микрофона заметно качественней.

#### Способ #1

Для того, чтобы использовать встроенный модуль подавления шума и эха PulseAudio, работающий по алгоритму webrtc или speex, для какой-то конкретной программы, достаточно запустить ее с переменной окружения:



И весь ваш звук магическим образом будет избавлен от шумов и эха! [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/3da/d3d/63f/3dad3d63f71341ac88618c1b6331a5f7.png
[2]: http://habrahabr.ru/post/243977/#habracut

[>] [Перевод] Безопасность Виртуализации. Часть 1
habra.14
habrabot(difrex,1) — All
2014-11-24 02:30:03


Перевод статьи [«Virtualization Security»][1] за авторством Terry Komperda [Ссылка на вторую часть][2] **1\. КРАТКИЙ ОБЗОР** За короткое время виртуализация оказала огромное влияние на сферу IT и сетевые технологии, она уже поспособствовала огромной экономии затрат и окупаемости вложений для дата-центров, предприятий и Облака. Что кажется менее значительным и сильно отстает от реальности — это понимание виртуализации и виртуализированных сред с точки зрения безопасности. Некоторые люди считают, что виртуализация является более безопасной, чем традиционные среды, так как они слышали об изоляция между виртуальными машинами (ВМ) и потому что они раньше не слышали о каких-либо успешных атаках на гипервизоры. Другие считают, что новые виртуальные среды нуждаются в безопасности так же, как традиционные физические среды, поэтому применяют тот же многолетний подход к безопасности. Наиболее важным фактором является то, что новая среда более сложная. Виртуальные подходы, добавленные к уже существующим сетям, создают новую сеть, которая требует иного подхода к безопасности. Помимо обычных мер следует применять и специальные меры безопасности для виртуализации. В этом документе мы рассмотрим различия, проблемы, трудности, риски, вызванные применением виртуализации, а также предоставим дельные рекомендации и практические советы, чтобы убедиться, что после применения виртуализации сеть останется такой же защищенной. **2\. ВВЕДЕНИЕ** Виртуализация развивается и планирует задержаться здесь надолго. Хотя ее концепция известна уже более пятидесяти лет, эта технология будет по-прежнему расти и совершенствоваться в сферах, существующих повсеместно и планирующих развивать себя и дальше. Более того, половина всех серверов сегодня работают на Виртуальных Машинах. IDC предсказывает, что 70% всех рабочих нагрузок будет работать и на ВМ к 2014 году. Что действительно должно идти в ногу с технологическим прогрессом из-за широкомасштабного применения — это обеспечение безопасности компонентов виртуализации и виртуальных сред. Давайте рассмотрим некоторые выгоды в плане безопасности, существующие благодаря использованию виртуализации. [Читать дальше →][3]

[1]: http://resources.infosecinstitute.com/virtualization-security-2/
[2]: http://habrahabr.ru/post/243895/
[3]: http://habrahabr.ru/post/243845/#habracut

[>] Защита от вирусов — что NIST указывает нам?
habra.15
habrabot(difrex,1) — All
2015-08-04 15:30:04


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

[1]: http://habrahabr.ru/post/262413
[2]: http://habrahabr.ru/post/264073/#habracut

[>] [Перевод] Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 2
habra.15
habrabot(difrex,1) — All
2015-08-04 15:30:04


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

[1]: https://habrastorage.org/files/de1/5c7/4b2/de15c74b2f05439faec7bb7e99ea43b5.png
[2]: http://habrahabr.ru/company/itinvest/blog/264141/
[3]: http://habrahabr.ru/company/itinvest/blog/263097/
[4]: http://habrahabr.ru/post/264141/#habracut

[>] Игнорируем лишние аргументы функции на C++
habra.15
habrabot(difrex,1) — All
2015-08-04 20:00:07


Привет, хабр. Как-то раз, одним прекрасным воскресным днём писал я код _одного своего проекта_. Код выглядел как-то так, если упрощать:

const bool exists = WithObject (objectId,
[] (const Media::IAudioSource*, const QModelIndex&) { return true; },
[] (const QModelIndex&) { return false; });


`WithObject` пытается найти некоторый объект по его ID и выполняет первый функтор, если он найден, иначе выполняет второй функтор, если объект не найден. При этом возвращается значение, которое вернул выполненный функтор (подразумевается, что возвращаемый тип второго функтора приводим к типу первого). Функторам при этом передаётся всякая разная полезная информация, полученная в ходе поиска (например, сам объект). Вышеприведённый код, соответственно, просто проверяет существование объекта, и аргументы, которые `WithObject` передаёт функторам, оказываются не нужны. Так вот, подумалось мне, неплохо было бы написать такую функцию `DropArgs()`, чтобы вот такой код

const bool exists = WithObject (objectId,
DropArgs ([] { return true; }),
DropArgs ([] { return false; }));


был корректным. Или, что то же самое, чтобы можно было писать `DropArgs ([] { return false; }) (0, 3.14, "foobar");`. А если нужны только первые N аргументов, остальные тоже можно было не указывать: `DropArgs ([] (int n) { return n; }) (0, 3.14, "foobar");`. [Читать дальше →][1]

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

[>] Пишем свой упрощенный OpenGL на Rust — часть 3 (растеризатор)
habra.15
habrabot(difrex,1) — All
2015-08-05 09:30:03


Продолжаю свой цикл статей про упрощенный аналог OpenGL на Rust, в котором уже вышло 2 статьи:

1. [Пишем свой упрощенный OpenGL на Rust — часть 1 (рисуем линию)][1]
2. [Пишем свой упрощенный OpenGL на Rust — часть 2 (проволочный рендер)][2]

Напоминаю, что основой моего цикла статей является [«Краткий курс компьютерной графики»][3] от [haqreu][4]. В предыдущих статьях я шел не очень быстро. Фактически на одну статью курса у меня получилось 2 статьи. Это связанно с тем, что в своих статьях я сосредоточиваюсь главным образом на нюансах работы с Rust, а когда только изучаешь новый язык, сталкиваешься с большим количеством новых для тебя нюансов, нежели чем когда программируешь на нем уже некоторое время. Думаю дальше Rust будет подбрасывать меньше граблей, и я выровняю соотношение своих статей к статьям оригинального курса. Пока же традиционно предостерегаю, что поскольку я не являюсь профессионалом ни в Rust ни в 3D-графике, а изучаю эти вещи прямо по ходу написания статьи, то в ней может быть немало глупостей. Если замечаете такое, пишите комментарий — я поправлю ошибку. Ну и конечно в статье будет немало личных впечатлений, с которыми вы можете оказаться несогласными. Конструктивная критика приветствуется. ![][5] _То, что мы получим по итогам данной статьи_ [Читать дальше →][6]

[1]: http://habrahabr.ru/post/261629/
[2]: http://habrahabr.ru/post/261739/
[3]: http://habrahabr.ru/post/248153/
[4]: http://habrahabr.ru/users/haqreu/
[5]: https://habrastorage.org/files/14c/67b/78d/14c67b78dc8f41eeb0d96ad27b7d065d.png
[6]: http://habrahabr.ru/post/262235/#habracut

[>] RPC, Messaging, REST: Терминология
habra.15
habrabot(difrex,1) — All
2015-08-05 12:00:04




# RPC, Messaging, REST: Терминология

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

## **Вступление**

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

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

[>] [Из песочницы] Псевдопрактический пример замыканий и декораторов
habra.14
habrabot(difrex,1) — All
2014-11-24 14:30:03


Когда я только начинал изучать Python, большое впечатление на меня произвели route-декораторы в известном фреймворке flask. Конечно, я догадывался, как они могли быть реализованы, но как всегда желание писать (а не читать) превзошло необходимость взглянуть на исходный код flask, и мне пришлось выдумать то, что могло бы выглядеть так же лапидарно, как вышеупомянутые декораторы из flask'а. Упражнение на тему замыканий, декораторов и области видимости в Python могло бы выглядеть так:

def do_something(p):
return p

@implements(do_something, lambda: not p % 2)
def do_mod2_something(p):
return p / 2

@implements(do_something, lambda: not p % 3)
def do_mod3_something(p):
return p / 3

do_something(10) # returns 5
do_something(9) # returns 3
do_something(11) # returns 11


Как реализовать декоратор @implements? Может ли подобная реализация использоваться где-то в реальных проектах — вопрос, который мы редко принимаем во внимание, выдумывая себе упражнения для понимания того, как работают те или иные программы. Мне показалось, что это выглядит как некое замещение (override) функции, имеющее место в других языках программирования. [Читать дальше →][1]

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

[>] Catberry.js: Прогрессивный рендеринг
habra.15
habrabot(difrex,1) — All
2015-08-05 12:00:04






В [предыдущей статье][1] я рассказывал про реализацию Flux и веб-компонентов во фреймворке [Catberry.js][2], и эта статья – обещанное продолжение про движок прогрессивного рендеринга.

# Что значит «прогрессивный»?

Наверное, вы сталкивались хотя бы раз в жизни с JPEG-картинкой, которая сперва загружается с сервера мутной, а по мере загрузки остального содержимого становится чётче. Такой формат картинки называется "[Progressive JPEG][3]", и его основная идея – показать как можно скорее пользователю хоть какое-то содержимое, пусть и не до конца готовое. Пользователь с первой секунды уже будет знать размер картинки и ее примерное содержимое, а в дальнейшем содержимое будет становится только отчётливее. Лично я не знаю откуда появилась идея назвать потоковый (stream-based) рендеринг HTML прогрессивным, но первое применение этого термина именно к рендерингу HTML я нашел в статье за декабрь 2009 года "[Progressive rendering via multiple flushes][4]". Однако и в более свежих статьях, например от [разработчиков Google][5], можно найти термин «Optimized (progressive) rendering». [Читать дальше →][6]

[1]: http://habrahabr.ru/post/262949/
[2]: http://catberry.org/
[3]: https://en.wikipedia.org/wiki/JPEG#JPEG_compression
[4]: http://www.phpied.com/progressive-rendering-via-multiple-flushes/
[5]: https://developers.google.com/web/fundamentals/performance/critical-rendering-path/index?hl=en
[6]: http://habrahabr.ru/post/263971/#habracut

[>] ipgeobase в Nginx
habra.15
habrabot(difrex,1) — All
2015-08-05 17:00:03


Когда возникает задача — по адресу посетителя получать его город и налоговый (автомобильный) код региона, кажется — да это же просто, в инете полно таких штук! А потом смотришь: одни платные, другие нельзя у себя развернуть, третьи можно, но это ресурсозатратно, четвертые о регионах РФ ничего не знают… И тут на помощь спешит больной мозг программиста с навязчивой идеей: **«Нет у других — сделай сам»** [Читать дальше →][1]

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

[>] [Из песочницы] SSL-сертификаты: всем, каждому, и пусть никто не уйдёт обиженным
habra.14
habrabot(difrex,1) — All
2014-11-24 16:30:02


Как [ранее сообщалось][1] на GeekTimes, EFF при поддержке Mozilla, Cisco, Akamai, IdenTrust и исследователей из Мичиганского университета (University of Michigan) создали новый некоммерческий центр сертификации (Certificate Authority) [Let's Encrypt][2] [[1]][3]. Целью проекта является ускорение перехода всемирной паутины от HTTP к HTTPS. [Подробности, часть из которых уже была описана на GeekTimes][4]

[1]: http://geektimes.ru/post/241630/
[2]: https://letsencrypt.org/ "Let’s Encrypt"
[3]: #ref_one
[4]: http://habrahabr.ru/post/244037/#habracut

[>] [Перевод] Выразительный JavaScript: Обработка событий
habra.14
habrabot(difrex,1) — All
2014-11-24 19:30:03




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



* [Введение][1]
* [Величины, типы и операторы][2]
* [Структура программ][3]
* [Функции][4]
* [Структуры данных: объекты и массивы][5]
* [Функции высшего порядка][6]
* [Тайная жизнь объектов][7]
* [Проект: электронная жизнь][8]
* [Поиск и обработка ошибок][9]
* [Регулярные выражения][10]
* [Модули][11]
* [Проект: язык программирования][12]
* [JavaScript и браузер][13]
* [Document Object Model][14]
* [Обработка событий][15]
* Проект: игра-платформер
* Рисуем на Canvas
* HTTP
* Формы и поля ввода
* Проект: Paint
* Node.js
* Проект: веб-сайт по обмену умениями
* [Песочница для кода][16]

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

#### Обработчики событий

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

[1]: http://habrahabr.ru/post/240219/
[2]: http://habrahabr.ru/post/240223/
[3]: http://habrahabr.ru/post/240225/
[4]: http://habrahabr.ru/post/240349/
[5]: http://habrahabr.ru/post/240813/
[6]: http://habrahabr.ru/post/241155/
[7]: http://habrahabr.ru/post/241587/
[8]: http://habrahabr.ru/post/241776/
[9]: http://habrahabr.ru/post/242609/
[10]: http://habrahabr.ru/post/242695/
[11]: http://habrahabr.ru/post/243273/
[12]: http://habrahabr.ru/post/243277/
[13]: http://habrahabr.ru/post/243311/
[14]: http://habrahabr.ru/post/243815/
[15]: http://habrahabr.ru/post/244041/
[16]: http://eloquentjavascript.net/code
[17]: http://habrahabr.ru/post/244041/#habracut

[>] [Из песочницы] Разбираем методы проксирования на основе HAProxy
habra.14
habrabot(difrex,1) — All
2014-11-24 20:00:03


Недавно пришлось разбираться с проксированием доступа к веб-серверам с помощью HAProxy. Основная проблема оказалась в шифрованном доступе. Кому интересна эта тема, добро пожаловать под кат. [Читать дальше →][1]

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

[>] Многозадачность в ядре Linux: прерывания и tasklet’ы
habra.14
habrabot(difrex,1) — All
2014-11-24 22:30:03


![Котейка и младшие братья][1]В [предыдущей своей статье][2] я затронула тему многопоточности. В ней речь шла о базовых понятиях: о типах многозадачности, планировщике, стратегиях планирования, машине состояний потока и прочем. На этот раз я хочу подойти к вопросу планирования с другой стороны. А именно, теперь я постараюсь рассказать про планирование не потоков, а их “младших братьев”. Так как статья получилась довольно объемной, в последний момент я решила разбить ее на несколько частей:

1. **Многозадачность в ядре Linux: прерывания и tasklet’ы**
2. Многозадачность в ядре Linux: workqueue
3. Protothread и кооперативная многозадачность

В третьей части я также попробую сравнить все эти, на первый взгляд, разные сущности и извлечь какие-нибудь полезные идеи. А через некоторое время я расскажу про то, как нам удалось применить эти идеи на практике в [проекте Embox][3], и про то, как мы запускали на маленькой платке нашу ОС с почти полноценной многозадачностью. Рассказывать я постараюсь подробно, описывая основное API и иногда углубляясь в особенности реализации, особо заостряя внимание на задаче планирования. [Читать дальше →][4]

[1]: http://habrastorage.org/files/c6c/410/b72/c6c410b72716448c84e60c48126dce02.jpg
[2]: http://habrahabr.ru/post/219431/
[3]: https://code.google.com/p/embox/
[4]: http://habrahabr.ru/post/244071/#habracut

[>] Троян Regin: кто шпионит за GSM через Windows?
habra.14
habrabot(difrex,1) — All
2014-11-25 00:30:02


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

[1]: http://habrastorage.org/getpro/habr/post_images/42c/ddc/894/42cddc894e2b171ee540ae2008f1d164.png
[2]: http://habrahabr.ru/company/pt/blog/244073/
[3]: http://habrahabr.ru/company/pt/blog/237981/
[4]: http://habrahabr.ru/company/pt/blog/226977/
[5]: http://habrahabr.ru/post/244073/#habracut

[>] Как мы внедряем Open source в госкомпаниях и крупной коммерции России
habra.14
habrabot(difrex,1) — All
2014-11-25 11:30:04


![][1] КРОК — одна из самых больших в России компаний по построению IT-инфраструктур. У нас в год 2000+ проектов, из которых 200 штук — с бюджетом больше миллиона. Долларов. Внутри этой огромной компании есть мой небольшой отдел, который занимается тем, что ставит **open source** для крупных заказчиков. Нередко приходится сталкиваться с мнением, что open source — это кривые поделки гаражных программистов. Мы работаем только с нормальным рабочим ПО; помогаем подобрать оптимальные варианты решений для инфраструктуры и обеспечиваем поддержку там, где производитель по очевидным причинам сделать этого не может. Это — не самая простая работа, в основном, связанная с мифами и легендами про открытое ПО. Но к чёрту детали, давайте покажу, что и как можно поставить на рабочие места, сервера, в облако, для СУБД, VDI, BPM и серверов приложений. И про галстук. [Читать дальше →][2]

[1]: //habrastorage.org/files/f7b/772/8d3/f7b7728d302349b3842ba6af5fd62517.jpg
[2]: http://habrahabr.ru/post/244085/#habracut

[>] [Из песочницы] PIN-код при оплате картой — точки над i
habra.14
habrabot(difrex,1) — All
2014-11-25 15:30:03


Всем доброго дня! После прочтения нескольких статей на хабре о пластиковых картах, POS терминалах и сопутствующих вещах, мне показалось, что эта тема довольно интересна сообществу. В данной небольшой публикации я хочу окончательно разобрать тему ввода PIN–кода на POS терминалах и ответить, наконец, в меру своих знаний, на вопрос: почему же в одних случаях требуется ввод PIN, а в других — нет? [Читать дальше →][1]

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

[>] Таргетированные атаки: Китай атаковал более 600 объектов в США за последние 5 лет
habra.15
habrabot(difrex,1) — All
2015-08-05 18:00:02


![][1] В распоряжении телекомпании NBC оказался один интересный слайд с брифинга NTOC (NSA Threat Operations Center, Центр Реагирования на Угрозы АНБ), в котором отмечены успешные проникновения со стороны китайских хакеров в правительтсвенные сети и организации в США. [Читать дальше →][2]

[1]: https://habrastorage.org/files/414/898/8ea/4148988eab6e4ba7a62a26120d8b6312.jpg
[2]: http://habrahabr.ru/post/264151/#habracut

[>] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 1. «Ключ»
habra.15
habrabot(difrex,1) — All
2015-08-05 20:30:03


[![image][1]][2]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][3]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Начало и план перевода тут: «[Шкворень: школьники переводят книгу про хакеров][4]». [Пролог][5] [Глава 1. «Ключ»][6] [Глава 3. «The Hungry Programmers»][7] [Глава 5. «Cyberwar!»][8] [Глава 34. DarkMarket][9] _(публикуем по мере готовности переводов)_ Логика выбора книги для работы со школьниками у меня следующая:

* книг про хакеров на русском языке мало (полторы)
* книг про кардинг на русском нет вообще (**UPD** нашлась [одна][10])
* Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
* приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
* работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
* текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья, базовые понятия инфраструктуры интернет
* книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

Кто хочет помочь с переводом других глав пишите в личку [magisterludi][11].

#### Глава 1. Ключ

_(текст переведен в рамках коллективного проекта школьников в лагере GoToCamp, спасибо Алене, Кате, Соне, Грише, Саше и хабраюзеру [ShiawasenaHoshi][12])_ [Читать дальше →][13]

[1]: https://habrastorage.org/getpro/habr/post_images/227/d44/9d2/227d449d248dd7c8ee244ce5cf29fdfe.jpg
[2]: http://habrahabr.ru/post/264227/
[3]: https://en.wikipedia.org/wiki/Max_Butler
[4]: http://habrahabr.ru/post/261491/
[5]: http://habrahabr.ru/post/261491/
[6]: http://habrahabr.ru/post/264227/
[7]: http://habrahabr.ru/post/263819/
[8]: http://habrahabr.ru/post/263813/
[9]: http://habrahabr.ru/post/263293/
[10]: http://habrahabr.ru/company/piter/blog/204042/
[11]: http://habrahabr.ru/users/magisterludi/
[12]: http://habrahabr.ru/users/shiawasenahoshi/
[13]: http://habrahabr.ru/post/264227/#habracut

[>] Сложности сборки Python3 + Qt5 приложений под Windows
habra.15
habrabot(difrex,1) — All
2015-08-05 22:00:05


Недавно потребовалось мне сделать небольшую прогу под Windows. Раньше мне не доводилось разрабатывать под нее. Сама программа несложная, написалась относительно быстро. Намного больше времени отъела сборка ее под винду. Понятно, что выбранные инструменты (Python3 + Qt5) не родные, а универстальные, но что потребуется столько времени затратить на сборку, я не предполагал. Соответственно, хочется поделиться практикой, может кому еще придется стучаться лбом в эту стену. Под катом выстраданная инструкция как легко собирать PyQt5 приложения в single-file.exe не требующий инсталлятора. [Читать дальше →][1]

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

[>] Тестирование компонентов в Unity Engine
habra.14
habrabot(difrex,1) — All
2014-11-25 16:00:03


В продолжение [статьи о КОП][1] я подробней расскажу о тестировании компонентов. Существует много информации о юнит-тестировании и BDD, эта статья будет посвящена настройке SpecFlow для работы с Unity Engine, а также содержать общие рекомендации по созданию тестируемой архитектуры игры с компонентно-ориентированным подходом. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/243479/
[2]: http://habrahabr.ru/post/244091/#habracut

[>] [Из песочницы] Введение в машинное обучение с помощью scikit-learn (перевод документации)
habra.15
habrabot(difrex,1) — All
2015-08-06 02:00:07


_Данная статья представляет собой перевод введения в машинное обучение, представленное на официальном сайте [scikit-learn][1]._ В этой части мы поговорим о терминах [машинного обучения][2], которые мы используем для работы с scikit-learn, и приведем простой пример обучения.

#### Машинное обучение: постановка вопроса

В общем, задача машинного обучения сводится к получению набора [выборок данных][3] и, в последствии, к попыткам предсказать свойства неизвестных данных. Если каждый набор данных — это не одиночное число, а например, многомерная сущность (multi-dimensional entry или [multivariate][4] data), то он должен иметь несколько признаков или фич. Машинное обчение можно разделить на несколько больших категорий:

* [обучение с учителем][5] (или управляемое обучение). Здесь данные представлены вместе с дополнительными признаками, которые мы хотим предсказать. ([Нажмите сюда][6], чтобы перейти к странице Scikit-Learn обучение с учителем). Это может быть любая из следующих задач:



1. [классификация][7]: выборки данных принадлежат к двум или более классам и мы хотим научиться на уже размеченных данных предсказывать класс неразмеченной выборки. Примером задачи классификации может стать распознавание рукописных чисел, цель которого — присвоить каждому входному набору данных одну из конечного числа дискретных категорий. Другой способ понимания классификации — это понимание ее в качестве дискретной (как противоположность непрерывной) формы управляемого обучения, где у нас есть ограниченное количество категорий, предоставленных для N выборок; и мы пытаемся их пометить правильной категорией или классом.
2. [регрессионный анализ][8]: если желаемый выходной результат состоит из одного или более непрерывных переменных, тогда мы сталкиваемся с регрессионным анализом. Примером решения такой задачи может служить предсказание длинны лосося как результата функции от его возраста и веса.



* [обучение без учителя ][9](или самообучение). В данном случае обучающая выборка состоит из набора входных данных Х без каких-либо соответствующих им значений. Целью подобных задач может быть определение групп схожих элементов внутри данных. Это называется [кластеризацией][10] или кластерным анализом. Также задачей может быть установление распределения данных внутри пространства входов, называемое густотой ожидания ([density estimation][11]). Или это может быть выделение данных из высоко размерного пространства в двумерное или трехмерное с целью визуализации данных. ([Нажмите сюда][12], чтобы перейти к странице Scikit-Learn обучение без учителя).

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

[1]: http://scikit-learn.org/stable/tutorial/basic/tutorial.html
[2]: https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5
[3]: https://ru.wikipedia.org/wiki/Выборка
[4]: http://en.wikipedia.org/wiki/Multivariate_random_variable
[5]: https://ru.wikipedia.org/wiki/Обучение_с_учителем
[6]: http://scikit-learn.org/stable/supervised_learning.html#supervised-learning
[7]: https://ru.wikipedia.org/wiki/Задача_классификации
[8]: https://ru.wikipedia.org/wiki/Регрессионный_анализ
[9]: https://ru.wikipedia.org/wiki/Обучение_без_учителя
[10]: https://ru.wikipedia.org/wiki/Кластерный_анализ
[11]: http://en.wikipedia.org/wiki/Density_estimation
[12]: http://scikit-learn.org/stable/unsupervised_learning.html#unsupervised-learning
[13]: http://habrahabr.ru/post/264241/#habracut

[>] Опыт использования MVVM в реальных проектах
habra.14
habrabot(difrex,1) — All
2014-11-25 16:30:02


Мы продолжаем выкладывать видео выступлений с нашей первой конференции мобильных разработчиков [\#MBLTDev][1]. Следующий доклад — от iOS-разработчика компании «Одноклассники» Юрия Буянова «Опыт использования MVVM в реальных проектах».




[Презентация. ][2] Доклад был посвящён практическим аспектам разработки iOS-приложений с использованием архитектуры MVVM. В частности рассматривались способы осуществления навигации и реализации списков в рамках такой архитектуры. Для слушателей, незнакомых c предметом, в начале доклада было сделано небольшое введение в MVVM и ReactiveCocoa. Также были показаны слайды с белочкой, совушкой и единорогом. [Читать дальше →][3]

[1]: http://mbltdev.ru
[2]: http://www.slideshare.net/elegion/mbltdev-mvvm
[3]: http://habrahabr.ru/post/244065/#habracut

[>] Обходим защиту iOS клиента Dropbox
habra.14
habrabot(difrex,1) — All
2014-11-25 18:30:02


![][1] Что в первую очередь сделает iOS разработчик, если перед ним встанет задача спрятать пользовательские данные от любопытных глаз? Конечно же, встроит экран парольной защиты. Особо хитрый разработчик даже не будет хранить установленный пользователем пароль в _NSUserDefaults_, а аккуратно спрячет его в связку ключей — в этом случае приложение в глазах как его, так и заказчика, сразу же перемещается в разряд «сверхзащищенных». Мы не будем углубляться в описание опасностей хранения ключа в открытом доступе — ведь есть гораздо более интересный способ обхода такой защиты. [Читать дальше →][2]

[1]: //habrastorage.org/files/23a/6a2/b10/23a6a2b1037742d884a9fd8cbcbb283e.png
[2]: http://habrahabr.ru/post/244143/#habracut

[>] Многозадачность в ядре Linux: workqueue
habra.14
habrabot(difrex,1) — All
2014-11-25 19:00:03


Продолжаем тему многопоточности в ядре Linux. В прошлый раз я рассказывала про прерывания, их обработку и tasklet’ы, и так как изначально предполагалось, что это будет одна статья, в своем рассказе о workqueue я буду ссылаться на tasklet’ы, считая, что читатель уже с ними знаком. Как и в прошлый раз, я постараюсь сделать мой рассказ максимально подробным и детальным. Статьи цикла:

1. [Многозадачность в ядре Linux: прерывания и tasklet’ы][1]
2. **Многозадачность в ядре Linux: workqueue**
3. Protothread и кооперативная многозадачность





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

[1]: http://habrahabr.ru/post/244071/
[2]: http://habrahabr.ru/post/244155/#habracut

[>] [Перевод] Распознаем штрихкоды на изображениях с помощью Python и OpenCV
habra.14
habrabot(difrex,1) — All
2014-11-25 20:00:04


_От переводчика: мы в компании [Энтерра][1] очень любим алгоритмы компьютерного зрения. Работаем чаще всего с OpenCv. Время от времени нам пишут разные разработчики с вопросами: «А как лучше начать работать с OpenCv?» или «Какую интересную задачу можно просто решить с помощью OpenCv?» В связи с чем мы решили перевести очень хорошую статью, которая будет полезна всем, кто интересуется компьютерным зрением._ ![][2] Черная Пятница близко. Толпы злых покупателей. Рой одинаковых теток среднего возраста, готовых сожрать практически всё, что угодно, в ближайшем супермаркете — главное, что со скидкой 75%. Они выстроятся в очереди перед дверьми магазинов в полночь Дня благодарения. Они будут ломиться внутрь, стучать в запертые двери кулаками и головами, пока не сплющат друг друга и не разобьют руки в кровь, став похожими на зомби из «28 дней спустя». Но вместо человеческой плоти, они жаждут удовлетворить инстинкт покупателя. Их боевые кличи о скидках и распродажах достигают небес. А их громовая поступь способна привести к землетрясению на Великой Равнине. Естественно, от СМИ помощи не жди — они будут смаковать каждую подробность. От обмороженных семейств, ночевавших в палатке на морозе, до старой леди, растоптанной охотниками за скидкой в момент, когда открылись двери. Что-то похожее случилось с галлимимусом в «Парке Юрского периода». А она просто хотела купить Halo для девятилетнего внука Тимми, чьи родители забыли это сделать в прошлом году. В Wal-Mart. Во время Черной Пятницы. И я обязан спросить: весь этот хаос и бедлам стоят того? **Чёрт возьми, нет!** Любая покупка, которую я совершу в эту Черную Пятницу, будет сделана совершенно безопасно с помощью ноутбука. Но если вы решите выйти в реальный мир и вступить в схватку с охотниками за наживой, **вам в первую очередь понадобится загрузить код из [оригинального поста][3]**. Просто представьте, как глупо вы будете выглядеть, стоя в очереди в ожидании свободной кассы – только для того, чтобы после сканирования штрихкода последнего сезона «Игры Престолов» выяснить, что в Target его можно купить на 5 долларов дешевле? Собственно, далее я покажу, как можно обнаружить штрихкод на изображении, используя только Python и OpenCV. [Читать дальше →][4]

[1]: http://www.enterra-inc.com/
[2]: http://habrastorage.org/files/c3e/8ef/0e4/c3e8ef0e415d46cd81d8e4f6c29b33c1.jpg
[3]: http://www.pyimagesearch.com/2014/11/24/detecting-barcodes-images-python-opencv/
[4]: http://habrahabr.ru/post/244163/#habracut

[>] Атака на банкомат с помощью Raspberry Pi
habra.14
habrabot(difrex,1) — All
2014-11-25 20:00:04


[![image][1]][2] Что только не делают с банкоматами: их выдирают из стены, привязав тросом к автомобилю, сверлят, взрывают и режут ([иной раз][3] в здании Госдумы). По [статистике EAST][4], преступники стали реже использовать скимминг, предпочитая траппинг и физические диверсии. Немало хлопот специалистам по безопасности доставляет и еще один новый тренд — вирусные атаки на банкоматы. Тут и Trojan.Skimer, и Backdoor.Ploutus, и совсем свежий зловред Tyupkin, и другие «приложения», известные и не очень. Малварь загружается в компьютер банкомата, как правило с внешних носителей, и используется для несанкционированной выдачи денег или перехвата карточных данных. Еще один способ атаки описали эксперты Positive Technologies Ольга Кочетова и Алексей Осипов на конференции по компьютерной безопасности [Black Hat Europe 2014][5], проходившей в октябре в Амстердаме. [Читать дальше →][6]

[1]: http://habrastorage.org/getpro/habr/post_images/52b/b27/198/52bb27198d188a9ebed80df37be7ec83.jpg
[2]: http://habrahabr.ru/company/pt/blog/244159/
[3]: http://www.interfax.ru/business/403416
[4]: http://www.plusworld.ru/daily/obem-bankomatnogo-skimminga-v-evrope-dostig-shestiletnego-minimuma/
[5]: https://www.blackhat.com/eu-14/
[6]: http://habrahabr.ru/post/244159/#habracut

[>] Злоумышленники используют CVE-2014-6332
habra.14
habrabot(difrex,1) — All
2014-11-25 21:00:04


Недавно мы [писали][1] про новую опасную уязвимость CVE-2014-6332 в Windows, которая присутствовала (MS14-064) в библиотеке OleAut32.dll, а точнее, в функции _OleAut32!SafeArrayRedim_. Эта функция используется движком VBScript (vbscript.dll) для run-time изменения размера массива в формате SAFEARRAY. В самой _SafeArrayRedim_ содержалась уязвимость, которая позволяла внутри функции модифицировать поле размера массива, а потом возвращать результат неуспешности операции, что приводило к увеличению размера буфера с точки зрения самой структуры. Подробнее см. [здесь][2]. ![][3] В силу того, что эксплойт для этой уязвимости (Windows OLE Automation Array Remote Code Execution Vulnerability), фактически, может оперировать памятью напрямую, из-за порчи структуры заголовка буфера функцией ОС, ему не нужно прибегать к операциям срабатывания уязвимости типа _use-after-free_, вся эксплуатация сводится к последовательному исполнению нескольких функций, которые помогают запустить процесс из функции VBScript в обход DEP & ASLR. [Читать дальше →][4]

[1]: http://habrahabr.ru/company/eset/blog/243281/
[2]: http://securityintelligence.com/ibm-x-force-researcher-finds-significant-vulnerability-in-microsoft-windows#.VHRdClWsWPU
[3]: //habrastorage.org/files/735/b53/311/735b533113b246389d159fad77d1c8de.jpeg
[4]: http://habrahabr.ru/post/244115/#habracut

[>] [Из песочницы] Как я гонял Балду на Visual Basic for Applications для MS Access
habra.14
habrabot(difrex,1) — All
2014-11-26 13:30:04


Не помню, что меня так заело. Наверно, кто-нибудь обыграл меня в Балду с разгромным счетом (ее онлайн-вариант есть на Одноклассниках, Mail.ru и в куче других мест). Короче, я принял вызов. В прошлый раз так было с программкой для разгадки СУДОКУ. Но там все оказалось заметно проще. ![image][1] _Балда, она же Волшебный Квадрат. Игроки добавляют на каждом шагу по одной букве, чтобы получилось осмысленное слово как можно большей длины._ [Читать дальше →][2]

[1]: http://habrastorage.org/files/0ba/1a0/9f7/0ba1a09f7281454dafcc2e1efa955bb9.png
[2]: http://habrahabr.ru/post/244217/#habracut

[>] Google и Samsung обещают регулярно обновлять Android
habra.15
habrabot(difrex,1) — All
2015-08-06 09:00:04


Компания Google сегодня [объявила][1] о выпуске долгожданного для пользователей Android обновления, которое исправляет набор печально известных Remote Code Execution уязвимостей под общим названием [Stagefright][2] (_Google Stagefright Media Playback Engine Multiple Remote Code Execution Vulnerabilities_). Stagefright позволяла атакующим удаленно исполнять код на устройстве с максимальными правами в системе через отправку жертве специальным образом сформированного MMS-сообщения, причем пользователю даже не требовалось открывать его. ![][3] Google также указала, что Android будет обновляться ежемесячно и для него будут регулярно выходить обновления, закрывающие security-уязвимости (_Monthly Over-the-Air Android Security Updates_). Известно, что первыми такими обновления получают устройства самой Google, т. е. серии Nexus. Далее, на плечи производителей других устройств ложится ответственность за обновление выпущенных ими устройств. [Читать дальше →][4]

[1]: http://officialandroid.blogspot.ru/2015/08/an-update-to-nexus-devices.html
[2]: http://www.securityfocus.com/bid/76052
[3]: //habrastorage.org/files/f95/f81/3fa/f95f813fa42049e6a6c973b85ff5b000.png
[4]: http://habrahabr.ru/post/264247/#habracut

[>] Решетчатое наследование
habra.14
habrabot(difrex,1) — All
2014-11-26 13:30:04


Наследование, при кажущейся простоте, часто приводит к сложным, сопротивляющимся изменениям структурам. Иерархии классов растут как самый настоящий лес. Целью наследование является привязка кода (набора методов) к минимальному набору свойств сущности (как правило — объекта), которые он обеспечивает и которые ему требуются. Это упрощает повторное использование, тестирование и анализ кода. Но наборы свойств со временем становятся очень большими, начинают пересекаться нетривиальным образом. И в структуре классов появляются миксины и прочее множественное наследование. Внести изменения в глубине иерархии становится проблематично, приходится думать заранее о «внедрении зависимостей», разрабатывать и использовать сложные инструменты рефакторинга. Возможно ли всего этого избежать? Стоит попытаться — пусть методы будут привязаны к множеству характерных свойств объекта (тегов), а иерархия наследования выстраивается автоматически по вложенности этих множеств. Пусть мы разрабатывает иерархию для игровых персонажей. Часть кода будет общая для всех персонажей — она привязана к пустому набору свойств. Код, отвечающий за их отображение будет представлен в виде вариантов для OpenGL и DirectX разных версий. Что-то будет зависеть от расы персонажа, что-то от наличия и вида магических способностей и тп. Теги персонажа первичны. Они перечисляются явно, а не наследуются. А реализация наследуется в зависимости от набора тегов (по вложенности). Таким образом умение стрелять из ПЗРК не окажется у кенгуру, потому что его унаследовали от пехотинца. Идея такого подхода была предложена Дмитрием Кимом. Автор не стал ее воплощать в код, я попробую исправить это упущение. Реализация такого подхода на Clojure, как обычно, на [github][1]. [Читать дальше →][2]

[1]: https://github.com/potan/grid-inheritance.clj
[2]: http://habrahabr.ru/post/242649/#habracut

[>] [Перевод] Golang в AeroFS
habra.15
habrabot(difrex,1) — All
2015-08-06 10:00:03


_Перевод статьи инженера компании AeroFS о переводе их микросервис-архитектуры с Java на Go._ TLDR; Портировав некоторые наши микросервисы с Java на Go, мы уменьшили использование памяти **на несколько порядков**.

#### В начале была Java

![][1] Архитектура AeroFS Appliance состоит из многих микросервисов, и подавляющее большинство из них написаны на Java. Это никогда не создавало нам проблем, вся система обслуживает тысячи пользователей от разных клиентов без каких-либо проблем с производительностью. [Читать дальше →][2]

[1]: https://habrastorage.org/files/13a/a5a/a97/13aa5aa972854f8e8c080a9c14b349fa.png
[2]: http://habrahabr.ru/post/264251/#habracut

[>] Как найти любовь или приключения с помощью crate.io и kibana
habra.14
habrabot(difrex,1) — All
2014-11-26 16:00:03


Про результативность, качество и КПД сайтов знакомств можно спорить, можно искать 101 повод чем лучше в клубе/баре/\_дополнить\_варианты\_/парке искать знакомства. То что еще лет десять-пятнадцать назад вызывало смех — теперь мейнстрим. Так не проще ли попытаться использовать еще одну возможность для поиска и общения в интернет с переходом к знакомству в жизни… ![][1] Гиковский вариант технологии поиска, скринкаст приложения под катом. В конце статьи ссылка на архив с работающим приложением под Apache License v2.0 и небольшим набором данных для примера. [Читать дальше →][2]

[1]: //habrastorage.org/files/532/4ca/109/5324ca10992d452cb3a656f12fe25bc4.png
[2]: http://habrahabr.ru/post/244193/#habracut

[>] [Из песочницы] Компьютер из маленьких фей
habra.14
habrabot(difrex,1) — All
2014-11-26 16:00:03


(Вычислительная машина с универсальной архитектурой) ![][1] _Сказка ложь, да в ней намек…_ • Найти Декарта; • В стране Лилипутов; • Бактериологическая почта; • Арифмометр в юбке; • Компьютер из маленьких фей.

#### Найти Декарта

До нас дошла история, что известный философ в поисках свободного времени для размышлений и способа решения бытовых трудностей записался в армию. Там, между переходами, он, бывало, забирался в слегка протопленную голландскую печь, где, наконец, мог найти уединение со своими мыслями. Как и многие математики, Декарт питал взаимную слабость к общению с юными особами, одной из которых, чье имя слишком известно, чтобы о нем здесь упоминать, как-то, случайно проезжая мимо лагеря, захотелось повидаться со своим другом-философом. Но как его отыскать? Палаток было больше тысячи – за вечер все не обойдешь, да и титул не позволял. Надеюсь, читатель простит мне некоторые неточности в знании военного уклада, но пусть армия состояла из десяти полков, каждый полк из десяти батальонов, а в каждом батальоне было десять рот по десять человек и ротным во главе. [Читать дальше →][2]

[1]: //habrastorage.org/files/780/6dd/a6c/7806dda6cc6842d599c5c78e559f835f.png
[2]: http://habrahabr.ru/post/244221/#habracut

[>] Facebook обновил пользовательское соглашение и собирается передавать данные третьим лицам
habra.14
habrabot(difrex,1) — All
2014-11-26 18:30:02


Если вы пользуетесь Facebook, вы наверняка уже видели сообщение о том, что с 1 января в силу вступает новое пользовательское соглашение. Мы уже привыкли к таким обновлениям: то Гугл, то MS, то Apple (прямо в айфоне) выкатывают новые «terms» и просят поставить галочку. И мы, не задумываясь, ставим. А зря! В этом обновлении много интересного: [Подробности][1]

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

[>] [Перевод] Исследование в Mathematica: Бенедикт Камбербэтч успешно пародирует других актеров, но может ли он одурачить компьютер?
habra.14
habrabot(difrex,1) — All
2014-11-26 23:00:03


_Перевод поста Риты Крук (Rita Crook) "[Benedict Cumberbatch Can Charm Humans, but Can He Fool a Computer?][1]"._ Вышедший на этой неделе, весьма ожидаемый, в прокат фильм "[Игра в имитацию][2]" (_The Imitation Game_) рассказывает о жизни Алана Тьюринга (100-лет со дня рождения которого совпали с 22-м днем рождения системы _Mathematica_ — подробнее см. пост Стивена Вольфрама [Happy Birthday, Alan Turing][3]). Центральной темой фильма являются машины Тьюринга. Интересно, что в 2007 году компания Wolfram Research объявила [приз][4] за доказательство универсальности 2,3 машины Тьюринга. Конечно же, [промоушн-видео][5] Бенедикта Камбербэтча, в котором он имитирует голоса и поведение других известных актеров многим понравилось. Но мне захотелось выяснить, сможет ли функционал _Mathematica_ из области [Machine Learning][6] распознать его голос, или же он сможет «одурачить» и компьютер тоже. [Читать дальше →][7]

[1]: http://blog.wolfram.com/2014/11/26/benedict-cumberbatch-can-charm-humans-but-can-he-fool-a-computer/
[2]: http://www.kinopoisk.ru/film/635772/
[3]: http://blog.wolfram.com/2010/06/23/happy-birthday-alan-turing/
[4]: http://blog.wolfram.com/2007/10/24/the-prize-is-won-the-simplest-universal-turing-machine-is-proved/
[5]: https://www.youtube.com/watch?v=CwpQp-pDS8I
[6]: http://www.wolfram.com/mathematica/new-in-10/highly-automated-machine-learning/
[7]: http://habrahabr.ru/post/244293/#habracut

[>] Программируем арт: openFrameworks — первый контакт
habra.14
habrabot(difrex,1) — All
2014-11-27 17:30:03


![][1] Когда вы последний раз программировали на C++? Может быть это ваша каждодневная работа, а мой последний (до вчерашнего дня) проект на С++ был в далеком 2000 году — дипломный проект на базе Visual Studio 4.2 (хорошая, кстати, система была), и с тех пор перешёл в веб-разработку — скриптовые языки. То есть сейчас я — начинающий на C++, но это не помешало мне за пару часов развернуть инфраструктуру, сделать и собрать мультимедийное приложение на C++, которое визуализирует музыку с разными эффектами. И в этом мне помогли:

* открытый фреймворк для создания интерактивных приложений — openFrameworks
* бесплатное IDE Code::Blocks

Что получилось — можно посмотреть в спойлере, ниже. А начиналось всё так — после очередного прослушивания музыки от одного композитора из Самары, я подумал — было бы интересно попробовать сделать визуализацию музыки, и обратился к Денису Перевалову (кто не первый год занимается созданием разнообразных интерактивных арт/перформанс систем) — он мне ответил, что это делается без проблем на базе openFrameworks и что в примерах к его книге (а он автор книги по openFramework), есть реализация такой задачи. То есть мне нужно было _всего лишь_ — установить фреймворк, доработать и собрать пример на С++… Об этом процессе — установке, настройки, и кратком описании openFrameworks и будет эта статья. **openFrameworks** — это система с помощью которой можно запрограммировать интерактивное мультимедийное приложение, то есть арт, [перформансы][2] и т.п., она бесплатная, открытая и кроссплатформенная система (linux, mac, win), и так же есть версии для ARM (к примеру для RPi), и сборки для iPhone и Android. Кстати на КДПВ — одна из [инсталляций][3] на базе openFrameworks (Семь Видеогидов. выставлено на ВДНХ в экспозиции Политехнического музея. Москва, 2014).








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

[1]: //habrastorage.org/files/6c4/40b/1e0/6c440b1e0ee1438f935943c463a12404.jpg
[2]: http://habrahabr.ru/post/217565/
[3]: http://kuflex.com/Museum-Guides
[4]: http://habrahabr.ru/post/244265/#habracut

[>] SSLR: Screen Space Local Reflections в AAA-играх
habra.14
habrabot(difrex,1) — All
2014-11-27 19:00:02






Привет, друг! В этот раз я опять подниму вопрос о графике в _ААА_-играх. Я уже разобрал методику **HDRR** (не путать с HDRI) [тут][1] и чуть-чуть поговорил о коррекции цвета. Сегодня я расскажу, что такое **SSLR** (так же известная как SSPR, SSR): _Screen Space Local Reflections_. Кому интересно — под кат. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/238425/
[2]: http://habrahabr.ru/post/244367/#habracut

[>] [Из песочницы] Elementary OS. Наводим чистоту и порядок в Applications
habra.14
habrabot(difrex,1) — All
2014-11-28 00:30:08


Здравствуйте! Когда впервые зашла на хабр, поняла, что я дома. Home, Sweet Home.… Всё не решалась написать. Вот, решилась! Пишу. Хорошо иль плохо, но пишу. ![][1] Меня всегда удручал беспорядок в [… всюду, не люблю беспорядок… ] в меню приложений Mandriva, Suse, Ubuntu, Elementary OS (Решила перечислить их в порядке использования. Пишу и ностальгирую). Конечно, ситуация одинакова для поголовного большинства дистрибутивов, так как информацию о том, как и где показывать программу прописывают сами создатели этих программ в \*.desktop файлах. И многих из них похоже не волнует тот беспорядок, который происходит от такого отношения к логике построения навигации. Решила я это исправить. Давно давно давно, страшно давно. И через время, давно… таки исправила. А вам решила и собралась показать вообще только сейчас. [Подробненько][2]

[1]: //habrastorage.org/files/d36/ad6/67a/d36ad667a52444bca7ce9048bd6d4aaf.jpg
[2]: http://habrahabr.ru/post/242751/#habracut

[>] [Из песочницы] Banana Pi: через U-Boot к Arch Linux
habra.15
habrabot(difrex,1) — All
2015-08-06 13:30:14


Уже четвёртый год подряд, с момента выпуска Raspberry Pi, на рынки всего мира поставляются различные микрокомпьютеры на отличных от x86 архитектурах, которые выполняют роль медиацентров, контроллеров умных домов, веб-серверов и чего только душа гика не пожелает! К 2014-2015 году не все были довольны вычислительными возможностями «малинки» и начался выпуск десятков его клонов с более мощным железом. У большинства из них есть недостатки: фиксированная устаревшая версия ядра и загрузчика, небольшой выбор дистрибутивов. Под катом расскажу о том, как сбросить оковы вендора на примере Banana Pi. [Познать путь к свежему софту][1]

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

[>] Креативное программирование: openFrameworks — установка и пример визуализации музыки
habra.14
habrabot(difrex,1) — All
2014-11-28 05:00:02


![][1] Когда вы последний раз программировали на C++? Может быть это ваша каждодневная работа, а мой последний (до вчерашнего дня) проект на С++ был в далеком 2000 году — дипломный проект на базе Visual Studio 4.2 (хорошая, кстати, система была), и с тех пор перешёл в веб-разработку — скриптовые языки. То есть сейчас я — начинающий на C++, но это не помешало мне за пару часов развернуть инфраструктуру, сделать и собрать мультимедийное приложение на C++, которое визуализирует музыку с разными эффектами. И в этом мне помогли:

* открытый фреймворк для создания интерактивных приложений — openFrameworks
* бесплатное IDE Code::Blocks










А начиналось всё так — после очередного прослушивания музыки от одного композитора из Самары, я подумал — было бы интересно попробовать сделать визуализацию музыки, и обратился к Денису Перевалову (кто не первый год занимается созданием разнообразных интерактивных арт/перформанс систем) — он мне ответил, что это делается без проблем на базе openFrameworks и что в примерах к его книге (а он автор книги по openFrameworks), есть реализация такой задачи. То есть мне нужно было _всего лишь_ — установить фреймворк, доработать и собрать пример на С++… Об этом процессе — установке, настройки, и кратком описании openFrameworks и будет эта статья. **openFrameworks** — это система с помощью которой можно запрограммировать интерактивное мультимедийное приложение, то есть арт, [перформансы][2] и т.п., она бесплатная, открытая и кроссплатформенная система (linux, mac, win), и так же есть версии для ARM (к примеру для RPi), и сборки для iPhone и Android. Кстати на КДПВ — одна из [инсталляций][3] на базе openFrameworks (Семь Видеогидов. выставлено на ВДНХ в экспозиции Политехнического музея. Москва, 2014). [Читать дальше →][4]

[1]: //habrastorage.org/files/6c4/40b/1e0/6c440b1e0ee1438f935943c463a12404.jpg
[2]: http://habrahabr.ru/post/217565/
[3]: http://kuflex.com/Museum-Guides
[4]: http://habrahabr.ru/post/244265/#habracut

[>] Применяем корреляцию в ритейле
habra.15
habrabot(difrex,1) — All
2015-08-06 17:00:04


На данный момент система высшего образования свела математику до одноразового применения — сломать мозг студентов младших курсов непрофильных специальностей и благополучно выветрится к следующей сессии. Некоторые, правда, потом еще помнят что такие науки как математика и статистика это реальная сила, но мало кто это понимает и тем более применяет в своей деятельности. В [Datawiz.io][1], собрав несколько мат-гиков, мы решили попытаться изменить сложившуюся ситуацию. Интересно же использовать свои знания на чем-то реальном, измеримом, и даже, возможно, приносящем пользу обществу. Остановились мы на ритейл индустрии. Ритейл предлагает множество данных для обработки, просто водопад цифр: продажи, чеки, ценообразование, покупатели, программы лояльности,… Есть с чем порезвится.



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

[1]: http://datawiz.io/ru/
[2]: http://habrahabr.ru/post/264217/#habracut

[>] Строим роботанк с управлением по Wifi, камерой, пушкой, блекджеком и т.д
habra.14
habrabot(difrex,1) — All
2014-11-28 08:30:03


![image][1] Всем привет, у меня таки возникло непреодолимое желание поделиться с миром своим достижением. Достижением является танк, который рулится по WiFi с геймпада, транслирует на пульт видео в реальном времени, передает с пульта и на пульт звук, а также имеет пушку с лазерным прицелом, из которой можно в кого-нибудь пострелять. Этот пост будет первым тестовым, дабы понять, интересно ли такое кому-нибудь, кроме меня, в нем опишу общее строение, используемые технологии и устройства. [Читать дальше →][2]

[1]: http://habrastorage.org/files/a3a/a1f/b87/a3aa1fb871f14c6cb866f1c81f5949e9.jpg
[2]: http://habrahabr.ru/post/244407/#habracut

[>] [Перевод] Выразительный JavaScript: Проект: Игра-платформер
habra.14
habrabot(difrex,1) — All
2014-11-28 12:00:03




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



* [Введение][1]
* [Величины, типы и операторы][2]
* [Структура программ][3]
* [Функции][4]
* [Структуры данных: объекты и массивы][5]
* [Функции высшего порядка][6]
* [Тайная жизнь объектов][7]
* [Проект: электронная жизнь][8]
* [Поиск и обработка ошибок][9]
* [Регулярные выражения][10]
* [Модули][11]
* [Проект: язык программирования][12]
* [JavaScript и браузер][13]
* [Document Object Model][14]
* [Обработка событий][15]
* [Проект: игра-платформер][16]
* Рисуем на Canvas
* HTTP
* Формы и поля ввода
* Проект: Paint
* Node.js
* Проект: веб-сайт по обмену умениями
* [Песочница для кода][17]

_Вся наша жизнь – игра. Ийен Бэнкс, «Игрок»_ Впервые я увлёкся компьютерами, как и большинство детей, через компьютерные игры. Меня затянуло во вселенную симулированных миров, которыми можно было управлять, и в которых рассказывались истории – мне кажется больше потому, что в них был дан простор моему воображению, чем из-за реальных возможностей, которые они предоставляли. Никому бы не пожелал карьеру игрового программиста. Как и в музыкальной индустрии, несоответствие между количеством молодых людей, желающих попасть туда и реальным спросом на них, создаёт нездоровую среду. Но написание игр для развлечения – это очень здорово. В этой главе мы изучим реализацию простого платформера. В платформерах (или «прыгай и беги») от игрока требуется двигать фигурку по (обычно) двумерному миру, который мы видим сбоку, и часто перепрыгивать через разные штуки. [Читать дальше →][18]

[1]: http://habrahabr.ru/post/240219/
[2]: http://habrahabr.ru/post/240223/
[3]: http://habrahabr.ru/post/240225/
[4]: http://habrahabr.ru/post/240349/
[5]: http://habrahabr.ru/post/240813/
[6]: http://habrahabr.ru/post/241155/
[7]: http://habrahabr.ru/post/241587/
[8]: http://habrahabr.ru/post/241776/
[9]: http://habrahabr.ru/post/242609/
[10]: http://habrahabr.ru/post/242695/
[11]: http://habrahabr.ru/post/243273/
[12]: http://habrahabr.ru/post/243277/
[13]: http://habrahabr.ru/post/243311/
[14]: http://habrahabr.ru/post/243815/
[15]: http://habrahabr.ru/post/244041/
[16]: http://habrahabr.ru/post/244405/
[17]: http://eloquentjavascript.net/code
[18]: http://habrahabr.ru/post/244405/#habracut

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 210