RSS
Pages: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 ... 133
[>] GPS Spoofing на практике: Как поймать всех покемонов, не выходя из дома
habra.16
habrabot(difrex,1) — All
2016-09-06 12:30:04


[![][1]][2]

Игра Pokémon Go стала грандиозными хитом — она приносит [по $10 млн в день][3], ее установили [более 100 млн раз][4]. Такая популярность привлекла и любителей взлома — выяснилось, что обмануть игру и ловить покемонов, не выходя из дома, можно с помощью техники GPS Spoofing. [Читать дальше →][5]

[1]: https://habrastorage.org/files/66d/d38/d83/66dd38d83b7e4b73b64ce6644e72401d.png
[2]: https://habrahabr.ru/company/pt/blog/309292/
[3]: http://venturebeat.com/2016/07/29/app-annie-pokemon-go-makes-10-million-every-day-without-cannibalizing-other-games/
[4]: https://techcrunch.com/2016/08/01/pokemon-go-passed-100-million-installs-over-the-weekend/?ncid=rss
[5]: https://habrahabr.ru/post/309292/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] О разработке предстоящего CTF с оффлайн квестом для всеукраинской битвы хакеров
habra.16
habrabot(difrex,1) — All
2016-09-06 12:30:04


Привет, Хабровчане! Надеюсь, многие из вас знают и посещают уютные хакерские конференции, форумы и митапы не только ради after-party, но и также для того, чтобы размять ум и смекалку на CTF (Capture The Flag). Организовывая мероприятие, в котором будет совмещено все вышеперечисленное, хотел бы поделиться опытом нашей команды по выбору платформы для СTF и собственно самой разработки.

CTF — соревнования, связанные с поиском уязвимостей и скрытых данных, которые условно разделяются на классические и тасковые. Классические соревнования еще называют Attack-Defence: суть в том, чтобы проанализировать образ системы, найти уязвимости, исправить их и проэксплуатировать на серверах других команд. Речь пойдет о тасковых заданиях.

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

[1]: https://habrastorage.org/files/e67/908/74e/e6790874e2d3412fa83cc551ab924fdd.jpg
[2]: https://habrahabr.ru/post/308270/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Мониторинг безопасности с Sysdig Falco
habra.16
habrabot(difrex,1) — All
2016-09-06 13:30:04




O [Sysdig][1] —инструменте для трассировки ядра — мы [рассказывали два года назад][2]. Совсем недавно, в мае этого года, разработчики Sysdig представили ещё один интересный продукт: систему обнаружения аномалий [ Falco][3].
[Читать дальше →][4]

[1]: http://www.sysdig.org/
[2]: https://habrahabr.ru/company/selectel/blog/222839/
[3]: http://www.sysdig.org/falco/
[4]: https://habrahabr.ru/post/309188/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Модель взаимодействия судов с водой в видеоиграх: часть 2
habra.16
habrabot(difrex,1) — All
2016-09-06 14:30:05


![][1]

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

[1]: https://habrastorage.org/files/b8c/2f6/b16/b8c2f6b16a084bdeb1f8c147f96848c9.jpg
[2]: https://habrahabr.ru/post/307362/
[3]: https://habrahabr.ru/post/309036/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В сети опубликовали базу из 98 млн учетных записей Rambler
habra.16
habrabot(difrex,1) — All
2016-09-06 15:00:04


![][1]

В распоряжение ресурса leakedsource.com, специализирующегося на информационной безопасности, [попала][2] база учетных записей от сервиса Rambler.ru, которая была украдена злоумышленниками еще в 2012 году. Предоставил ее пользователь daykalif@xmpp.jp~~pobj, который также ответственнен за публикацию базы аккаунтов last.fm.

Каждая из 98 167 935 учетных записей содержит логин пользователя, его пароль и еще некоторую информацию. Отдельно стоит отметить, что пароли не зашифрованы и хранятся в виде обычного текста. Самыми популярными паролями базы оказались «asdasd» «asdasd123» и, конечно, «123456».
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/8a2/739/6bb/8a27396bbe8e58db91c950a8bc1cf865.jpg
[2]: https://www.leakedsource.com/blog/rambler
[3]: https://habrahabr.ru/post/309312/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Batch Normalization для ускорения обучения нейронных сетей
habra.16
habrabot(difrex,1) — All
2016-09-06 16:00:04


В современном мире нейронные сети находят себе всё больше применений в различных областях науки и бизнеса. Причем чем сложнее задача, тем более сложной получается нейросеть.
Обучение сложных нейронных сетей иногда может занимать дни и недели только для одной конфигурации. А чтобы подобрать оптимальную конфигурацию для конкретной задачи, требуется запустить обучение несколько раз — это может занять месяцы вычислений даже на действительно мощной машине.
В какой-то момент, знакомясь с представленным в 2015 году методом [Batch Normalization][1] от компании Google мне, для решения задачи связанной с распознаванием лиц, удалось существенно улучшить скорость работы нейросети.


![][2]

За подробностями прошу под кат.

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

[1]: https://arxiv.org/pdf/1502.03167.pdf
[2]: https://habrastorage.org/files/edf/a44/ef2/edfa44ef289e496bad3ebc18a391431f.png
[3]: https://habrahabr.ru/post/309302/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] AWS ElasticBeanstalk: Tips and Tricks
habra.16
habrabot(difrex,1) — All
2016-09-06 18:30:03


AWS ElasticBeanstalk — PaaS на базе инфраструктуры AWS. На мой взгляд значительное преимущество этого сервиса — возможность прямого доступа к элементам инфраструктуры (балансировщики, инстансы, очереди и т.п.) В этой статье решил собрать некоторые трюки, позволяющие решить типичные проблемы при использовании ElasticBeanstalk. Буду дополнять по мере нахождения новых. Вопросы и предложения в комментариях приветствуются.

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

[1]: https://habrastorage.org/files/4de/5de/125/4de5de12563745239908260c462ef119.jpg
[2]: https://habrahabr.ru/post/309274/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Защита от «спама» на 8800 во FreePBX
habra.16
habrabot(difrex,1) — All
2016-09-06 21:30:04


Приветствую, астерискеры и сочувствующие! Вчера ночью на одном популярном форуме в тематике asterisk наткнулся на вопрос: как же можно «по быстрому» защитить свой номер 8800 от методики, которую нередко используют конкуренты — многократному дозвону на номер для срабатывания тарификации у владельца номера?
[Читать дальше →][1]

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

[>] Логика сознания. Часть 4. Секрет памяти мозга
habra.16
habrabot(difrex,1) — All
2016-09-07 00:30:04




Когда с нами что-то происходит наш мозг фиксирует это, создавая воспоминания. Изменения, которые при этом происходят с мозгом, принято называть энграммами или следами памяти.

Вполне естественно, что понимание того, как выглядят следы памяти – основной вопрос изучения мозга. Без этого невозможно построить никакую биологически достоверную модель его работы. Понимание строения памяти непосредственно связано с пониманием того, как мозг кодирует информацию и как он ей оперирует. Все это, пока, — неразгаданная загадка.

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

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

[>] Решаем головоломки шаманов в World of Warcraft генетическим алгоритмом
habra.16
habrabot(difrex,1) — All
2016-09-07 03:00:04


Привет, Хабражитель!
Не так давно, вышло очередное дополнение World of Warcraft Legion. Первым делом я принялся прокачивать шамана. В оплоте шаманов я забрел к Мастеру головоломок Ло и увидел то, что вы подумали — головоломку.



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

[Подробности][1]

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

[>] WebSockets в Scorocode или чат своими руками за 15 минут
habra.16
habrabot(difrex,1) — All
2016-09-07 10:30:05


![][1]

Недавно мы добавили поддержку WebSockets в разрабатываемый нами backend as a service [Scorocode][2]. Теперь вы можете полноценно использовать эту технологию при создании приложений, требующих безопасного и универсального способа передачи данных.

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

Подробности под катом.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/415/91c/9ba/41591c9ba96247bfbae684cd9a11bac3.jpg
[2]: https://scorocode.ru/
[3]: https://habrahabr.ru/post/308068/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Школа программистов HeadHunter — открываем седьмой набор
habra.16
habrabot(difrex,1) — All
2016-09-07 11:00:03


![Технический департамент компании HeadHunter][1]

На дворе сентябрь, а это значит, что мы в очередной раз объявляем набор в [Школу программистов HeadHunter][2]. В седьмой раз Школа открывает свои двери — в этом году мы снова будем готовить full-stack разработчиков.

Обучение будет проходить в московском офисе компании HeadHunter по вечерам два раза в неделю. Первый этап отбора [можно пройти][3] прямо на сайте школы, заполнив анкету и решив предложенные задачи. Справившихся с ними ждут задания посложнее, а затем и очное интервью.

Четверть нашего техдепа — это [выпускники Школы][4]. Мы любим разработчиков, потому что умеем их готовить!
[Что же это за Школа такая?][5]

[1]: https://habrastorage.org/files/63f/762/73c/63f76273ce8f4d828b80244b4c68eb42.jpg
[2]: https://school.hh.ru
[3]: https://school.hh.ru/#form
[4]: https://school.hh.ru/#graduates
[5]: https://habrahabr.ru/post/309270/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Миф о RAM и O(1)
habra.16
habrabot(difrex,1) — All
2016-09-07 14:00:04


![][1]
_Городская библиотека Стокгольма. Фото [minotauria][2]._



В этой статье я хочу рассказать о том, что оценивать время обращения к памяти как O(1) — это очень плохая идея, и вместо этого мы должны использовать O(√N). Вначале мы рассмотрим практическую сторону вопроса, потом математическую, на основе теоретической физики, а потом рассмотрим последствия и выводы.



# Введение



Если вы изучали информатику и анализ алгоритмической сложности, то знаете, что проход по связному списку это O(N), двоичный поиск это O(log(N)), а поиск элемента в хеш-таблице это O(1). Что, если я скажу вам, что все это неправда? Что, если проход по связному списку на самом деле O(N√N), а поиск в хеш-таблице это O(√N)?



Не верите? Я вас сейчас буду убеждать. Я покажу, что доступ к памяти это не O(1), а O(√N). Этот результат справедлив и в теории, и на практике. Давайте начнем с практики.



# Измеряем



Давайте сначала определимся с определениями. Нотация “О” большое применима ко многим вещам, от использования памяти до запущенных инструкций. В рамках этой статьи мы O(f(N)) будет означать, что f(N) — это верхняя граница (худший случай) по _времени_, которое необходимо для получения доступа к N байтов памяти (или, соответственно, N одинаковых по размеру элементов). Я использую Big O для анализа времени, _но не операций_, и это важно. Мы увидим, что центральный процессор подолгу ждет медленную память. Лично меня не волнует, что делает процессор пока ждет. Меня волнует лишь время, как долго выполняется та или иная задача, поэтому я ограничиваюсь определением выше.

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

[1]: https://habrastorage.org/files/1af/8bc/292/1af8bc29229d45f9af56eb728fe759c5.jpg
[2]: https://www.instagram.com/minotauria/
[3]: https://habrahabr.ru/post/309394/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Юбилейный выпуск Intercepter-NG 1.0
habra.16
habrabot(difrex,1) — All
2016-09-07 15:30:04


После 10 лет разработки (именно столько стукнуло проекту) наконец-то индекс версии Intercepter-NG дошел до **1\.0**. По сложившейся традиции выход обновлений под Windows происходит раз в году, и юбилейный релиз действительно удался. Хочется поблагодарить всех людей, которые за все эти годы оказывали помощь в тестировании, давали обстоятельный фидбек и идейно вдохновляли. Начнем обзор с мелочей и в конце рассмотрим наиболее вкусную фичу Intercepter-NG 1.0.

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

[1]: https://habrastorage.org/files/4af/5e6/265/4af5e62655834b11b118b9f277b9057d.jpg
[2]: https://habrahabr.ru/post/309406/
[3]: https://habrahabr.ru/post/309406/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Реверс-инжиниринг визуальных новелл (часть 2)
habra.16
habrabot(difrex,1) — All
2016-09-07 16:00:05


![][1]Продолжаем нашу серию статей про то, как влезть во внутренности игровых движков и вытаскивать из них всевозможное содержимое. Для тех, кто к нам только что присоединился, коротко напомню, что мы изучали такой забавный жанр, как визуальные новеллы.



Прошло уже много времени с момента того, как мы [научились разбирать архивы движка визуальных новелл Yuka][2], настало время взяться за самое интересное из того, что мы там нашли — собственно, скрипт. Забегая чуть-чуть вперед, сразу предупрежу, что скрипт, конечно, куда более сложная материя, чем просто архив с файлами, поэтому за одну статью нам с ним не разобраться, но сегодня мы попытаемся понять, из каких частей он состоит и получим доступ к текстовым ресурсам.



Перед тем, как погружаться в пучины бинарных дампов, давайте прикинем, как работают большинство движков визуальных новелл. Визуальная новелла сама по себе состоит из текста (реплик героев, диалогов, промежуточного повествования), графики и звуков. Для того, чтобы ее воспроизвести пользователю, явно нужно свести все это воедино с помощью какого-то управляющего воздействия. В теории можно было бы зашить это все прямо в exe-файл, но в 99% случаев (ладно, вру, в 100% виденных лично мной) так все-таки не делают, а хранят такие инструкции отдельно в виде отдельной программы-скрипта. Как правило, скрипт пишется на особенном языке программирования (специфичном для движка), который выглядит как-то так:


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

[1]: https://habrastorage.org/files/819/2fa/392/8192fa392bf549e58a2d3323fb75dce6.jpg
[2]: https://habrahabr.ru/post/281595/
[3]: https://habrahabr.ru/post/309414/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Не все языки программирования одинаково полезны
habra.16
habrabot(difrex,1) — All
2016-09-07 20:00:04


![][1]

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

По мнению «Википедии», язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель под её управлением.

Какие-то знаковые системы проще для освоения, какие-то сложнее. Однако среди них есть и весьма причудливые. А есть настолько сложные, что осваивают их только самые хардкорные разработчики. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/b8e/ba8/47f/b8eba847f6556cce7d2db25b93fc4190.png
[2]: https://habrahabr.ru/post/309440/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Получаем управление обратно в Jenkins Pipeline
habra.16
habrabot(difrex,1) — All
2016-09-07 20:00:04


[Jenkins Pipeline Plugin][1] очень удобная штука, чтобы организовать у себя непрерывную доставку ПО (Continuous Delivery). Плагин даёт возможность разбить доставку ПО до конечного потребителя на стадии (**stage**), каждой из которых можно управлять (на каком узле, что и как нужно сделать) и, в конечном счёте, визуализировать процесс доставки. Вкупе с [Blueocean plugin][2] всё это выглядит очень вкусно. В реальной же жизни подчас оказывается так, что кроме Jenkins-а есть ещё и другие системы, которые участвуют в этом процессе (**workflow**), и встаёт вопрос — как их интегрировать с имеющимися решениями. Примером тут может служить **Jira**, в которой есть некий **issue** падающий на тестировщика, прокликивающего интерфейс (ну или совершающего другую полезную работу), и только после его благословения, наш артефакт имеет право двигаться дальше в сторону ожидающего его клиента.



Так какие у нас есть варианты реализации?

[Хочу узнать][3]

[1]: https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin
[2]: https://jenkins.io//blog/2016/05/26/introducing-blue-ocean/
[3]: https://habrahabr.ru/post/302274/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Новые функции безопасности Android 7
habra.16
habrabot(difrex,1) — All
2016-09-08 01:30:04


![][1] Google уже выпустила Android 7. В ближайшее время владельцы различных устройств под управлением Android получат обновление прошивки. Одними из первых новую версию получат пользователи фирменных устройств Google Nexus 6P, 5X, 6, 9, Google Pixel C, Nexus Player, Android One. Так как Google распространяет обновления Android волнами, не все пользователи этих устройств смогут оперативно получить обновление. Android 7 также смогут [получить][2] флагманские модели устройств таких вендоров как Samsung (Galaxy S6 и S7), HTC (HTC 10, One A9 и One M9), Sony (Xperia Z3+, Xperia Z4 Tablet, Xperia Z5, Xperia X), LG (V20), Huawei. В новой версии Android появился ряд новых серьезных функций безопасности (security features), о некоторых из которых мы писали в предыдущих постах. Первый был [посвящен][3] функции Direct Boot, которая упростит владельцам устройств работу с шифрованием. Второй [содержал][4] информацию об улучшениях безопасности ядра Linux, на котором основана Android.

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

[1]: https://habrastorage.org/files/d76/507/c48/d76507c4825d4873b40722522e3a3c77.png
[2]: https://www.androidpit.com/android-nougat-update-overview-smartphones-tablets
[3]: https://habrahabr.ru/company/eset/blog/278989/
[4]: https://habrahabr.ru/company/eset/blog/306712/
[5]: https://habrahabr.ru/post/309416/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Плохой код убивает
habra.16
habrabot(difrex,1) — All
2016-09-08 02:30:03


Плохой программист Джон сделал ошибку в коде, из-за которой каждый пользователь программы был вынужден потратить в среднем 15 минут времени на поиск обхода возникшей проблемы. Пользователей было 10 миллионов. Всего впустую потрачено 150 миллионов минут = 2.5 миллиона часов. Если человек спит 8 часов в сутки, то на сознательную деятельность у него остается 16 часов. То есть Джон уничтожил 156250 человеко-дней ≈ 427.8 человеко-лет. Средний мужчина живет 64 года, значит Джон убил примерно 6 целых 68 сотых человека.

Как тебе спится, Джон — серийный программист?

Пользователи — низ пищевой цепочки. Программисты также медленно убивают друг друга.


### Правила хорошего кода


Простота-понятность-компактность, производительность, отсутствие дублирования.

Если вы пишете что-то сложнее «hello world”, оно будет размещаться не в одном, а в нескольких файлах. Как правило, файлов бывает больше десятка. Всем им даются непонятные короткие имена (программисты любят сокращения) Человек, который попытается разобраться в вашем коде, будет плеваться, шипеть и проклинать вас. Ваша карма будет испорчена и следующие несколько жизней вы будете собакой в Корее.
[Читать дальше →][1]

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

[>] Ретроспективная презентация очередного релиза ReactOS
habra.16
habrabot(difrex,1) — All
2016-09-08 08:30:04


![][1]
_7 сентября 2016 года около полуночи по московскому времени команда ReactOS продемонстрирует свой «старый» новый релиз операционной системы. Ожидается, что со сцены покажут разные новые прорывные или не очень фишки.
Часть информации уже [утекла][2] в СМИ, но вы держитесь там, готовьте поп-корн и тухлые помидоры._

16 августа 2016 г. после трёх месяцев разработки состоялся релиз операционной системы ReactOS 0.4.2, нацеленной на обеспечение совместимости с программами и драйверами Microsoft Windows. В списке изменений свежей версии значится более 150 исправленных ошибок.

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

[1]: https://habrastorage.org/files/d20/168/3de/d201683de5fe419eabed83174989803d.jpg
[2]: https://habrahabr.ru/post/308160/
[3]: https://habrastorage.org/files/0ff/bcf/cbf/0ffbcfcbfce246e7bd5e9f67d8a9e72f.jpg
[4]: https://habrahabr.ru/post/309458/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] OSPF (Quagga), Shorewall и Policy Routing: проблема inactive route
habra.16
habrabot(difrex,1) — All
2016-09-08 12:00:04


Если кто-то использует quagga (OSPF) и планирует сделать балансировку каналов, через которые работает OSPF, используя Shorewall, прошу под кат.
[Читать дальше →][1]

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

[>] Жизнь в условиях тотального подключения к сети
habra.16
habrabot(difrex,1) — All
2016-09-08 12:00:04


Стало известно, что один из ведущих телекоммуникационных холдингов Японии, SoftBank (владелец SoftBank Mobile), приобрел за 23,4 млрд фунтов стерлингов британскую компанию ARM Holdings, специализирующуюся на разработке микропроцессоров. Новость оказалась несколько неожиданной, особенно с учетом того, что сфера интересов SoftBank в основном распространяется на рынок мобильной связи, и освещалась главным образом с точки зрения последствий для британского технологического сектора, особенно на фоне результатов голосования за выход Великобритании из Евросоюза, однако она несет в себе определенный посыл и для операторов мобильной связи, и для Интернета вещей (IoT) и даже для промышленного Интернета вещей, которым стоит уделить отдельное внимание.


[Читать дальше: Жизнь в условиях тотального подключения к сети][1]

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

[>] Песни от OpenBSD
habra.16
habrabot(difrex,1) — All
2016-09-08 14:00:03


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

**OpenBSD 4.5: Games**



**Текст**
I love to hate my PC
But now it's not so easy
Just wanna get this job done
But these A.M.L. games are dumb

You wanna know the truth?
Intel's controlling you
And Microsoft is too
But this is nothing new

With A.C.P.I.
This endless mess so corporate
Tangles and angles
In what could be straight forward

Lost connections
Lost my mind
It's such a waste of time

CHORUS

Now on the motherboard
Where all my life is stored
Playing with garbage there
With rules so unfair

Ruled by A.C.P.I.
Whose heart is so corrupted
Forcing us all to play
Our progress interrupted

Lost connections
Lost my mind
It's such a waste of time

CHORUS

Yes I'm a user
And I'm not the only one
I'm not a loser
With help from Puffy Tron

And we will find it
The pin in all this heartache
Map our devices
And we know what it'll take

Lost connections
Lost my mind
Oh Ooh Woah end of line

(bridge)
On and on
Can we all be wrong?
All and all
We are one
Clean the dream
Gone wrong
We are Tron
On and on and on

Instrumental CHORUS (guitar solo)

Instrumental pre-chorus

CHORUS
dumb dumb dumb

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

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

[>] Предоставление облачных ресурсов на базе VMware с помощью BILLmanager. Или как появился новый личный кабинет CloudLITE
habra.16
habrabot(difrex,1) — All
2016-09-08 15:30:04


![][1]

_Эта история про то, как компания ISPsystem и ведущий российский поставщик облачных услуг DataLine нашли друг друга на конференции WHD.global в Германии и что из этого вышло. Мы рассказали про высокую адаптируемость BILLmanager, а коллегам из DataLine нужен был новый личный кабинет для их проекта CloudLITE. В результате через месяц DataLine попросил нас адаптировать BILLmanager для предоставления облачных ресурсов на базе VMware._
[Читать дальше →][2]

[1]: https://habrastorage.org/files/6ca/289/a60/6ca289a607f3452aa1252e858df57c41.png
[2]: https://habrahabr.ru/post/309282/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Что такое свёрточная нейронная сеть
habra.16
habrabot(difrex,1) — All
2016-09-08 16:00:04


![][1]



# Введение



Свёрточные нейронные сети (СНС). Звучит как странное сочетание биологии и математики с примесью информатики, но как бы оно не звучало, эти сети — одни из самых влиятельных инноваций в области компьютерного зрения. Впервые нейронные сети привлекли всеобщее внимание в 2012 году, когда Алекс Крижевски благодаря им выиграл конкурс ImageNet (грубо говоря, это ежегодная олимпиада по машинному зрению), снизив рекорд классификации ошибок с 26% до 15%, что тогда стало прорывом. Сегодня глубинное обучения лежит в основе услуг многих компаний: Facebook использует нейронные сети для алгоритмов автоматического проставления тегов, Google — для поиска среди фотографий пользователя, Amazon — для генерации рекомендаций товаров, Pinterest — для персонализации домашней страницы пользователя, а Instagram — для поисковой инфраструктуры.



Но классический, и, возможно, самый популярный вариант использования сетей это обработка изображений. Давайте посмотрим, как СНС используются для классификации изображений.



# Задача



Задача классификации изображений — это приём начального изображения и вывод его класса (кошка, собака и т.д.) или группы вероятных классов, которая лучше всего характеризует изображение. Для людей это один из первых навыков, который они начинают осваивать с рождения.



![][2]

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

[1]: https://habrastorage.org/files/8e1/eee/1d4/8e1eee1d4fea44199b7df094b7dacfaa.png
[2]: https://habrastorage.org/files/aec/767/e2f/aec767e2f2d44eb78d42a77a938f7ce6.png
[3]: https://habrahabr.ru/post/309508/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Script-server. WebUI для удалённого запуска ваших скриптов
habra.16
habrabot(difrex,1) — All
2016-09-08 18:00:03


Всем привет. В данной статье я бы хотел рассказать про свой домашний проект. Если коротко: Script server является веб-сервером для предоставления пользователям доступа к вашим скриптам через web-интерфейс. Сервер и скрипты запускаются локально, а параметризуются и показываются удалённо.

![][1]
[Подробности внутри][2]

[1]: https://habrastorage.org/files/7de/dda/d32/7deddad32683429e8903690aa4ae331c.png
[2]: https://habrahabr.ru/post/309518/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Создание динамических time-lapse с помощью микроконтроллера
habra.16
habrabot(difrex,1) — All
2016-09-08 20:30:04


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

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

[>] [Из песочницы] Как я создавал убийцу HTML
habra.16
habrabot(difrex,1) — All
2016-09-08 22:00:03


В жизни каждого начинающего программиста-самоучки есть момент, когда смотреть очередное видео из серии «Основы %language\_name%» _уже_ не интересно, а проситься в джуниоры _ещё_ рано. В этот момент хочется опробовать свои силы на каком-нибудь «почти настоящем» проекте. Под катом — история о том, как я придумал такой проект и что из этого вышло.

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

[1]: https://habrastorage.org/files/444/1bf/b55/4441bfb559594f938e8dfc962f5b599e.png
[2]: https://habrahabr.ru/post/309552/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Будущее сайтов: автоматическая сборка на базе ИИ и не только
habra.16
habrabot(difrex,1) — All
2016-09-08 23:30:03


<>Наш технический директор[\*][1] верит, что искусственный интеллект будет создан ориентировочно к середине этого века, и лет через пятьдесят с большой вероятностью будет достигнута около-сингулярность с виртуализацией, ИИ и вот этим всем.

![][2]

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

<>**Прелесть вот в чем:** запуск конструктора сайтов с нейросетью и алгоритмическим дизайном[\*\*][3] — дело не пятидесяти, а всего пары лет. Это будущее, которое можно пощупать уже сегодня.
[Ведь не все хотят делать себе сайты сами][4]

[1]: #pasha
[2]: https://habrastorage.org/files/1dc/7b7/6f2/1dc7b76f2c0042e99922e7600d0b1818.png
[3]: #details
[4]: https://habrahabr.ru/post/309516/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] DataArt и GDG приглашают на РИФ-Воронеж 2016
habra.16
habrabot(difrex,1) — All
2016-09-09 00:30:03




Если вы работаете в IT и живете в Воронеже, то уже знаете, что такое [РИФ-Воронеж][1]. Российский интернет-форум — два дня, когда тысячи единомышленников собираются обсудить самые актуальные проблемы, поделиться опытом и рассказать о своих проектах.[Google Developer Group VRN][2] и компания DataArt, которые каждый год устраивают крупнейшие в Воронеже IT-конференции ([GDG DevFest][3], [IT NonStop][4] и другие), приглашают на РИФ 16 и 17 сентября.

Если приехать в Воронеж не получится, а участвовать хочется, смотрите онлайн-трансляцию [на сайте конференции][5]. Но, если возможность посетить форум вживую все же есть, приходите обязательно. Ведь опыт РИФ — не только знания, которые вы получите от экспертов, но и море новых знакомств и общения с единомышленниками.
[Читать дальше →][6]

[1]: http://2016.rifvrn.ru/
[2]: http://www.gdgvrn.org/
[3]: https://habrahabr.ru/company/google/blog/270509/
[4]: http://www.dataart.ru/blog/2016/04/ostanovok-net-v-voronezhe-proshel-it-nonstop
[5]: http://2016.rifvrn.ru/
[6]: https://habrahabr.ru/post/309512/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Архитектура JETPLOW – NSA бэкдор в моей подставке под кофе
habra.16
habrabot(difrex,1) — All
2016-09-09 11:30:03


![Картинка для привлечения внимания][1]


> "Какой изящный ход – называть стандартный буткит имплантом," — подумали мы.

Всё началось около года назад, когда в распоряжение нашего отдела исследований поступили дорогостоящие подставки под кофе, а именно несколько железок от Cisco – коммутаторы Catalyst 3850, Catalyst 6500 (о технике написания шеллкодов под этого "зверя" ранее был доклад на [ZeroNights 2015][2]) и межсетевой экран ASA 5525-X.



Найдя несколько баг в межсетевом экране, которые позволяли «провалиться» в систему, получив стандартный шелл (разработчик был своевременно проинформирован), мы задумались над импактом – что можно сделать такого страшного, чтобы нанесло бы максимальный урон. И тут… слитые в 2013-м году Сноуденом [секретные документы АНБ][3] пришлись как нельзя кстати. В них рассказывалось про имплант для PIX и ASA под названием [JETPLOW][4], покрывающий Cisco PIX 500-й серии и Cisco ASA серии 5505, 5510, 5520, 5540, 5550. Как вы можете заметить, в каталоге АНБ из представленного большого диапазона поддерживаемых версий не было упоминания об имеющемся в нашем распоряжении ASA 5525-X, что, в свою очередь, породило спортивный интерес в части создания своего импланта под серию 5525-X в качестве PoC.



О своем видении и реализации импланта под ASA 5525-X мы будем рассказывать на конференции [ZeroNights 2016][5] и выложим его исходные коды. Также, в качестве бонуса, мы продемонстрируем реализацию аналогичного импланта для Catalyst 3850.



Важно отметить, что разработанный имплант для целевых 5525-X немного отличается от _JETPLOW_ ввиду того, что 5525-X построена на архитектуре Intel x86\_64, и использует UEFI, а Catalyst 3850 базируется на архитектуре MIPS64.

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

[1]: https://habrastorage.org/files/2b7/1cb/793/2b71cb7934f44ed688471d3f2ef9b699.jpg
[2]: http://2015.zeronights.ru/assets/files/05-Nosenko.pdf
[3]: https://www.eff.org/files/2014/01/06/20131230-appelbaum-nsa_ant_catalog.pdf
[4]: https://leaksource.files.wordpress.com/2013/12/nsa-ant-jetplow.jpg
[5]: http://2016.zeronights.ru/
[6]: https://habrahabr.ru/post/309560/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Про интернет вещей и полупроводниковую индустрию в краю, где пьют верблюжье молоко. День первый
habra.16
habrabot(difrex,1) — All
2016-09-09 12:00:04


[![][1]][2]

Несколько месяцев назад мой коллега [Тимур Палташев][3], менеджер в графическом отделении Advanced Micro Devices (AMD) в Саннивейл, Калифорния, предложил мне съездить и устроить семинар в Казахстане. Он будет рассказывать про гетерогенный компьютинг и большие процессоры AMD для игровых приставок и виртуальной реальности, а я буду рассказывать про маленькие процессоры MIPS для встроенных процессоров и машинного видения. Кроме этого мне было обещано попробовать конину, ферментированное молоко кобылицы (кумыс) и ферментированное молоко верблюдицы (шубат). «А тянь-шанские ели там будут?», — спросил я, и получив утвердительный ответ, воскликнул «я готов».

«А под каким соусом будет делаться данное мероприятие?», — спросил я у Тимура и его казахской одноклассницы [Гульфариды Тулемиссовой][4], которая делала всю работу по организации в [Almaty Management University][5]. Выяснилось, что казахский народ в настоящее время заинтересовала тематика интернета вещей. Сети из сенсоров с беспроводной связью уже используются чтобы присматривать за шахтерами в казахстанских шахтах, не случилось ли с ними чего. Кроме этого в стране есть качественные программисты микроконтроллеров и инженеры встроенных систем, которые делают сейсмоанализаторы и телекоммуникационные ящики (в кооперации с россиянами и китайцами).

«Хорошо», — сказал я, у [Imagination Technologies][6] и ее отделения [MIPS Business Unit][7], в котором я работаю, есть продукты в области интернета вещей, в частности ядра MIPS microAptiv, которые Samsung использует в платформе для интернета вещей [Samsung Artik 1][8]. Кроме этого, у нас есть и материалы по микроконтроллерам, а также то, чего в Казахстане пока не хватает — знание ПЛИС-ов и проектирования микросхем, чем казахстанцы могли бы заняться в кооперации с россиянами, которые сейчас хорошо прогрессируют в данном направлении.

После этой беселы я поймал в коридоре нашего компанейского аналитика в области интернета вещей и спросил у него, что собственно такое интернет вещей.
[Читать дальше →][9]

[1]: https://habrastorage.org/getpro/habr/post_images/cdf/bbd/735/cdfbbd735ca8a7ad6adc7bc37469a282.png
[2]: http://silicon-kazakhstan.com/public_materials/2016_09_01_kazakhstan
[3]: https://www.facebook.com/timour.paltashev
[4]: https://www.facebook.com/tulemissova.gulfarida
[5]: http://www.almau.edu.kz/
[6]: https://imgtec.com/markets/internet-of-things/
[7]: https://imgtec.com/mips/
[8]: https://www.artik.io/modules/overview/artik-1/
[9]: https://habrahabr.ru/post/309570/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сферическое тестирование в вакууме: Как есть, как должно быть, как будет
habra.16
habrabot(difrex,1) — All
2016-09-09 12:30:04


Тестирование занимает особое место в работе каждого из нас. Это очень важная, сложная, не самая приятная, часто недоведённая до конца, недооценённая часть нашей работы. Поэтому я, как практикующий разработчик и технический руководитель небольшого стартапа, был рад возможности побеседовать с экспертом в этой области и задать ему свои наболевшие вопросы. Почему программисты не работают по TDD? Как правильно решать проблемы, связанные модульным тестированием системы, работающей с базой данных? Как избавиться от «человеческого фактора» и автоматизировать, в конце концов, тестирование пользовательского интерфейса?

[![][1]][2]

В рамках подготовки [**Joker 2016**][3] вышел пост [про легаси][4], который вызвал бурное обсуждение тестирования в Java, которое мы решили продолжить в интервью с Николаем Алименковым.

![][5]Николай — специалист в области разработки на Java уже с 12-летним стажем. Помимо основной рабочей деятельности, он — сооснователь и тренер тренингового центра XP Injection, активный участник и докладчик на международных конференциях. При его участии были организованы IT-конференции Selenium Camp, JEEConf, XP Days Ukraine и IT Brunch. Мы поговорили как о том, что можно улучшить в области тестирования в своей команде «здесь и сейчас», так и о том, к каким технологическим переменам нам следует готовиться в будущем.

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

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

[1]: https://habrastorage.org/getpro/habr/post_images/2d8/a56/bb0/2d8a56bb0fab8ebaed85a78590df32df.jpg
[2]: https://habrahabr.ru/company/jugru/blog/309502/
[3]: http://jokerconf.com/
[4]: https://habrahabr.ru/company/jugru/blog/308528
[5]: https://habrastorage.org/getpro/habr/post_images/f7f/4ca/359/f7f4ca359574a0741464736ec15810b5.jpg
[6]: https://habrahabr.ru/post/309502/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как достичь рейтинга А+ для SSL-сертификата на вашем сайте, и другие аспекты безопасности хостинга
habra.16
habrabot(difrex,1) — All
2016-09-09 12:30:04


![][1]

В последние годы хостинг превратился в commodity — полноценный продукт, привлекательность которого во многом определяется сопутствующими услугами. А поскольку особое значение сегодня имеет информационная безопасность веб-сайтов, то одним из важнейших аспектов хостинга являются SSL-сертификаты. Вся электронная коммерция так или иначе проходит через хостинг, поэтому необходимо понимать, насколько безопасно, правильно и удобно выполняются все бизнес-операции. Подробнее об этом рассказал спикер компании Rusonyx на [партнёрской конференции «1С-Битрикс»][2].
[Читать дальше →][3]

[1]: https://habrastorage.org/files/c1c/14f/e00/c1c14fe00f284553898d1af021cb4aa1.jpg
[2]: http://conf.1c-bitrix.ru/winter2016/agenda/
[3]: https://habrahabr.ru/post/309536/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 36: уязвимость в Nexus 5X, криптолокер постит картинки, атака на Linux-серверы через Redis
habra.16
habrabot(difrex,1) — All
2016-09-09 12:30:04


![][1]Комбинация стандартных инструментов разработчика и пары недокументированных возможностей позволяет взломать телефоны Nexus 5X — работающие на «чистом» Android смартфоны, выпускаемые компанией LG. Об этом сообщает лаборатория X-Force компании IBM ([новость][2], [исследование][3]), естественно уже после того, как Google закрыла уязвимость патчем на этой неделе.

Судя по всему уязвимость возможно было эксплуатировать с уникальной комбинацией прошивки и загрузчика. Для эксплуатации требуется физический доступ к смартфону, либо довольно хитрая и непрактичная манипуляция компьютером, к которому подключается Nexus. Если завладеть телефоном, все просто и надежно. Заходите в меню загрузчика в режиме fastboot, подключаетесь по USB. Далее через интерфейс adb отдаете команду fastboot oem panic — а это приводит к сохранению полного дампа памяти. Этот дамп также можно вытащить с устройства, а в нем, в свою очередь, открытым текстом хранится пароль доступа к телефону.

Все, можно перезагружаться, вводить украденный пароль и дальше делать все, что душе угодно. Интересен еще один потенциальный вектор атаки: через «вредоносный» USB-зарядник, правда на практике это возможно не во всех случаях. В IBM не наблюдают примеров эксплуатации атаки, так что дыру закрыли раньше, чем ей могли бы воспользоваться. Но сценарий использования здесь хорошо укладывается в каноны какого-нибудь шпионского сериала: под покровом темноты меняем штатную зарядку на подготовленную и получаем полный доступ к устройству. Вопрос в том, сколько еще открытий чудных готовят нам современные устройства. Это вам не разъем для наушников, тут все серьезно.

Все выпуски сериала доступны [по тегу][4].
[Читать дальше →][5]

[1]: https://habrastorage.org/files/bc0/d1f/0cc/bc0d1f0ccd0848e8bee67db23ce5f984.jpg
[2]: https://threatpost.ru/android-patch-fixes-nexus-5x-critical-vulnerability/17923/
[3]: https://securityintelligence.com/undocumented-patched-vulnerability-in-nexus-5x-allowed-for-memory-dumping-via-usb/
[4]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[5]: https://habrahabr.ru/post/309566/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем на Python-Meetup 22 сентября
habra.16
habrabot(difrex,1) — All
2016-09-09 14:00:04


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

Продолжая традицию собирать в стенах московского офиса ведущих специалистов, мы хотели бы пригласить вас на Moscow Python Meetup, который пройдет у нас в сентябре. На встрече выступят:
[Читать дальше →][4]

[1]: https://habrastorage.org/files/78d/153/5b7/78d1535b7ed9488eaa7203244ea00dac.png
[2]: https://habrahabr.ru/company/mailru/blog/279323/
[3]: https://habrahabr.ru/company/mailru/blog/280360/
[4]: https://habrahabr.ru/post/309576/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Что интересного я вынес за два года разработки и продвижения мобильной игры
habra.16
habrabot(difrex,1) — All
2016-09-09 17:30:03


Привет, Хабр! Давно не виделись… С прошлой публикации — [«Чему я научился на своих ошибках или как сделать вторую игру лучше»][1] прошло уже целых 2 года! Сегодня я расскажу о том, что нового я попробовал в продвижении, монетизации приложения и конечно же о том, что из этого вышло.

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

[1]: https://habrahabr.ru/post/243519/
[2]: https://habrastorage.org/files/690/ae7/8c4/690ae78c470d4b43b17960055d5ee9c1.jpg
[3]: https://habrahabr.ru/post/309612/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Google обновила Android
habra.16
habrabot(difrex,1) — All
2016-09-09 18:00:03


![][1]Google [выпустила][2] обновление для Android, закрыв ряд важных уязвимостей. Обновление было трехступенчатым и включало в себя несколько уровней: 2016-09-01, 2016-09-05, 2016-09-06. В рамках первого уровня обновления исправляются общие уязвимости для всех прошивок Android, второй уровень используется для исправления уязвимостей в ядре Android и его драйверах от Broadcom, NVIDIA, Qualcomm (устройства Nexus), а третий для двух уязвимостей в ядре и драйвере Qualcomm. Это первое обновление Google, которое адресуется Android 7. Оно исправляет критическую RCE-уязвимость с идентификатором CVE-2016-3862 в известном компоненте MediaServer. Так как в Android 7 используется модульная архитектура MediaServer, эта уязвимость для него не актуальна. Устаревшие версии Android используют монолитную версию сервиса MediaServer, поэтому при эксплуатации уязвимости в одной из ее подсистем, у атакующих большие шансы удаленно исполнить код в системе с расширенными привилегиями.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/d76/507/c48/d76507c4825d4873b40722522e3a3c77.png
[2]: https://source.android.com/security/bulletin/2016-09-01.html#2016-09-06-details
[3]: https://habrahabr.ru/post/309530/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Скрипт для тех, кому лень разбираться в Linux
habra.16
habrabot(difrex,1) — All
2016-09-09 19:00:04


Сфер применения Linux может быть очень много. Особенно, когда арендовать VPS стало можно от $1 в месяц. Кроме стандартного использования под хостинг сайтов, его используют в качестве сервера для игр (CS:GO, Terraria, Minecraft), в качестве Proxy-сервера и VPN-сервера. Под майнинг криптовалют. Под резервное хранилище бэкапов. Под домашнюю торренто-качалку. А также для тестирования, разработки и просто различных экспериментов. Именно доступность VPS на базе Linux с огромным спектром возможного его применения привела к популяризации Linux. Но желающих использовать Linux значительно больше, чем людей, которые умеют его использовать. И часто именно слабые познания администрирования Linux останавливают людей от его использования. Ну или просто усложняют таким людям жизнь — им приходится часами ковыряться в мануалах, форумах и «статьях для новичков».

Да мне и самому надоело лазить по специализированным форумам, каждый раз, когда приходится сделать шаг влево или шаг вправо относительно того, что я уже научился делать. Именно поэтому, со временем, все типовые вещи я свёл в один скрипт с дружелюбным интерфейсом, который умеет делать всё сам. Начиналась всё с малого. Скрипт просто автоматизировал установку нужного мне софта. Но за полгода он превратился уже в весьма серьёзную утилиту весом 85 Кб, в которой более 2100 строк кода. Скрипт ранее нигде не выкладывался. Использовался только в личных целях мной и несколькими моими товарищами. Пришло время им поделиться с публикой. Уверен, многим людям он способен сэкономить кучу времени.

Чтобы понять, что он умеет, проще всего глянуть на заглавный скриншот:

![][1]
Далее подробнее опишу, что и как он делает.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/7f4/f02/37b/7f4f0237b28f4f419822fc213c40bf1a.png
[2]: https://habrahabr.ru/post/309628/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Немного о ARM Security Extensions (aka ARM TrustZone)
habra.16
habrabot(difrex,1) — All
2016-09-10 16:30:03


# О чем эта статья



На Хабре уже несколько раз упоминали о SMM — режиме процессора x86/64 который имеет больше привилегий чем даже режим гипервизора. Нечто подобное есть и в процессорах архитектуры ARMv7 и ARMv8. Вычислительные ядра этих архитектур могут иметь опциональное расширение под названием ARM Security Extensions, которое позволит разделить исполняемый код, память и периферию на два домена — доверенный и недоверенный. Официальное маркетинговое название этой технологии — ARM TrustZone. Но технари чаще предпочитают говорить о security extensions.



Это будет обзорная статья, поэтому я не буду вдаваться в глухие технические дебри. Тем не менее технические детали будут присутствовать. Первая часть статьи будет посвящена вопросу зачем это всё вообще нужно, а вторая — как это работает в общих чертах. Если общество заинтересуется — следующая статья будет содержать больше технических деталей. Кому интересно — добро пожаловать под кат.

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

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

[>] [Из песочницы] Plug-and-Get-Security I, мониторинг настроек TLS в роще доменов
habra.16
habrabot(difrex,1) — All
2016-09-10 20:00:03


![image][1]


Безопасная настройка TLS всегда был головной болью. Как для владельцев небольших ресурсов, так и для компаний, размер инфраструктуры которых может достигать нескольких сотен или даже тысяч доменов. Проблемы с TLS\\SSL появляются постоянно — уязвимости в самих протоколах, крипто-алгоритмах или их имплементациях. От всем известных Poodle и HeartBleed, до достаточно экзотичных и свежих [(CVE-2016-2107) проблем с AES-NI][2].



**А к чему приводят проблемы с TLS? **
К краже учетных записей пользователей, администраторов, внедрению в трафик вредоносного контента, рекламы или, как это было с HeartBleed, даже к прямому доступу к памяти сервера.



Давайте взглянем на картину в целом.
На июль 2016 по данным проекта [SSL Pulse][3], который анализирует настройки Alexa Top 200k доменов:


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

А значит, у всех нас проблемы!

[Не люблю проблемы!][4]

[1]: https://habrastorage.org/files/b12/a40/94d/b12a4094da5b4cb1acf341cebfbbf75c.jpg
[2]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2107
[3]: https://www.trustworthyinternet.org/ssl-pulse/
[4]: https://habrahabr.ru/post/309660/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вычисление 1000000 знаков числа Пи. На iPhone
habra.16
habrabot(difrex,1) — All
2016-09-11 04:00:03


Математика — весьма интересная и занимательная наука, особое место в которой занимает вычисление числа Pi. История его вычисления занимает более 2х тысячелетий, а точность вычисления колеблется от 256/81 в древнем Египте и 339/108 в Ведах, до Джамшида ал-Каши, вычислившего 16 знаков в 15м веке. Чего стоит хотя бы история Вильяма Шенкса, который потратил 20 лет на вычисление 700 знаков числа Пи, но уже потом выяснилось, что во второй части расчетов он ошибся… Но текст в общем-то не об этом, а об алгоритмах. Стало интересно, можно ли вычислить Пи на iPhone? И если да, то с какой точностью?

![][1]
Можно сказать сразу — миллион не предел. Можно и больше. Подробности и реализация под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/82d/273/f9d/82d273f9d5414b128db76f8c8b3d6e0b.png
[2]: https://habrahabr.ru/post/309674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Логика сознания. Часть 5. Смысловой подход к анализу информации
habra.16
habrabot(difrex,1) — All
2016-09-11 16:30:04


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

Пожалуй, во время теста не особо интересно спрашивать у машины: когда была Куликовская битва. Гораздо интереснее что она скажет, например, о том: зачем мы нажимаем сильнее на кнопки пульта, у которого садятся батарейки?

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

[1]: https://habrastorage.org/files/d4d/3bf/45f/d4d3bf45f8fe41f2afe46743db8372d7.jpg
[2]: https://habrahabr.ru/post/309626/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Plug-and-Get-Security I, безопасность TLS в роще доменов
habra.16
habrabot(difrex,1) — All
2016-09-11 20:30:03


![image][1]


Безопасная настройка TLS всегда был головной болью. Как для владельцев небольших ресурсов, так и для компаний, размер инфраструктуры которых может достигать нескольких сотен или даже тысяч доменов. Проблемы с TLS\\SSL появляются постоянно — уязвимости в самих протоколах, крипто-алгоритмах или их имплементациях. От всем известных Poodle и HeartBleed, до достаточно экзотичных и свежих [(CVE-2016-2107) проблем с AES-NI][2].



**А к чему приводят проблемы с TLS? **
К краже учетных записей пользователей, администраторов, внедрению в трафик вредоносного контента, рекламы или, как это было с HeartBleed, даже к прямому доступу к памяти сервера.



Давайте взглянем на картину в целом.
На июль 2016 по данным проекта [SSL Pulse][3], который анализирует настройки Alexa Top 200k доменов:


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

А значит, у всех нас проблемы!

[Не люблю проблемы!][4]

[1]: https://habrastorage.org/files/b12/a40/94d/b12a4094da5b4cb1acf341cebfbbf75c.jpg
[2]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2107
[3]: https://www.trustworthyinternet.org/ssl-pulse/
[4]: https://habrahabr.ru/post/309660/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Программируем «Мегапроцессор»
habra.16
habrabot(difrex,1) — All
2016-09-12 00:00:04


На Geektimes летом была [статья про Megaprocessor][1] — процессор из дискретных транзисторов и светодиодов, который весит полтонны и занимает всю гостиную в обычном таунхаусе под Кембриджем. Я решил воспользоваться своей географической близостью к этому мегапроекту, и запрограммировать для него что-нибудь презентабельное — например, спортировать для Megaprocessor мою [предыдущую хабрапрограммку][2] «Digital Rain».

![][3]

Система команд Megaprocessor [описана на сайте разработчика][4]. Большинство команд состоят из одного байта, за которым может следовать непосредственный операнд (один или два байта). Регистров общего назначения всего четыре (R0-R3), при этом они не равноправны: например, для команд доступа к памяти адрес должен быть либо в R2, либо в R3; а операнд — в одном из двух оставшихся регистров. Программистам, привыкшим к системе команд x86 или ARM, набор команд Megaprocessor покажется крайне бедным: нет ни косвенной адресации «база+смещение», ни непосредственных операндов у арифметических команд (за исключением `addq ±1`, `addq ±2`). Зато есть пара неожиданных возможностей: отдельная команда `sqrt`, и режим `.wt` для команд сдвига, который заменяет результат суммой выдвинутых битов. Таким образом можно, например, парой команд `ld.b r1, #15; lsr.wt r0, r1` вычислить количество единичных битов в `r0` (вопрос, столь любимый собеседователями на работу!). Мнемоника `ld` для команды, загружающей в регистр непосредственное значение (вместо привычной по x86 или ARM мнемоники `mov`) указывает на способ её выполнения: фактически, с точки зрения процессора, выполняется `ld.b r1, (pc++)`.

Итак, приступим. [Читать дальше →][5]

[1]: https://geektimes.ru/post/278410/
[2]: https://habrahabr.ru/post/276371/
[3]: https://habrastorage.org/getpro/habr/post_images/f56/393/8e3/f563938e3ab5f796b19c8f2e452906c6.gif
[4]: http://www.megaprocessor.com/instruction_set.pdf
[5]: https://habrahabr.ru/post/309654/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] С Днем программиста: 10 мифов о кудесниках кодов и цифр
habra.16
habrabot(difrex,1) — All
2016-09-12 01:30:04


Уважаемые пользователи Хабрасообщества, поскольку в Москве уже 1 минута первого, а стало быть наступил следующий день, спешим вас поздравить с этим замечательным 256 днем года! Кстати, если верить [википедии ][1]в этом году** 20 лет**, как мы отмечаем **День программиста**.
С праздником всех сопричастных!
[Читать дальше →][2]

[1]: https://ru.wikipedia.org/wiki/День_программиста
[2]: https://habrahabr.ru/post/309650/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Конвертируем форум из MS Exchange в MySQL с помощью Python
habra.16
habrabot(difrex,1) — All
2016-09-12 02:00:03


В общих папках ms exchange есть форум, куда пишут сотрудники, он очень неудобный и тормозной. Чтобы перенести форум на какое-то адекватное решение, необходимо также перенести уже и созданный контент. Гугл не нашел готовых конверторов в \*bb, поэтому я решил сделать свой на python, для начала в БД.
[Читать дальше →][1]

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

[>] С Днем Программиста (!)
habra.16
habrabot(difrex,1) — All
2016-09-12 09:00:04


Уважаемые пользователи Хабрасообщества, спешу вас поздравить с этим замечательным 256 днем года!

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

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

[1]: https://habrastorage.org/getpro/habr/post_images/c09/210/ecb/c09210ecbbebc6eb567f5849e2b674f7.jpg
[2]: https://habrahabr.ru/post/309720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как штатными настройками убить микроконтроллер. Часть 2
habra.16
habrabot(difrex,1) — All
2016-09-12 11:00:13


![enter image description here][1]



Не [так давно][2] я писал о том, как мне удалось превратить в "кирпич" микроконтроллер, задав неудачную комбинацию настроек. Проблема была в том, что у меня случайно получилось ввести в режим работы "по требованию" генератор, тактирующий ядро контроллера. При этом, отключалось все, в том числе и модуль отладки. Множество людей откликнулись на мою просьбу и дали мне несколько дельных советов и многие до сих пор спрашивают чем же все закончилось. Так вот история развивалась довольно комично, но закончилась весьма банально. Подробности под катом.

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

[1]: https://habrastorage.org/files/1cc/989/7a6/1cc9897a66b04ab9af132751bd398718.jpeg
[2]: https://habrahabr.ru/post/308596/
[3]: https://habrahabr.ru/post/309724/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Null, великий и ужасный
habra.16
habrabot(difrex,1) — All
2016-09-12 11:00:13


# Ошибка дизайна



Именно так и никак иначе: null в C# — однозначно ошибочное решение, бездумно скопированное из более ранних языков.


1. Самое страшное: в качестве значения любого ссылочного типа может использоваться универсальный предатель — null, на которого никак не среагирует компилятор. Зато во время исполнения легко получить нож в спину — [NullReferenceException][1]. Обрабатывать это исключение бесполезно: оно означает безусловную ошибку в коде.
2. Перец на рану: сбой (NRE при попытке разыменования) может находится очень далеко от дефекта (использование null там, где ждут полноценный объект).
3. Упитанный пушной зверек: null неизлечим — никакие будущие нововведения в платформе и языке не избавят нас от прокаженного унаследованного кода, который физически невозможно перестать использовать.

Этот ящик Пандоры был открыт еще [при создании языка ALGOL W великим Хоаром][2], который позднее назвал собственную идею ошибкой на миллиард долларов.

[На самом деле все не так плохо][3]

[1]: https://msdn.microsoft.com/ru-ru/library/sxw2ez55.aspx
[2]: http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare
[3]: https://habrahabr.ru/post/309462/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 ... 133