RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ... 210
[>] Запуск тестов OpenStack Keystone в Docker контейнере на Mac
habra.15
habrabot(difrex,1) — All
2015-08-09 16:30:03


Ниже описано как запускать Keystone тесты в Docker контейнере на OS X и зачем это мне понадобилось. ![][1] Я иногда пишу небольшие патчи в Openstack, в основном в Keystone. Делаю это на моем лаптопе с OS X. В 2009 я перешел с Linux на Mac, т.к. на последнем разрабатывать было не менее удобно, а заниматься всем остальным — гораздо удобнее. К сожалению, последнее время первое утверждение часто оказывается ложным. Например, Apple начала очень медленно обновлять системные open source библиотеки, от чего пострадали тесты Keystone — сначала из-за старого OpenSSL, а потом и python-ldap. Об этом, например, [пишет][2] Keystone PTL Morgan Fainberg. Начинает он оптимистичным NOTICE: OS X based testing/running of Keystone will likely be deprecated Можно с этим бороться, но удовольствие уже не то. [Читать дальше →][3]

[1]: https://habrastorage.org/files/9c4/209/953/9c420995345340e696254065cd74e347.jpg
[2]: https://www.morganfainberg.com/blog/2014/10/30/running-keystone-tests-on-os-x-10-dot-10/
[3]: http://habrahabr.ru/post/264365/#habracut

[>] Поиск на сайте своими руками
habra.14
habrabot(difrex,1) — All
2014-11-30 18:00:03


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

[1]: //habrastorage.org/files/a19/0af/f04/a190aff046d545b58baacc9601b77f2f.jpg
[2]: http://habrahabr.ru/post/244561/#habracut

[>] IBM запускает 50 проектов для сообщества разработчиков Open Source
habra.15
habrabot(difrex,1) — All
2015-08-09 20:00:05


![image][1] Корпорация IBM объявила о запуске новой платформы для разработчиков, где представлены передовые технологии с открытым исходным кодом. Кроме того, IBM запустит 50 проектов для сообщества разработчиков открытого программного обеспечения, целью которых станет ускорение внедрения сервисов на предприятиях и стимулирование нового класса инноваций в сфере мобильности и аналитики, также других быстрорастущих направлений. [developerWorks Open][2] – облачная площадка, где разработчикам открыт доступ к последним решениям IBM, техническим знаниям и опыту компании. Кроме того, платформа позволяет взаимодействовать с глобальной сетью программистов для ускорения создания и реализации проектов. Разработчики смогут не только загрузить код, но и посетить блоги, посмотреть видеоматериалы, получить доступ к инструментам и методике, которые помогут им в работе. Благодаря платформе программисты смогут более оперативно создавать и внедрять приложения с открытым исходным кодом, которые отвечали бы различным бизнес-требованиям клиентов. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/3d3/7d5/a31/3d37d5a31b51a3ab0e2736624d9aac47.jpg
[2]: http://www.developer.ibm.com/open
[3]: http://habrahabr.ru/post/264401/#habracut

[>] Министерство обороны уличили в пересылке секретных сведений через публичные почтовые сервисы
habra.15
habrabot(difrex,1) — All
2015-08-09 20:00:05


![][1] Ну, вот и клюнул петух, о котором я [писал][2] на Хабре еще год назад, в одно место наши непобедимые силовые структуры. Первым публично опозорилось Министерство обороны, которое, как [раскопали][3] (сайт огорожен Роскомнадзором) ребята из Анонимного Интернационала, не брезгует пересылать через публичные почтовые серверы документацию о наших грозных Искандерах и атомных подводных лодках. Для этого, правда, по утверждению хакеров им пришлось взломать те самые почтовые ящики на yandex.ru, mail.ru, gmail.com (а также айфон и айпад) и выложить в паблик выдержки из переписки, чтобы министерство не смогло это просто так проигнорировать. Свою публикацию весельчаки из «Шалтая» оформили в виде открытого письма в Департамент военной контрразведки ФСБ РФ: [Читать дальше →][4]

[1]: https://habrastorage.org/files/c9c/5e0/282/c9c5e0282a2f456a85206efe06d50b7c.JPG
[2]: http://habrahabr.ru/post/236727/
[3]: http://b0ltai.org/2015/08/07/%d0%be%d1%82%d0%ba%d1%80%d1%8b%d1%82%d0%be%d0%b5-%d0%bf%d0%b8%d1%81%d1%8c%d0%bc%d0%be-%d0%b2-%d0%b2%d0%be%d0%b5%d0%bd%d0%bd%d1%83%d1%8e-%d0%ba%d0%be%d0%bd%d1%82%d1%80%d1%80%d0%b0%d0%b7%d0%b2%d0%b5/
[4]: http://habrahabr.ru/post/264405/#habracut

[>] [Перевод] Обработка ошибок в Swift — меч и магия
habra.14
habrabot(difrex,1) — All
2014-11-30 23:30:04


Если издали видно общую картину, то вблизи можно понять суть. Концепции, которые казались мне далекими и, прямо скажем, странными во время экспериментов с Haskell и Scala, при программировании на Swift становятся ослепительно очевидными решениями для широкого спектра проблем. Взять вот обработку ошибок. Конкретный пример – деление двух чисел, которое должно вызвать исключение если делитель равен нулю. В Objective C я бы решил проблему так:

NSError *err = nil;
CGFloat result = [NMArithmetic divide:2.5 by:3.0 error:&err];
if (err) {
NSLog(@"%@", err)
} else {
[NMArithmetic doSomethingWithResult:result]
}


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

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

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

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

[>] [Из песочницы] Запуск приложений в Android Virtual Device на удаленном Linux-сервере
habra.14
habrabot(difrex,1) — All
2014-12-01 12:00:03


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

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

[>] [recovery mode] Free для ленивых
habra.14
habrabot(difrex,1) — All
2014-12-01 12:00:03


![image][1] (типичное утро понедельника) Однажды, я решил сделать маленький костылик, чтобы не пичкать свой код free вызовами. Было решено написать аналог auto-release pool’a для чистого С (который может далее быть портирован куда угодно). [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/1b3/06a/e22/1b306ae22c8541c24ea0b1ca0478daff.jpg
[2]: http://habrahabr.ru/post/244617/#habracut

[>] Скрытые камеры и их обнаружение, жучки, локпикинг, клонирование ключей, RFID и магнитных карт
habra.14
habrabot(difrex,1) — All
2014-12-01 13:00:03


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

[1]: //habrastorage.org/files/282/2cb/0b1/2822cb0b19e041a0a03eaf1062aa2caa.jpg
[2]: http://habrahabr.ru/post/244453/#habracut

[>] ЭкаунтоЛогика 1.0
habra.14
habrabot(difrex,1) — All
2014-12-01 15:00:03


![][1] Хочу поделиться с уважаемой публикой. Год-полтора назад я выступал на Хабре с предложениями о создании сетевой бухгалтерии нового типа. Найти человека, который бы воплотил идею в программном коде, не удалось (кто бы сомневался?), и через некоторое время я дошел до такой степени отчаяния, что решился написать программный код самостоятельно. Сказано – сделано: изучил язык программирования, насколько это оказалось в моих слабых бухгалтерских силах, и написал. Ниже предлагается синопсис того, что в итоге данной интеллектуальной эпопеи получилось – во всяком случае, того, как это задумывалось. Надеюсь, специалисты в области бухгалтерского софта смогут оценить новизну реализованной в программе методологии – хотя понимаю: это заведомо сложней, чем позубоскалить над усилиями новичка-«программиста». [Читать дальше →][2]

[1]: //habrastorage.org/files/e5d/6ce/bea/e5d6cebea6614c4985091d7b4adfe53b.png
[2]: http://habrahabr.ru/post/244465/#habracut

[>] [Из песочницы] Вероятностное программирование
habra.14
habrabot(difrex,1) — All
2014-12-01 15:30:03




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

Эта публикация является первой частью краткого вступления с иллюстрациями в _вероятностное программирование_, которое является одним из современных прикладных направлений машинного обучения и искусственного интеллекта. Во время написания этой публикации я с радостью обнаружил, что на Хабрахабре совсем недавно уже была [статья о вероятностном программировании с рассмотрением прикладных примеров из области теории познания][1], хотя, к сожалению, в русскоговоряющем Интернете пока мало материалов на эту тему. Я, автор, Юра Перов, занимаюсь вероятностным программированием в течение уже двух лет в рамках своей основной учебно-научной деятельности. Продуктивное знакомство с вероятностным программированием у меня сложилось, когда будучи студентом Института математики и фундаментальной информатики Сибирского федерального университета, я проходил стажировку в Лаборатории компьютерных наук и искусственного интеллекта в Массачусетском технологическом институте под руководством профессора Джошуа Тененбаума и доктора Викаша Мансингхи, а затем продолжилось на Факультете технических наук Оксфордского университета, где на данный момент я являюсь студентом-магистром под руководством профессора Френка Вуда. Вероятностное программирование я люблю определять как _компактный_, _композиционный_ способ представления _порождающих вероятностных моделей_ и проведения _статистического вывода_ в них с учетом данных с помощью обобщенных алгоритмов. Хотя вероятностное программирование не вносит много фундаментального нового в теорию машинного обучения, этот подход привлекает своей простотой: «вероятностные порождающие модели в массы!»

### «Обычное» программирование

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

[1]: http://habrahabr.ru/post/242993/
[2]: http://habrahabr.ru/post/244625/#habracut

[>] «Защита от дурака» или как запретить изменение/удаление важных папок
habra.14
habrabot(difrex,1) — All
2014-12-01 16:30:03


Доброе время суток. Исторически так сложилось, что для своих мелких проектов держу виртуалку. Однако, так как я не использую ее ресурсы на 100%, решил не жадничать и пустил похоститься несколько друзей. Сайтов не много, деньги за хостинг не беру, поэтому ставить что-то вроде cpanel счел перебором. К тому же я их тех, кто предпочитает настраивать все вручную. Структуру выбрал следующую:

/home/hostuser/vhosts/sitename.ru/{tmp,web,logs}


И тут возник вопрос: как запретить пользователю удалять/переименовывать папки в sitename.ru? Если будет отсутствовать папка _web_, то и apache и nginx выдадут предупреждение, но все-равно загрузятся. Но если удалить/переместит папку _logs_, то и apache и nginx не запустятся из-за ошибки (по мне довольно странное поведение). Папка _hostuser_ полностью принадлежит данному пользователю и его личной группе (_hostuser:hostuser_), а это означает, что при желании он сможет удалить любую внутреннюю папку/файл, даже если она будет принадлежать суперпользователю. Так как же запретить удаление/перемещение, чтобы пользователь (случайно или специально) не сломать весь хостинг? [Читать дальше →][1]

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

[>] Vagrant, Python, Pycharm = (удобная, работа, Windows)
habra.15
habrabot(difrex,1) — All
2015-08-09 20:30:05








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

Django — широко известный и один из наиболее развитых фреймворков для веб-разработки. Django написан на Python и, следовательно, для работы с ним потребуется установленный интерпретатор Python. Это не представляет никаких проблем, если мы работаем в среде Linux. Однако события принимают совсем другой оборот, если приходится заниматься разработкой на Python под Windows. Для Windows есть готовые сборки Python, среди которых стоит отметить [Enthought Python][1], [Anaconda Python][2], [PythonXY][3]. Есть и [более простые пути][4]. Основной их недостаток по сравнению со «стандартным» Python в Linux — ограниченность набора библиотек, доступных для установки. В частности, в них не Django, и для его установки приходится совершать некие не совсем очевидные действия. Один из возможных вариантов решения проблемы — установка виртуальной машины с Linux на борту. Работа с виртуальной машиной, несмотря на простоту ее установки и настройки, привносит ряд неудобств. Так, виртуальная машина может оказаться довольно требовательной к ресурсам компьютера и временами работать медленно, создавая дискомфорт разработчику. Особенно сильно это раздражает, если торможение начинается в самый напряженный момент работы (а именно тогда это чаще всего и происходит!). Кроме того, даже на очень хорошем железе такое IDE, как PyCharm, работает в режиме далеком от того, который принято считать комфортным. Повысить быстродействие можно за счет установки только необходимых пакетов, отсутствия оконного менеджера и тому подобных проблем. Т. е., необходимо правильно сконфигурировать виртуальную машину. И в этом деле на помощь приходит [Vagrant][5] — утилита для создания полностью готовых рабочих окружений на основе виртуальных машин (VirtualBox, VmWare Player/Workstation). Vagrant не только устанавливает виртуальную машину, но и позволяет с легкостью создавать новые, используя текущую конфигурацию пользователя. В следующем разделе рассматривается установка и настройка рабочего окружения Vagrant для использования его в качестве удаленного Python интерпретатора для проектов PyCharm. [Читать дальше →][6]

[1]: https://www.enthought.com/products/epd/
[2]: https://store.continuum.io/cshop/anaconda//
[3]: https://code.google.com/p/pythonxy/
[4]: http://docs.python-guide.org/en/latest/starting/install/win/
[5]: http://www.vagrantup.com/
[6]: http://habrahabr.ru/post/264367/#habracut

[>] Мин-плюс многочлены, циклические игры и теорема Гильберта о нулях
habra.15
habrabot(difrex,1) — All
2015-08-09 22:00:07


В этом докладе рассматриваются алгоритмические задачи, связанные с мин-плюс многочленами. Конкретнее — разрешимость систем линейных мин-плюс многочленов. Эта задача оказывается полиномиально эквивалентной задаче об определении победителя в так называемых циклических играх (mean payoff games), известной задаче, лежащей в пересечении сложностных классов NP и coNP. Второй результат, который обсуждается в ходе доклада, это аналог [теоремы Гильберта о нулях][1] для мин-плюс алгебры.




Мин-плюс (или тропическим) полукольцом называется множество рациональных чисел с двумя операциями: мин-плюс сложением, которая есть просто операция взятия минимума, и мин-плюс умножением, которое есть обычное сложение. Многочлены над мин-плюс полукольцом определяются по аналогии с классическими многочленами. По существу, мин-плюс многочлен задает кусочно-линейную функцию от своих переменных. Корнем многочлена называется точка негладкости этой функции. Доклад был прочитан на факультете компьютерных наук, открытом в НИУ ВШЭ при поддержке Яндекса. Лектор Владимир Подольский — старший научный сотрудник Математического института им. В.А. Стеклова. На ФКН читает лекции и ведет семинары в рамках [курса «Дискретная математика».][2] Доклад основан на совместных работах с [Дмитрием Григорьевым][3]. Под катом — полная расшифровка лекции. [Читать дальше →][4]

[1]: https://ru.wikipedia.org/wiki/Теорема_Гильберта_о_нулях
[2]: http://www.hse.ru/edu/courses/152257349.html
[3]: https://en.wikipedia.org/wiki/Dima_Grigoriev
[4]: http://habrahabr.ru/post/264409/#habracut

[>] Сборка USB HID под BeagleBone
habra.15
habrabot(difrex,1) — All
2015-08-10 07:30:12


![][1] В одной из публикаций мы писали о настройке китайского [USB-WiFi для Beagledone ][2].Сегодня мы хотим привести способ сборки собственного класса управления устройством через HID-протокол. За основу была взята библиотека [hidapi][3], а затем произведен способ кросс-компиляции под beaglebone и сборка тестовой программы для работы с USB-устройством. Один из самых простых и надежных способов сделать управление по USB в Linux — это использование библиотеки libusb-1.0. Hidapi же является «надстройкой» над libusb, и служит для легкого подключения hid-устройств к программируемому девайсу. Если вы собираете на «чистой» системе hidapi, то придется отдельно собирать libusb и только потом собирать hidapi. В этой статье рассмотрим сборку именно hidapi. Заглянув вперед, скажем, что android ndk отказалась собирать hidapi без вмешательства. [Читать дальше →][4]

[1]: https://habrastorage.org/files/246/2ab/abc/2462ababc9d346aaa870f991f2aec34a.jpg
[2]: http://embeddedsoft.ru/index.php?page=38&f=0&id=113&place=1&page_id=3
[3]: http://www.signal11.us/oss/hidapi/
[4]: http://habrahabr.ru/post/264391/#habracut

[>] [Из песочницы] PAP — старый, но не бесполезный!?
habra.15
habrabot(difrex,1) — All
2015-08-10 12:30:04


![][1] Как давно интернет провайдеры похоронили PAP? 5, 10, 15 лет назад? [Читать дальше →][2]

[1]: https://habrastorage.org/files/2e2/eb1/a09/2e2eb1a0936648ce83c7e642b663486f.jpg
[2]: http://habrahabr.ru/post/264439/#habracut

[>] [Из песочницы] Природный генетический алгоритм или доказательство эволюции живых организмов на C++
habra.15
habrabot(difrex,1) — All
2015-08-10 13:00:06




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

Модели естественных вычислений широко применяются в современной науке. Область их применения очень обширна, они используются для решения задач моделирования, искусственного интеллекта, распознавания образов, управления. Одним из наиболее распространенных методов естественных вычислений являются генетические алгоритмы. Чтобы лучше разобраться, как эти алгоритмы устроены и как работают, было решно воспроизвести один из таких алгоритмов — генетический. Для того, чтобы применять какой-либо метод для решения конкретных задач этот метод необходимо освоить. Поэтому генетический алгоритм, рассмотренный в данной работе, не решает никакой конкретной задачи. Главными являются одновременно процесс и результат работы по созданию программы по моделированию и визуализации работы генетического алгоритма. Важен полученный программистский опыт. Программа моделирует поведение популяции самых примитивных живых организмов. Эта программа вряд ли будет иметь какое-либо практическое применение, но она наглядно иллюстрирует принцип работы генетических алгоритмов.

#### Моделирование работы генетического алгоритма, в котором естественный отбор определяется условиями среды

Моделирование – метод научного познания объективного мира через построение и изучение моделей. Визуализация – один из наиболее удобных для человека способов представления информации. Человеку удобнее воспринимать информацию, если она представлена графически, а не в виде большого массива ничего не значащих чисел, поэтому важной частью работы является графическое представление алгоритма. Прежде чем использовать какой-либо метод, его нужно изучить и апробировать сначала на относительно простой задаче возможно несколько раз. Для программиста таким изучением является написание конкретных программ. Для работы выбран язык программирования C++, так как этот язык является мощным, проверенным временем языком программирования. C++ получил широкое распространение среди программистов. Для визуализации использована открытая графическая библиотека OpenGL. [Читать дальше →][1]

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

[>] [Из песочницы] Парсинг документа Word на картинки или история о преддипломных буднях
habra.15
habrabot(difrex,1) — All
2015-08-10 13:00:06


Хочу представить вашему вниманию способ извлечения данных с документа word в виде картинок. Возможно, представленные идеи будут для кого-то примитивными и очевидными. Но мне пришлось провести пару бессонных ночей, прежде чем дойти до нормального решения. Итак, начинаю. Было начало 2015-го. Зима. Я радовался хорошей погоде и восхищенно думал, что универ я наконец закончу (вру, сейчас поступаю в магистратуру). Свой диплом я недавно закончил, поэтому радовался еще сильнее. Однако вскоре, по натуре человеческой, состояние безмятежности плавно стало сменяться скукой. И тут, как будто специально, тишину сменил телефонный звонок. «Алло, привет, как поживаешь?» — прозвучал голос знакомой. [Читать дальше →][1]

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

[>] Rust: абстракции и безопасность, совершенно бесплатно (видеозапись с выступления на митапе Saratov Open-IT)
habra.14
habrabot(difrex,1) — All
2014-12-01 17:00:04


Привет. В прошлую субботу я выступал с докладом на очередном митапе [Saratov Open-IT][1], где я рассказал про Rust — многообещающий системный язык программирования, разрабатываемый Mozilla Research и сообществом, и про то, какие проблемы он решает и какие у него есть особенности и инфраструктура. Надеюсь, что моё выступление будет интересно сообществу, поэтому выкладываю его здесь. (видео не вставлено в пост через тег <video> потому что он не работает с конкретной временной меткой; длительность — примерно полтора часа) [Больше про Rust и про сам доклад][2]

[1]: http://open-it.pro/
[2]: http://habrahabr.ru/post/244537/#habracut

[>] Покупка оптимальной квартиры с R
habra.15
habrabot(difrex,1) — All
2015-08-10 14:00:05


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

[1]: https://habrastorage.org/files/4cc/064/1a4/4cc0641a44204c7e9080db19654da76a.jpg
[2]: http://habrahabr.ru/post/264407/#habracut

[>] [Из песочницы] Программирование ARM на Pascal
habra.15
habrabot(difrex,1) — All
2015-08-10 14:00:05


Однажды, вдруг совершенно неожиданно и без объявления войны, появилась идея. И требовалось для этого написать и запрограммировать кристалл STM32. А собственно в чем проблемам? stm32vldiscovery лежала на полке и дожидалась своего часа, программирование знаю и частенько пишу “на заказ”. С железом дружу хорошо. Первым делом возник вопрос “на чем писать”? Сред программирования много, но язык только “Си”. Без вариантов. Ассемблер не рассматриваю в принципе. Светодиодом помигать можно, но что-то сложнее требует огромных трудозатрат. Но я не знаю Си! Вообще. Всю жизнь писал только на Pascal/Delphi. Учить язык? Вы пробовали учить язык когда вам более 40 лет возраста? Когда работа, семья и минимум свободного времени. Когда ум уже не так остр, как в молодости. Да и затевать все это ради одного проект смысла не более, чем учиться на права и покупать машину ради поездки в булочную в соседнем доме. Выходом послужил найденный “mikroPascal PRO for ARM” от MikroElektronika. Если честно, я уже работал с “mikroPascal PRO for PIC” на пике популярности PIC чипов. Впечатления остались не очень хорошие. Компилятор “со странностями”, оболочка тоже не отличалась стабильностью и дружественным интерфейсом. Тем более интересно было посмотреть, что изменилось за эти годы и в какую сторону. И так, что мы имеем на руках:

* Плату stm32f4discovery;
* mikroPascal PRO for ARM с лицензионном ключем (взято у товарища. потом придется вернуть). Без ключа — ограничение в 2 КВ на размер кода;
* Инженер, которого в ВУЗе учили исключительно Pascal.

Задача: освоить программирование микроконтроллера без единой строчки Си кода. Итак приступим… [Читать дальше →][1]

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

[>] Офис на Linux — мой опыт
habra.14
habrabot(difrex,1) — All
2014-12-01 20:30:03




#### Предисловие

Возникла у меня с полгода назад задачка: быстро и с минимальными затратами организовать работу аудиторской фирмы после переезда и резкого расширения штата сотрудников. Имелся десяток стареньких компьютеров, NAS c RAID-массивом, около ста тысяч рублей денег на всё про всё. Надо было умудриться купить ещё несколько компьютеров и сделать так, чтобы «тормоза», к которым сотрудники уже почти привыкли, хотя бы не усилились. Появились и рабочие места вне офиса, по области, с не очень-то «толстым» каналом в Интернет. Плюс ко всему имелось пожелание улучшить безопасность: новые сотрудники должны быть ограничены в доступе к некоторым базам данных, не могли скопировать базы к себе на «флэшку» и т.п. Понятно, что в такой (впрочем, как почти в любой) фирме всё вертится вокруг 1С (в данном случае — 8.2). Используются файловые базы данных, это для заказчика весьма важно. Узкое место здесь — сеть. Ну, предположим, заменить 100-мегабитное оборудование на гигабитное несложно, но есть ещё и вопрос безопасности: файлы в общем доступе — хорошая дырка. А ведь есть ещё и удалённые рабочие места. Очевидно, что я стал смотреть в сторону терминального доступа. Покрутив в голове и электронных таблицах различные варианты коммерческих терминальных серверов известных фирм я понял: в бюджет не уложиться. Зато, как я помнил, 1с версии 8.3 существует в виде «нативной» реализации под Linux, при этом конфигурации от 8.2 с ней вполне совместимы. Проведя пару экспериментов дома, я решился и вышел к заказчику с предложением: «делаем терминальное решение полностью на Linux!» Заказчик отреагировал здраво: «хоть на чёрте лысом делай, но чтоб в понедельник всё работало!» И я взялся за работу. В статье я вольным стилем и кратко опишу, как я решал задачу. Не претендую на то, что сделал всё правильно и хорошо, однако задача решена и пользователи довольны. [Читать дальше →][1]

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

[>] Уязвимость отказа в обслуживании в OpenVPN
habra.14
habrabot(difrex,1) — All
2014-12-01 23:00:02


![image][1] В OpenVPN < 2.3.6 обнаружена уязвимость, которая позволяет аутентифицированным клиентам удаленно уронить VPN-сервер, т.е. выполнить атаку отказа в обслуживании. Уязвимость заключается в некорректном использовании assert(): сервер проверяет минимальный размер control-пакета от клиента именно этой функцией, из-за чего сервер аварийно завершится, если получит от клиента control-пакет длиной менее 4 байт. Следует отметить, что для совершения атаки достаточно установить коммуникацию через control channel, т.е. в случае с TLS, сам TLS-обмен. VPN-провайдеры, которые реализуют аутентификацию с использованием логина/пароля и общего TLS-ключа, подвержены уязвимости еще до стадии проверки логина и пароля. Уязвимость имеется во всех версиях OpenVPN второй ветки, т.е. начиная, как минимум, с 2005 года. Ветка OpenVPN 2.4 (git master), на которой основаны мобильные клиенты, не подвержена данной уязвимости. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/06b/cc7/5f5/06bcc75f50a2233855423947e9f808d9.png
[2]: http://habrahabr.ru/post/244705/#habracut

[>] [Перевод] Расширяя полотно картины Ван Гога “Звездная ночь” с помощью языка Wolfram Language (Mathematica)
habra.14
habrabot(difrex,1) — All
2014-12-02 03:00:02






_Перевод поста Piotr Wendykier "[Extending Van Gogh's Starry Night with Inpainting][1]" Скачать перевод в виде документа _Mathematica_, который содержит весь код использованный в статье, можно [здесь][2] (архив, ~8 МБ)._ Могут ли компьютеры научиться рисовать, как Ван Гог? Определенно да, до некоторой степени! Для этого, подобно художникам-копиистам, алгоритму сначало потребуется взять некоторое оригинальное произведение, а затем он сможет на их основе создать что-то сам. Насколько хорошо он сможет с этим справиться? Пожалуйста, судите сами. [Вторая премия на фотоконкурсе ZEISS][3] [Читать дальше →][4]

[1]: http://blog.wolfram.com/2014/12/01/extending-van-goghs-starry-night-with-inpainting/
[2]: http://goo.gl/SK05Nf
[3]: http://www.eng.cam.ac.uk/news/art-engineering-images-frontiers-technology
[4]: http://habrahabr.ru/post/244729/#habracut

[>] Почему в NASA отказались от Unity в пользу Blend4Web
habra.15
habrabot(difrex,1) — All
2015-08-10 14:30:02


Совсем недавно был опубликован [пресс-релиз][1] на сайте NASA, где говорилось об уникальной возможности “прогуляться” по Марсу. Я не утерпел и перешел по [ссылке][2] — открылась потрясающая интерактивная сцена, где можно “прокатиться” с марсоходом, просмотреть видео с “камеры” и даже узнать технические параметры агрегата. Но самой шокирующей была новость, что все это сделано с помощью движка Blend4Web… А где же Unity? ![image][3] [Читать дальше →][4]

[1]: http://www.nasa.gov/press-release/new-online-exploring-tools-bring-nasas-journey-to-mars-to-new-generation
[2]: http://eyes.nasa.gov/curiosity/
[3]: https://habrastorage.org/files/754/652/630/75465263050141f4ad67606ee9b4eca6.jpg
[4]: http://habrahabr.ru/post/264457/#habracut

[>] Безопасен ли Telegram? v2
habra.14
habrabot(difrex,1) — All
2014-12-02 06:00:03


С момента самого его появления Telegram не критиковал только ленивый. Этим с одинаковым энтузиазмом занимались резиденты Reddit, Hacker News, etc. [Читать дальше →][1]

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

[>] Исследование «Глобальное состояние информационной безопасности 2015» (GSISS 2015). Часть 1
habra.15
habrabot(difrex,1) — All
2015-08-10 15:00:02


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

[1]: https://habrastorage.org/files/3e8/d89/488/3e8d894882034ec4a5a00b1e8c05a750.jpg
[2]: http://habrahabr.ru/post/264385/#habracut

[>] Почему 1С это плохо и почему так не любят 1С программистов
habra.14
habrabot(difrex,1) — All
2014-12-02 07:00:04




> Мы продолжаем то, что мы уже много наделали.

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

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

[>] «Железная» уязвимость в DRAM позволяет изменить содержимое чужой памяти
habra.14
habrabot(difrex,1) — All
2014-12-02 10:30:07


Опубликована статья [Yoongu Kim & others. Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors][1], описывающая способ изменения содержимого DRAM памяти, не требующий доступа по этому адресу. Фактически это означает нарушение изоляции памяти между процессами или виртуальными машинами. Из проверенных 129 модулей памяти, 110 оказались подвержены уязвимости, в том числе, _все_ модули, выпущенные после 2012 года. [Читать дальше →][2]

[1]: http://users.ece.cmu.edu/~yoonguk/papers/kim-isca14.pdf
[2]: http://habrahabr.ru/post/244741/#habracut

[>] Уничтожить все
habra.15
habrabot(difrex,1) — All
2015-08-10 15:00:02


На Хабре достаточно часто появляются материалы с описанием процесса восстановления информации с различных устройств. Услуга востребованная, чуть ли не каждый сталкивался наверно с внезапной «смертью» флешки или жесткого диска. Но, что происходит с устройствами вашей компании после того, как бухгалтерия их спишет? Кто дарит подшефным организациям, кто просто выбрасывает. Вариантов много. Но злоумышленники вполне могут воспользоваться возможностью получить доступ к вашим данным или данным вашей компании получив так или иначе ваши устройства! Не будем говорить о шифровании и ПО типа антивора — эти темы уже в достаточной мере освещены, в том числе и на данном ресурсе. Поговорим о тех вещах, с которыми большинству приходится сталкиваться в реальности гораздо реже — о том, как гарантированно уничтожить на носителях важной информации все, что там записано сейчас, а также что было записано некогда. [Читать дальше →][1]

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

[>] [Из песочницы] Как использовать список ядра Linux для создания очереди
habra.14
habrabot(difrex,1) — All
2014-12-02 12:30:03


Приветствую! В данной статье рассматривается использование реализации двусвязного списка ядра Linux. Двусвязный список в ядре Linux реализован в файле **include/linux/list.h**. Мы будем использовать адаптированный вариант [list.h][1] [1], который отличается от оригинального возможностью использовать его в userspace. Например, создадим очередь — структурe данных с доступом к элементам по принципу «первый пришёл — первый вышел» для произвольного типа данных на основе list.h. [Читать дальше →][2]

[1]: http://isis.poly.edu/kulesh/stuff/src/klist/list.h
[2]: http://habrahabr.ru/post/244759/#habracut

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


_Данная статья представляет перевод главы, обучающей работе с текстовыми данными, из официальной документации [scikit-learn][1]._ Цель этой главы — это исследование некоторых из самых важных инструментов в scikit-learn на одной частной задаче: анализ коллекции текстовых документов (новостные статьи) на 20 различных тематик. В этой главе мы рассмотрим как:

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

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

[1]: http://scikit-learn.org/0.15/tutorial/text_analytics/working_with_text_data.html
[2]: http://habrahabr.ru/post/264339/#habracut

[>] [Перевод] Как русские хакеры обокрали Nasdaq
habra.15
habrabot(difrex,1) — All
2015-08-10 16:30:02


[![][1]][2] **Примечание переводчика:** _Не так давно широко обсуждался сбой на Нью-Йоркской фондовой бирже, который некоторые наблюдатели назвали результатом [атаки Anonymous или китайских хакеров][3]. Этот случай далеко не единственный, когда фондовые биржи оказываются под ударом. Сегодня мы представляем вам адаптированный перевод рассказа о том, как объектом атаки стала другая американская биржа Nasdaq._ В октябре 2010 года система мониторинга интернет-трафика Федерального Бюро Расследований зафиксировала сигнал тревоги. Источником сигнала была биржа Nasdaq. Все выглядело так, будто вредоносная программа смогла незаметно проникнуть в центральные серверы биржи. Злоумышленником, судя по всему, был не какой-то мальчишка, а спецслужба другой страны. Более того, вызывает беспокойство тот факт, что после тщательного изучения хакерской программы американские специалисты сделали вывод о том, что она должна была атаковать систему с целью ее повреждения. [Читать дальше →][4]

[1]: https://habrastorage.org/files/bb2/274/b7f/bb2274b7fc394e86864ffa52f7280bab.png
[2]: http://habrahabr.ru/company/itinvest/blog/264471/
[3]: http://habrahabr.ru/company/itinvest/blog/263203/
[4]: http://habrahabr.ru/post/264471/#habracut

[>] Tor для всех: если заблокируют сайт torproject
habra.15
habrabot(difrex,1) — All
2015-08-10 18:00:02


Что делать, если у вас в стране[ запретили Тор][1], и заблокировали все ссылки, [ведущие на проект torproject][2]? Где скачать Tor-браузер человеку, совершенно не разбирающемуся в IT? На этот случай сообщество, развивающее эту сеть, предлагает сервис [GetTor Robot][3]. Это почтовый робот, который в ответ на мейл-запрос присылает ссылки на облачные файловые хранилища с дистрибутивом браузера. ![][4] [Читать дальше →][5]

[1]: http://habrahabr.ru/post/182150/
[2]: http://geektimes.ru/post/245486/
[3]: https://www.torproject.org/projects/gettor
[4]: https://habrastorage.org/files/095/875/1c9/0958751c9c1f4c539cd015acacd5eb01.png
[5]: http://habrahabr.ru/post/264481/#habracut

[>] Кому должны принадлежать сообщения пользователей мессенджера: Опыт Kato.im
habra.14
habrabot(difrex,1) — All
2014-12-02 13:00:03


[![image][1]][2] Не так давно рунет всколыхнула [новость][3] о том, что Facebook меняет свою политику использования данных и начнет передавать информацию о пользователях третьим лицам без специального разрешения этих самых пользователей. Несмотря на то, что новость была беззастенчиво раздута журналистами, и на самом деле правила соцсети [не особенно изменились][4], пользователей не на шутку [взволновал][5] вопрос приватности и сохранности их данных. Поскольку наш проект [Kato.im][6] — это мессенджер для бизнес-коммуникаций, логично было бы рассказать о том, как мы храним данные, включая историю посланных пользователем сообщений, а также кто и в какой ситуации может получить доступ к этой информации. [Читать дальше →][7]

[1]: http://habrastorage.org/getpro/habr/post_images/ad3/8e0/cee/ad38e0cee8c544d1611dde94450bede6.jpg
[2]: http://habrahabr.ru/company/kato/blog/244763/
[3]: http://lenta.ru/news/2014/11/26/facebook/
[4]: https://meduza.io/cards/kak-facebook-sobiraet-i-ispolzuet-moi-dannye
[5]: http://habrahabr.ru/post/244255/
[6]: https://kato.im/
[7]: http://habrahabr.ru/post/244763/#habracut

[>] Распознавание кириллической Яндекс капчи
habra.15
habrabot(difrex,1) — All
2015-08-10 18:30:05


Эта статья продолжает цикл об особенностях, слабых сторонах и непосредственно о распознавании популярных капчей. В предыдущей публикации мы затронули готовое решение [KCAPTCHA][1], которое несмотря на неплохую защищенность было распознано без сколько-нибудь серьезной предварительной обработки и сегментации, обычным многослойным персептроном. Теперь на очереди кириллическая Яндекс капча, с которой, уверен, многие из нас отлично знакомы. Итак, мы имеем такую капчу: ![image][2]![image][3]![image][4] [Читать дальше →][5]

[1]: http://habrahabr.ru/post/263127/
[2]: https://habrastorage.org/getpro/habr/post_images/ff8/955/883/ff8955883f344fe11ad719c88a8fcb37.gif
[3]: https://habrastorage.org/getpro/habr/post_images/9aa/086/988/9aa0869881c0acc5a15bd8fd51fa949d.gif
[4]: https://habrastorage.org/getpro/habr/post_images/b7f/80c/1f7/b7f80c1f7dee457ee34710a9b74fe841.gif
[5]: http://habrahabr.ru/post/264489/#habracut

[>] Webix + databoom = быстрое прототипирование приложений
habra.15
habrabot(difrex,1) — All
2015-08-10 18:30:05


Привет Хабр! В этом скринкасте мы рассказываем, как [Webix][1] и [databoom][2] могут использоваться для быстрой разработки прототипов приложений. [Webix][3] – это набор JavaScript компонентов для создания пользовательского интерфейса. [Databoom][4] – это облачный backend основанный на графовой базе данных. Вместе они дают кумулятивный эффект. С помощью Webix вы можете написать frontend в несколько строчек кода, а databoom даёт готовый и очень лёгкий в использовании backend. Как говорится, лучше один раз увидеть:




Спасибо за внимание, готовы ответить на ваши вопросы в комментариях. [][5]

[1]: http://webix.com/
[2]: http://databoom.space/
[3]: http://webix.com/
[4]: http://databoom.space/
[5]: http://habrahabr.ru/post/264485/#habracut

[>] Новая графическая оболочка рабочего стола включена в основную кодовую базу ReactOS
habra.14
habrabot(difrex,1) — All
2014-12-02 18:00:03


![image][1] Спустя месяц после релиза версии [0\.3.17][2] мы наконец выполнили свое [обещание][3]: в состав ReactOS принята новая реализация графической оболочки Explorer, развивавшаяся в рамках проекта Explorer-new. Протестировать новый интерфейс можно воспользовавшись ежедневными [тестовыми сборками][4]. Новая оболочка позволила ReactOS сделать шаг вперёд к совместимости (Explorer-new написан с оглядкой на Windows 2003), функциональности и удобству работы.




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

[1]: http://habr.habrastorage.org/post_images/15a/c08/115/15ac081151757d63bc4630b7347eabc1.jpg
[2]: http://habrahabr.ru/company/reactos/blog/243295/
[3]: http://habrahabr.ru/post/234547/
[4]: http://reactos.com/ru/getbuilds
[5]: http://habrahabr.ru/post/244811/#habracut

[>] Вышла новая версия reCaptcha API 2.0
habra.14
habrabot(difrex,1) — All
2014-12-02 18:00:03


![][1] На днях, занимаясь очередным внедрением reCaptcha для одного из проектов, столкнувшись с небольшой проблемой в области отображения нескольких защитных изображений на 1 странице с помощью AJAX я в очередной раз пошел на страницу официальной документации «reCaptcha» и обнаружил, что документация существенно отличается от предыдущих версий. Воспользовавшись поиском стало ясным — в мир вышла «recaptcha 2.0» с обновленным API и визуализацией а так же рядом других «плюшек», о чем я и расскажу в данной статье. [Читать дальше →][2]

[1]: //habrastorage.org/files/b16/811/fc5/b16811fc59034eb8ae3b7ff0639ea229.png
[2]: http://habrahabr.ru/post/244779/#habracut

[>] Github опять заблокирован
habra.14
habrabot(difrex,1) — All
2014-12-02 18:00:03


Обычный вечер веб-разработчика не сулил ничего необычного. Нужно было всего лишь развернуть проект на виртуальной машине.

$ composer create-project symfony/framework-standard-edition xxx
Installing symfony/framework-standard-edition (v2.6.0)
<...>
- Installing symfony/symfony (2.6.x-dev 09d1a15)
Cloning 09d1a15efe18945bb97fac3adc74d56b3bfd42f4
Failed to download symfony/symfony from source: Failed to clone git@github.com:symfony/symfony.git via git, https, ssh protocols, aborting.

- git://github.com/symfony/symfony.git
fatal: unable to connect to github.com:
github.com[0: 62.192.255.178]: errno=No route to host



![image][1] Причём ещё и по требованию Роспотребнадзора. Интересно, при чём тут он? [][2]

[1]: http://habrastorage.org/files/d2a/492/2e8/d2a4922e885744e68afae8174e43fe66.png
[2]: http://habrahabr.ru/post/244813/#habracut

[>] DDoS-атака в обход балансировщика: защищайте свои cookie!
habra.14
habrabot(difrex,1) — All
2014-12-02 21:30:03


В процессе анализа защищенности IT-инфраструктур нам приходится работать с разным сетевым оборудованием. Бывают хорошо известные устройства и относительно редкие. Среди нечасто встречающихся можно выделить балансировщики нагрузки. Сегодня мы познакомим вас с механизмом поддержания сессий балансировщика F5 BIG-IP методом cookie. Особенность этого механизма в том, что он позволяет злоумышленнику атаковать систему, обходя заданный алгоритм балансировки нагрузки. [![image][1]][2] Что такое балансировщик нагрузки? Это сетевое устройство, распределяющее трафик приложений между серверами, а также позволяющее контролировать и изменять его характеристики в соответствии с заданными правилами. При использовании веб-приложений необходимо, чтобы сессию клиента обслуживал один и тот же сервер. Для этого балансировщик BIG-IP отслеживает и сохраняет сессионную информацию, которая включает адрес конкретного веб-сервера, обслуживающего клиента. Эта информация используется для того, чтобы направлять запросы клиента к одному и тому же веб-серверу в течение одной сессии. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/af1/474/8d9/af14748d96ab082c0e503dbdc09b41dc.png
[2]: http://habrahabr.ru/company/pt/blog/244819/
[3]: http://habrahabr.ru/post/244819/#habracut

[>] VPN в каждый дом
habra.14
habrabot(difrex,1) — All
2014-12-02 22:30:04


![][1] Всем привет! Желание сделать VPN сервер максимально простым в установке и удобным в использовании назревало уже давно. За основу я взял **L2TP/IPsec**, эта технология нативно поддерживается всеми устройствами и в отличии от PPTP не вызывает проблем при подключении через сотовых операторов. **tl;dr** Для установки нам потребуется машинка с Ubuntu 14.04 на борту и «белым» IP-адресом, любой VPS подойдет. Достаточно ввести эту волшебную строчку:



и через несколько минут у вас будет рабочий VPN с управлением через браузер (_httр://ip-address:8080/_) или консоль (_instavpn -h_). [Читать дальше →][2]

[1]: //habrastorage.org/files/b1b/1af/22a/b1b1af22aed4451095cf3218ff20d937.png "Картинка для привлечения внимания"
[2]: http://habrahabr.ru/post/243915/#habracut

[>] Цифровой страж Key_P1: история создания и первые результаты
habra.14
habrabot(difrex,1) — All
2014-12-02 23:30:03


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

#### 1\. История создания

В конце 2013 года в компании Мультиклет появились идеи о движении вперёд и производстве не только отечественных процессоров, но и серийных устройств. Рассматривались идеи создания платы ускорителя с огромной производительностью для обычных ПК и устройства для защиты информации. Поскольку компания частная и большого финансирования для ускорителя в тот момент привлечь не удалось было решено начать с производства устройства для защиты информации. Идея о создании устройства для защиты информации зародилась после теста алгоритма ГОСТ89 на процессоре Multiclet P1. Оказалось, что алгоритм шифрования достаточно хорошо распараллеливается и подходит для мультиклеточной архитектуры, пользователь хабра [rnouse][1] выявил ускорение шифрования на мультиклеточной архитектуре по сравнения с процессорами в рутокенах в 4 -5 раз.



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

[1]: http://habrahabr.ru/users/rnouse/
[2]: http://habrahabr.ru/post/244743/#habracut

[>] Databoom: создавайте приложения — мы поддержим
habra.15
habrabot(difrex,1) — All
2015-08-10 18:30:05


Разработка собственных Web и мобильных приложений стала не только современным способом заработка стартапов и программистов-одиночек, но и объективной потребностью многих компаний, которые раньше не задумывались о том, чтобы создавать собственное программное обеспечение. Web и мобильные приложения создаются различными компаниями: СМИ, рекламными агентствами, магазинами, разработчиками классического корпоративного ПО в дополнение к основному софту и пр. Такая ситуация сложилась благодаря широкому распространению Интернета — теперь, чтобы завоевать своего клиента, с ним нужно быть рядом в любое удобное для него время. Разработка качественного приложения требует серьезных усилий, значительная доля которых приходится на проектирование и постоянную модификацию базы данных, организацию взаимодействия бэкенда с базой данных, разработку промежуточных слоёв и т.д. Работа с бэкендом и базой данных не прощает ошибок — нет ничего страшнее, чем проблемы, возникающие на стороне базы данных, когда приложение уже вышло на рынок. [![image][1]][2] [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/b17/d05/a1a/b17d05a1a1ee067a83e7136e512747fd.jpg
[2]: http://habrahabr.ru/company/databoom/blog/264483/
[3]: http://habrahabr.ru/post/264483/#habracut

[>] 3 in 1: Час Кода, День Информатики и День Волонтера
habra.14
habrabot(difrex,1) — All
2014-12-03 01:00:03


Если вы хотите совершить мини-революцию в образовании, увидеть детский «лес рук», глаза умоляющие вас поиграть в робота или восторженные визги от удачно анимированного спрайта, то вот они — дети в наших школах, которые хотят того же. И они ждут, когда вы придете и научите их кодить. 1 день, 1 урок, 1 час. Это действительно просто. ![][1] Сегодня мы хотим рассказать вам об инициативе [Hour of Code][2] проекта [Code.org][3] и предложить поучаствовать. Тем более что в этом году вот это вот все официально поддерживает [наше государство][4]. И тем более, что 4 декабря — день информатики в нашей стране, а 5 декабря — международный день волонтера. [Читать дальше →][5]

[1]: //habrastorage.org/files/9df/8c4/754/9df8c47540c54eaf90f8a6cb323e47de.jpeg
[2]: http://hourofcode.com
[3]: http://code.org
[4]: http://coderussia.ru
[5]: http://habrahabr.ru/post/244287/#habracut

[>] Корпоративные сети могут быть взломаны с помощью Windows Update
habra.15
habrabot(difrex,1) — All
2015-08-11 00:00:02


Обновления Windows в последние дни становятся опасны для пользователей. Несколько дней назад желающие обновить свою операционную систему до Windows 10 [стали][1] жертвами вируса-шифровальщика. Другая [история][2] произошла на конференции Black Hat 2015, где исследователи из Великобритании показали технику доставки вредоносных программ на корпоративные Windows-ПК посредством локального сервера обновлений WSUS. [![][3]][4] С помощью WSUS системные администраторы координируют обновления программного обеспечения на серверах и рабочих станциях. По умолчанию компания Microsoft применяет для WSUS незащищенный протокол HTTP, и чтобы включить HTTPS, администратору необходимо осуществить ряд манипуляций. Но их осуществляют далеко не всегда. Воспользовавшись отсутствием SSL-шифрования, специалисты британской компании Context Information Security смогли загрузить и установить на целевую систему поддельные обновления. Подобные апдейты могут быть использованы злоумышленниками для загрузки любой вредоносной программы и получения доступа с правами администратора. [Читать дальше →][5]

[1]: http://www.zdnet.com/article/windows-10-scam-email-will-encrypt-your-files-for-ransom/
[2]: http://www.net-security.org/secworld.php?id=18725
[3]: https://habrastorage.org/files/d48/dce/1f6/d48dce1f60584e029e8d7afb37b29fef.png
[4]: http://habrahabr.ru/company/pt/blog/264479/
[5]: http://habrahabr.ru/post/264479/#habracut

[>] Особенности резолвера DNS в Windows 10 и DNS Leak
habra.15
habrabot(difrex,1) — All
2015-08-11 02:30:03


![image][1] **TL;DR:** DNS-резолвер в Windows 10 отправляет запросы на все известные системе адреса DNS-серверов параллельно, привязывая запрос к интерфейсу, и использует тот ответ, который пришел быстрее. В случае, если вы используете DNS-сервер из локального сегмента, такое поведение позволяет вашему провайдеру или злоумышленнику с Wi-Fi-точкой подменять записи DNS, даже если вы используете VPN. Современные версии Windows добавляют головные боли активным пользователям VPN. DNS-резолвер до Windows 7 включительно имел предсказуемое поведение, совершая запросы к DNS-серверам в порядке очереди и приоритета DNS-серверов, в общем-то, как и все остальные ОС. Это создавало так называемый DNS Leak (утечка DNS-запроса через внешний интерфейс при подключенном VPN) только в том случае, если DNS-сервер внутри VPN-туннеля не ответил вовремя, или ответил ошибкой, и, в целом, не являлось такой уж вопиющей проблемой.

### Windows 8

С выходом Windows 8, Microsoft добавила весьма интересную функцию в DNS-резолвер, которая, как я могу судить по Google, осталась совершенно незамеченной: Smart Multi-Homed Name Resolution. Если эта функция включена (а она включена по умолчанию), ОС отправляет запросы на все известные ей DNS-серверы на всех сетевых интерфейсах параллельно, привязывая запрос к интерфейсу. Сделано это было, вероятно, для того, чтобы уменьшить время ожидания ответа от предпочитаемого DNS-сервера в случае, если он по каким-то причинам не может ответить в отведенный ему таймаут (1 секунда по умолчанию), и сразу, по истечении таймаута, отдать ответ от следующего по приоритету сервера. Таким образом, в Windows 8 и 8.1 все ваши DNS-запросы «утекают» через интернет-интерфейс, позволяя вашему провайдеру или владельцу Wi-Fi-точки просматривать, на какие сайты вы заходите, при условии, что ваша таблица маршрутизации позволяет запросы к DNS-серверу через интернет-интерфейс. Чаще всего такая ситуация возникает, если использовать DNS-сервер внутри локального сегмента, такие DNS поднимают 99% домашних роутеров. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/522/09d/82a/52209d82a34a5f0d81c3b17874dc0596.png
[2]: http://habrahabr.ru/post/264503/#habracut

[>] [Из песочницы] Обновление Linux в устройстве на базе чипа Altera SoC FPGA и получение доступа с этого устройства к расшаренным сетевым ресурсам Windows-сервера
habra.15
habrabot(difrex,1) — All
2015-08-11 13:00:03


![][1] Недавно компания **Terasic** начала продажи весьма интересной платы [**DE0-Nano-SoC Kit**][2]. Интересна она тем, что за весьма скромную цену предлагается очень мощный и функционально-насыщенный комплект разработчика на основе чипа Altera Cyclone V SoC FPGA со встроенным двухъядерным процессором ARM Cortex-A9. Кроме того, производитель в комплекте с платой даёт ОС Linux, развёрнутую на карту памяти MicroSD. Но получив эту плату в своё распоряжение, я довольно быстро наткнулся на несколько проблем, обусловленых тем, что Linux был скомпилирован из исходников **Yocto Project**. В основном все проблемы были связаны с отсутствием общедоступных репозиториев, из которых можно было бы добавить в систему недостающие компоненты. Например, для того, чтобы получить доступ с этого устройства через сеть к расшаренным ресурсам Windows-сервера, в ядре не хватало модуля поддержки файловой системы Cifs. Поэтому прежде всего было решено обновить ядро, заменить Yocto на более привычный Debian Wheezy и доустановить всё, что необходимо для доступа к расшаренным ресурсам Windows-сервера. [Читать дальше →][3]

[1]: https://habrastorage.org/files/878/c5b/06c/878c5b06c4b14fe88135f09a53de8a35.jpg
[2]: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=941
[3]: http://habrahabr.ru/post/264515/#habracut

[>] Технологии ASR и TTS для прикладного программиста: теоретический минимум
habra.15
habrabot(difrex,1) — All
2015-08-11 15:00:02




### Введение

В последние несколько лет голосовые интерфейсы окружают нас все плотнее. То, что когда-то демонстрировалось только в фильмах о далеком будущем, оказалось вполне реальным. Дело дошло уже до встраивания движков для синтеза (Text To Speech — TTS) и распознавания (Automatic Speech Recognition — ASR) речи в мобильные телефоны. Более того, появились вполне доступные API для встраивания ASR и TTS в приложения. Ныне создавать программы с голосовым интерфейсом может любой желающий (не поскупившийся заплатить за движок). Наш обзор будет посвящен именно использованию имеющихся движков (на примере Nuance) а не созданию таковых. Также будут даны общие сведения необходимые каждому программисту впервые сталкивающемуся с речевыми интерфейсами. Статья также может быть полезна руководителям проектов, пытающимся оценить целесообразность интеграции голосовых технологий в их продукты. Итак, начнем… Но для затравки — анекдот: Урок русского языка в грузинской школе. Учитель говорит: «Дети, запомните: слова сол, фасол и вермишел пишутся с мягким знаком, а слова вилька, булька, тарелька – без мягкого знака. Дети, запомните, потому что понять это невозможно!» Раньше этот анекдот казался мне смешным. Теперь — скорее жизненным. Почему так? Сейчас постараюсь объяснить… [Читать дальше →][1]

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

[>] [Из песочницы] Делаем дамп фотографий из диалога vk.com
habra.14
habrabot(difrex,1) — All
2014-12-03 06:30:04


Всем, привет! Вчера мне понадобилось скачать все фотографии из диалога с одним человеком в vk.com. Фотографий было больше 1000 штук. Понятное дело, что ручками это все делать было бы утомительно и… Стыдно. Не для того программированием занимаюсь, чтобы такую работу делать не автоматизированно. Поэтому было решено написать скрипт. В качестве языка был выбран Python. Его удобно использовать для консоли, он довольно быстрый, есть модуль urllib, позволяющий «одним движением» скачивать картинки по ссылке. Но главная причина — это то, что я начал изучать его недавно. Решил дополнительно попрактиковаться. Сам скрипт получился небольшой, но было бы интересно описать процесс создания. Буду стараться писать побольше комментариев в коде, чтобы те, кто не знает python, тоже смогли понять процесс. А от знатоков очень приветствуются советы и указания. Итак, приступим. [Читать дальше →][1]

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

[>] [Перевод] Упрощаем работу с алгоритмами компьютерного зрения при помощи пакета OpenCV Intel INDE
habra.15
habrabot(difrex,1) — All
2015-08-11 17:30:02


Не так давно лучшим ресурсом для ознакомления с алгоритмами компьютерного зрения был [сайт библиотеки алгоритмов компьютерного зрения с открытым исходным кодом OpenCV][1]. Эти алгоритмы приходилось создавать и настраивать самостоятельно, попутно осваивая [CMake][2] и другие межплатформенные инструменты. Итоговый результат мог не подойти нужной платформе. В этом случае необходимо было тщательно изучить алгоритм и настроить его для собственной системы — а это означало освоить [OpenCL][3] и [его оптимизацию для своей платформы][4]. Не то чтобы это было плохо…




Теперь приступить к работе с алгоритмами компьютерного зрения можно при помощи программного пакета [Intel INDE][5], последнее [обновление][6] которого включает в себя готовую версию OpenCV, подходящую для устройств Windows и Android с процессорами Intel с графическим ядром Intel. [Читать дальше →][7]

[1]: http://opencv.org/
[2]: http://www.cmake.org/
[3]: https://www.khronos.org/opencl/
[4]: https://software.intel.com/en-us/iocl_opg
[5]: https://software.intel.com/en-us/intel-inde
[6]: https://software.intel.com/en-us/articles/intel-inde-2015-release-notes
[7]: http://habrahabr.ru/post/264477/#habracut

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