RSS
Pages: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 210
[>] [Из песочницы] MOOC курсы по робототехнике
habra.15
habrabot(difrex,1) — All
2015-08-19 23:30:02


В ближайшие годы весь рынок труда изменится неузнаваемо и безвозвратно. Роботы заменят людей в сельском хозяйстве, торговле, на производстве; они возьмут на себя такие, казалось бы, «человеческие» работы как уборка улиц, управление складскими погрузчиками, зерноуборочными комбайнами и автобусами, размещение банок с йогуртами на полках супермаркетов, тушение пожаров, ликвидация последствий стихийных бедствий и уход за пожилыми и больными людьми. Например, в сельском хозяйстве мобильные роботы смогут дозировано поливать или удобрять конкретное растение, визуально анализируя его состояние, удалить каждый сорняк на поле и работать 24 часа 365 суток в году с перерывами на заправку и техобслуживание. Внедрение робототехники повысит производительность труда в этих отраслях в разы, кратно сократив затраты на ведение бизнеса и вызовет масштабные сокращение низкоквалифицированного персонала. Изменения на рынке труда гораздо будут гораздо более масштабными чем те, что происходили из-за внедрения в производство паровых машин, механизированных ткацких станков или компьютеров — значительное количество людей трудоспособного возраста окажется за границей занятости и без возможности получить какую либо работу вообще вследствие их низкой квалификации. Единственная индустрия, которая по результатам окажется «в плюсе», это разработка, производство, программирование и обслуживание роботов. Открытые конкурсы [DARPA Robotic Challenge][1], как и [Grand Challenge][2] и [Urban Challenge][3] ранее, явно демонстрируют куда и в каком темпе движется современная робототехника. В заметке я хотел бы кратко описать доступные сейчас курсы по робототехнике, размещенные на MOOC платформах. Итак, в порядке сложности. [Читать дальше →][4]

[1]: http://www.theroboticschallenge.org/
[2]: https://en.wikipedia.org/wiki/DARPA_Grand_Challenge
[3]: https://en.wikipedia.org/wiki/DARPA_Grand_Challenge_%282007%29
[4]: http://habrahabr.ru/post/265093/#habracut

[>] SMS из Bash или учим Zabbix новым трюкам
habra.15
habrabot(difrex,1) — All
2015-08-20 00:30:03


Данная статья посвящена организации СМС оповещения в очень бюджетном исполнении. Такой метод подходит для домашнего использования или использования в SOHO. На что-то большее данная схема не способна, имейте это ввиду. Ранее на Хабре уже были статьи на тему СМС информирования, но все сводилось к [локальным USB-модемам][1] или сервисам [email2sms][2]. В этой статье будет рассмотрена иная схема взаимодействия. А именно: оборудование Mikrotik выступит в роли GSM шлюза, а Zabbix будет отправлять СМС через терминал. Что понадобится: 1) Mikrotik 951 серии (активный USB-хаб крайне рекомендуется) 2) USB-модем с сим-картой 3) и развернутый Zabbix-сервер. [И как это работает?][3]

[1]: http://habrahabr.ru/post/155321/
[2]: http://habrahabr.ru/post/81630/
[3]: http://habrahabr.ru/post/264949/#habracut

[>] Об удобной навигации и отладке C++ кода в Vim
habra.14
habrabot(difrex,1) — All
2014-12-13 13:00:03


Компания, где я работаю, разрабатывает программное обеспечение на C++ под Linux. Долгое время мы использовали Qt Creator, с редкими ребятами работающими из Emacs и Vim. Когда я сам попытался пересесть на Vim, я понял, что ситуация с плагинами для разработки на С++ очень не простая. Поработав немного с CTags, я быстро понял, что без напильника работать в Vim будет очень сложно. К сожалению, с ростом опыта работы с Vim редактор в Qt Creator в режиме эмуляции устраивал меня все меньше, и в какой-то момент я решил потратить немного времени и разобраться, как же сделать из Vim нормальную среду. Я очертил для себя четыре вещи, которые я бы хотел от среды разработки, и которых мне бы хватило в Vim, чтобы полностью на него перейти: 1. Автодополнение 2. Навигация по коду 3. Отладка прямо из среды 4. Интеграция с Git (в частности Blame прямо в редакторе, и Git Grep) Автодополнение в Vim — это решенная проблема, и название у решения [YouCompleteMe][1]. Это очень качественный плагин, который реализует автодополнение для большого количества языков программирования, в частности Python и C++. Ходят слухи, что внутри Google YouCompleteMe решает и вторую проблему с навигацией кода, но использует для этого внутренные инструменты гугла для индексирования. Интеграция с Git в какой-то степени решена с помощью [vim-fugitive][2]. Это не такая комплексная интеграция, как бывает у Jet Brains, или в Visual Studio, но сравнимая с тем, что предлагает Qt Creator. Те два сценария, которые нужны были мне: blame и grep — работают хорошо. Отладка и навигация были проблемами, решенными гораздо хуже. В этой статье я расскажу о плагине, который мы написали для навигации по С++ коду. В конце статьи я также расскажу о том, как мы для себя решили проблему с интегрированным отладчиком. [Читать дальше →][3]

[1]: https://github.com/Valloric/YouCompleteMe
[2]: https://github.com/tpope/vim-fugitive
[3]: http://habrahabr.ru/post/245681/#habracut

[>] Google Chrome пометит HTTP-сайты как небезопасные
habra.14
habrabot(difrex,1) — All
2014-12-13 19:30:02


Разработчики веб-браузера Google Chrome [обещают][1] пометить веб-сайты, которые используют простое HTTP-подключение с клиентом как небезопасные и предлагают всем другим веб-приложениям (User Agent) сделать то же самое. Таким образом, пользователям хотят дать понять, что это простое подключение не обеспечивает необходимого уровня безопасности при передачи данных. Предполагается, что теперь сам браузер будет различать типы безопасности подключения к серверу для уведомления об этом клиента: безопасное (Secure), сомнительное (Dubious) и небезопасное (Non-secure). ![][2]

> We, the Chrome Security Team, propose that user agents (UAs)
>
> ** gradually change their UX to display non-secure origins as affirmatively non-secure**
>
> . We intend to devise and begin deploying a transition plan for Chrome in 2015.

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

[1]: https://www.chromium.org/Home/chromium-security/marking-http-as-non-secure
[2]: //habrastorage.org/files/ab5/681/773/ab56817731f3493894d46f2eb511b8d1.png
[3]: http://habrahabr.ru/post/245759/#habracut

[>] Выразительный JavaScript: Проект: программа Paint
habra.14
habrabot(difrex,1) — All
2014-12-14 02:00:04




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



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

_Я смотрю на многообразие цветов. Я смотрю на пустой холст. Затем я пытаюсь нанести цвета как слова, из которых возникают поэмы, как ноты, из которых возникает музыка. Жоан Миро_ Материал предыдущих глав даёт вам всё необходимое для создания простого веб-приложения. Именно этим мы и займёмся. Наше приложение будет программой для рисования в браузере, схожей с Microsoft Paint. С его помощью можно будет открывать файлы с изображениями, малевать на них мышкой и сохранять обратно. Вот, как это будет выглядеть: [Читать дальше →][22]

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

[>] [Перевод] Выразительный JavaScript: Node.js
habra.14
habrabot(difrex,1) — All
2014-12-14 06:00:03




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



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

_Ученик спросил: «Программисты встарь использовали только простые компьютеры и программировали без языков, но они делали прекрасные программы. Почему мы используем сложные компьютеры и языки программирования?». Фу-Тзу ответил: «Строители встарь использовали только палки и глину, но они делали прекрасные хижины». Мастер Юан-Ма, «Книга программирования»_ На текущий момент вы учили язык JavaScript и использовали его в единственном окружении: в браузере. В этой и следующей главе мы кратко представим вам Node.js, программу, которая позволяет применять навыки JavaScript вне браузера. С ней вы можете написать всё, от утилит командной строки до динамических HTTP серверов. Эти главы посвящены обучению важным идеям, составляющим Node.js и предназначены для передачи вам достаточного количества информации, чтобы вы могли писать полезные программы в этой среде. Они не пытаются быть всеобъемлющими справочниками по Node. Код из предыдущих глав вы могли писать и исполнять прямо в браузере, но код из этой главы написан для Node и в браузере работать не будет. Если вы хотите сразу запускать код из этой главы, начните с установки Node с сайта nodejs.org для вашей операционки. Также на этом сайте вы найдёте документацию по Node и его встроенным модулям. [Читать дальше →][23]

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

[>] [Из песочницы] Синхронизируем уведомления CI с Telegram
habra.15
habrabot(difrex,1) — All
2015-08-20 00:30:03


Cегодня я хотел бы поделиться своим опытом синхронизации уведомлений Continuous Integration серверов (Bamboo, Jenkins, TeamCity и тп.) с бесплатным мессенджером от Павла Дурова — Telegram. Данную проблему захотелось решить из-за того, что программисты на нашем проекте не реагировали на уведомления, присылаемые на почту, а телеграмм у нас корпоративный мессенджер. Подопытным CI является наш корпоративный Bamboo, с которого и должны приходить эти самые уведомления. Для организации данной синхронизации мы будем использовать BOT API от телеграмма, Gmail API от Google, а также наш ubuntu сервер на Digital Ocean. [Читать дальше →][1]

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

[>] Предпосвящение десятилетию Openbravo POS
habra.14
habrabot(difrex,1) — All
2014-12-14 15:30:04




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

В январе 2015 года исполняется 10 лет приложению [Openbravo POS][1]. За эти годы Openbravo POS(включая форки) стало лидером в мире СПО для автоматизации розничной торговли (POS, Point of Sale – торговая точка или более конкретно, рабочее место кассира). Данная статья предварительный итог того, что удалось и не удалось реализовать в проекте Openbravo POS за прошедшие 10 лет.

#### История имени





Отцом основателем, бессменным руководителем и практически единоличным коммитером проекта был [Эдриан Ромеро][2] из Испании. У проекта изначальное название с 2005 по 2007 год было Tina POS, но в августе 2007 года возник конфликт с этой торговой маркой и пришлось переименовать проект в Libre POS. В отличии от первого, второе название не продержалось и пол года, так как Эдриан перешёл работать в [Openbravo][3] и первая часть названия была «забрендирована», оставив от старого только «POS» на конце, что подчёркивало с этого момента принадлежность проекта к экосистеме данной ERP-системы в качестве дополнения в сфере розничной торговли. Также в феврале 2008 года вышла и первая версия Openbravo POS сразу за номером 2.00. [Читать дальше →][4]

[1]: https://sourceforge.net/projects/openbravopos/
[2]: http://adrianrcblog.blogspot.com/
[3]: http://www.openbravo.com/
[4]: http://habrahabr.ru/post/245765/#habracut

[>] Сказ о том, как мы в хакатонах учавствовали, или Страх и Ненависть в Кремниевой Долине
habra.14
habrabot(difrex,1) — All
2014-12-14 18:30:02


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

[1]: //habrastorage.org/files/f7c/64e/941/f7c64e941405428ebe8ac4ac1e502689.jpeg
[2]: http://habrahabr.ru/post/245783/#habracut

[>] Сделаем код чище: когда применение devres API приносит вред?
habra.15
habrabot(difrex,1) — All
2015-08-20 00:30:03


Управляемые ресурсы (также известны как Device Resource Management или devres API), о которых я писал [небольшую заметку][1] ранее, — вещь крайне полезная, но не стоит воспринимать этот вспомогательный набор функций как серебрянную пулю при написании драйверов или модификации существующих. Рассмотрим случаи, где нужно аккуратно применять данные методы. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/255459/
[2]: http://habrahabr.ru/post/265111/#habracut

[>] Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине
habra.14
habrabot(difrex,1) — All
2014-12-14 19:30:03


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

[1]: //habrastorage.org/files/f7c/64e/941/f7c64e941405428ebe8ac4ac1e502689.jpeg
[2]: http://habrahabr.ru/post/245783/#habracut

[>] Загрузка видео «без единого разрыва»
habra.15
habrabot(difrex,1) — All
2015-08-20 11:30:03


Видео – один из самых популярных сервисов на Одноклассниках. Чего только не грузят наши пользователи, от милых сюжетов с детского утренника до снятых на видеорегистратор аварий. Поэтому быстро и стабильно работающая загрузка видео важна нам не только как одна из самых востребованных пользователями функций, но и как необходимое условие для генерации контента. А значит, и для бизнеса: есть хороший контент — есть пользователи, есть пользователи — есть бабло. В чем проблема? — спросите вы. Ставишь серваки с большими дисками, настраиваешь балансировщик — и понеслась. Однако опытный видео-ниндзя знает, что проблем тут целый ворох:

* В процессе загрузки у пользователя **может пропадать соединение** с нашим порталом (закрыл ноут, вошел в лифт, сел аккумулятор на телефоне и т.п.)
* **Старые устройства** не поддерживают современные технологии загрузки (а у нас миллионы пользователей имеют слабые смартфоны или древние браузеры)
* При том количестве пользователей, которые есть у нас, задача о стабильной заливке видео превращается в задачу о стабильной загрузки видео **в огромных объемах**.

**Да, это** [![][1]][2] В этой статье мы расскажем о том, как мы победили все эти проблемы, опишем архитектуру нашего решения и причины, по которым она получилась именно такой. [Видеосервис Одноклассников в деталях][3]

[1]: https://habrastorage.org/files/c30/b3f/3ef/c30b3f3ef4fa4bc38e4b7c4f4940a1ff.jpg
[2]: http://habrahabr.ru/post/265133/
[3]: http://habrahabr.ru/post/265133/#habracut

[>] Курсы осеннего семестра 2015 в Computer Science клубе
habra.15
habrabot(difrex,1) — All
2015-08-20 14:00:03


![][1] Занятия в осеннем семестре в Computer Science клубе начнутся уже на первой неделе сентября! Как всегда, все лекции клуба открыты, регистрация не требуется. Приглашаются все желающие. Список курсов и подробное расписание ищите на сайте клуба: [compsciclub.ru][2] 2 сентября в 18:00 Иван Близнец начнёт читать курс по параметризованным алгоритмам. Данная область изучает сложность алгоритмов в зависимости не только от размера входных данных, но и от различных дополнительных параметров. За последнее десятилетие в этой области появилось много новых красивых результатов. Курс будет читаться по недавней книге «Parameterized Algorithms», выпущенной в 2015 году М. Цыганом, Ф. Фоминым, Л. Коваликом, Д. Марксом, М. Филипчуком, М. Филипчуком и С. Саурабом: [link.springer.com/book/10.1007%2F978-3-319-21275-3][3] Предварительное расписание курса (может поменяться! следите за новостями и заходите на страницу расписания): среда, 18:00. Страница курса: [compsciclub.ru/courses/parameterizedalgorithms][4] [Читать дальше →][5]

[1]: https://habrastorage.org/files/d09/79f/e86/d0979fe862e54b61a4350cc2576a0454.jpg
[2]: http://compsciclub.ru/
[3]: http://link.springer.com/book/10.1007%2F978-3-319-21275-3
[4]: http://compsciclub.ru/courses/parameterizedalgorithms
[5]: http://habrahabr.ru/post/265141/#habracut

[>] Конференция ZeroNights 2014 — как все было
habra.14
habrabot(difrex,1) — All
2014-12-15 07:30:03


Вот уже в четвертый раз в Москве прошла конференция, посвященная информационной безопасности — ZeroNights 2014. ![image][1] Как и в прошлом году, для того, чтобы попасть на ZeroNights, нужно было либо купить билет на мероприятие, либо выиграть его в HackQuest. О HackQuest мы объявляли [на Хабре][2], и, как и ожидалось, задания оказались достаточно высокой сложности. Вместо отведенных 24 часов на каждое задание, некоторые висели по трое суток без решения, зато с кучей подсказок. Как вам, например, взламывать программу, написанную на языке Limbo, которая выполняется в эмуляторе ОС Inferno, или написать прошивку для устройства на языке Verilog, которое подключено в качестве человека посередине между двумя другими устройствами, которые передают зашифрованные данные друг-другу? На 5 из 8 заданий участники опубликовали райтапы, с которыми вы можете ознакомиться чуть ниже. Конференция проводилась два дня: 13 и 14 ноября. Одновременно можно было посещать два трека, в которых читались доклады, либо же участвовать в воркшопах, в которых рассказывали и показывали крутые технические трюки, и, таким образом, учили вас. Также, все два дня работал Hardware Village — стенд с радио, RFID, NFC и проводным оборудованием для проведения атак. Воркшопы были двух типов: Fast Track — короткие 15-минутные доклады обо всем и Defensive Track — 20-минутые доклады о безопасности в какой-либо среде. Воркшопы были на самые разные темы: от how-to по инструментам и стандартным небезопасным настройкам роутеров, до взлома ключа AES-128-ECB через показания потребленной электроэнергии. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/3c8/958/d08/3c8958d083f838879d18bac86b14b9ae.jpg
[2]: http://habrahabr.ru/company/dsec/blog/238711/
[3]: http://habrahabr.ru/post/245203/#habracut

[>] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 8. «Добро пожаловать в Америку»
habra.15
habrabot(difrex,1) — All
2015-08-20 14:00:03


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

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

Кто хочет помочь с переводом других глав — пишите в личку [magisterludi][13]. В главе описываются невероятные приключения суровых челябинских хакеров в Америке и первое международное изъятие доказательств посредством взлома. _(У того, кто переводит главу 7 случился «полный дедлайн», поэтому выкладываем 8 главу.)_

#### Глава 8. Добро пожаловать в Америку

_(за перевод спасибо [GrizliK][14] (Александру Иванову), все совпадения — чистая случайность)_ Двое русских чувствовали себя как дома в маленьком офисе в Сиэтле. Двадцатилетний Алексей Иванов печатал на клавиатуре компьютера, а его коллега, девятнадцатилетний Василий Горшков, стоял и наблюдал. Сразу после прилета из России они ушли с головой в крупнейшее собеседование их жизни – переговоры о прибыльном международном партнерстве с американским стартапом в области компьютерной безопасности Invita. Офисные работники мелькали вокруг них и попсовая музыка лилась из компьютерных колонок. Через несколько минут Горшков переместился к компьютеру, в другом конце комнаты и Майкл Паттерсон, генеральный директор Invita, начал разговор. [Читать дальше →][15]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: https://en.wikipedia.org/wiki/Max_Butler
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/post/261491/
[5]: http://habrahabr.ru/post/264227/
[6]: http://habrahabr.ru/post/263819/
[7]: http://habrahabr.ru/post/264891/
[8]: http://habrahabr.ru/post/263813/
[9]: http://habrahabr.ru/post/264349/
[10]: http://habrahabr.ru/post/265149/
[11]: http://habrahabr.ru/post/263293/
[12]: http://habrahabr.ru/company/piter/blog/204042/
[13]: http://habrahabr.ru/users/magisterludi/
[14]: http://habrahabr.ru/users/grizlik/
[15]: http://habrahabr.ru/post/265149/#habracut

[>] Технокнига, часть 1: литература по веб-технологиям, алгоритмам и структурам данных, углубленному программированию на С++
habra.15
habrabot(difrex,1) — All
2015-08-20 14:00:03


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

[1]: https://habrastorage.org/files/197/17c/1ae/19717c1ae91945c5aca387ab821cade8.jpg
[2]: http://habrahabr.ru/post/265103/#habracut

[>] [recovery mode] Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине
habra.14
habrabot(difrex,1) — All
2014-12-15 08:00:04


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

[1]: //habrastorage.org/files/f7c/64e/941/f7c64e941405428ebe8ac4ac1e502689.jpeg
[2]: http://habrahabr.ru/post/245783/#habracut

[>] Проброс USB в виртуалку по сети средствами usbredir и qemu
habra.15
habrabot(difrex,1) — All
2015-08-20 14:30:02


![][1] На сегодняшний день существет довольно много способов пробросить USB-устройство на другой компьютер или виртуалку по сети. Из наиболее популярных — железячные такие как AnywhereUSB и чисто програмные продукты, из тех что я попробовал сам: USB Redirector и USB/IP. Я бы хотел рассказать вам еще об одном интересном способе, который работает непосредственно с эмулятором qemu. Он так же является частью проекта spice, официально поддерживаемым RedHat. usbredir, это открытый протокол для проброса usb-устройств по tcp на удаленный виртуальный сервер, разработанный при поддержке RedHat в рамках проекта spice. Но как оказалось им можно вполне успешно пользоваться и без spice. В роли сервера выступает usbredirserver, который шарит usb-устройство на определенный порт, а в качестве клиента сам qemu, который эмулирует подключение экспортированного usb-устройства в определенный usb-контроллер вашей виртуальной машины. Благодаря такому подходу в качестве гостевой системы может использоваться абсолютно любая ОС, так как она даже не знает, что устройство является проброшенным удаленно, а вся логика ложится на qemu. [Читать дальше →][2]

[1]: https://habrastorage.org/files/e6a/1bc/05d/e6a1bc05d70c460399d3276fdec28d2c.png
[2]: http://habrahabr.ru/post/265065/#habracut

[>] Обнаружена еще одна серьезная уязвимость в Android
habra.15
habrabot(difrex,1) — All
2015-08-20 15:00:03


[![][1]][2] В конце июля исследователи из компании TrendMicro обнаружили серьезную уязвимость в медиасервере Android (информация об этом появилась практически одновременно с [данными по уязвимости Stagefright][3]). Чуть позднее специалисты IBM нашли [еще одну][4] ошибку безопасности, затрагивающую 55% пользователей Android. 17 августа в [блоге][5] TrendMicro появилось описание еще одной серьезной уязвимости медиасервера, которая может приводить к удаленному выполнению кода. Используя эту ошибку безопасности, злоумышленник может удаленно атаковать смартфон с помощью специального мультимедиа-сообщения. [Читать дальше →][6]

[1]: https://habrastorage.org/files/50d/902/ca6/50d902ca68fd45c8913c74d3f2d40eb3.jpg
[2]: http://habrahabr.ru/company/pt/blog/265161/
[3]: http://habrahabr.ru/company/pt/blog/263903/
[4]: http://www.securitylab.ru/news/474145.php
[5]: http://blog.trendmicro.com/trendlabs-security-intelligence/mediaserver-takes-another-hit-with-latest-android-vulnerability/
[6]: http://habrahabr.ru/post/265161/#habracut

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


Краткое HowTo о том, как жить, если у тебя ноутбук, а экранов стало не хватать. [Читать дальше →][1]

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

[>] Проброс USB в виртуалку по сети средствами UsbRedir и QEMU
habra.15
habrabot(difrex,1) — All
2015-08-20 16:30:02


![][1] На сегодняшний день существет довольно много способов пробросить USB-устройство на другой компьютер или виртуалку по сети. Из наиболее популярных — железячные такие как AnywhereUSB и чисто програмные продукты, из тех что я попробовал сам: USB Redirector и USB/IP. Я бы хотел рассказать вам еще об одном интересном способе, который работает непосредственно с эмулятором QEMU. Он так же является частью проекта spice, официально поддерживаемым RedHat. UsbRedir, это открытый протокол для проброса usb-устройств по tcp на удаленный виртуальный сервер, разработанный при поддержке RedHat в рамках проекта spice. Но как оказалось им можно вполне успешно пользоваться и без spice. В роли сервера выступает usbredirserver, который шарит usb-устройство на определенный порт, а в качестве клиента сам QEMU, который эмулирует подключение экспортированного usb-устройства в определенный usb-контроллер вашей виртуальной машины. Благодаря такому подходу в качестве гостевой системы может использоваться абсолютно любая ОС, так как она даже не знает, что устройство является проброшенным удаленно, а вся логика ложится на QEMU. [Читать дальше →][2]

[1]: https://habrastorage.org/files/e6a/1bc/05d/e6a1bc05d70c460399d3276fdec28d2c.png
[2]: http://habrahabr.ru/post/265065/#habracut

[>] Concurrency структуры в .net. ConcurrentQueue изнутри
habra.14
habrabot(difrex,1) — All
2014-12-15 19:30:03


ConcurrentQueue можно отнести к lock-free конкурентным структурам данных. В ее реализации нет блокировок (lock, Mutex…) и реализована она с использованием: — классической функции CompareExchange; — SpinWait — volatile (используется как memory-barrier) В основу ConcurrentQueue заложена структура ring-buffer ([кольцевой буфер][1]). [Читать дальше →][2]

[1]: https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D1%8C%D1%86%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B1%D1%83%D1%84%D0%B5%D1%80
[2]: http://habrahabr.ru/post/245837/#habracut

[>] [Из песочницы] Стабилизация таймлапс-видео на калькуляторе (IPython+OpenCV)
habra.15
habrabot(difrex,1) — All
2015-08-20 17:00:02


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

[1]: https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%B5%D0%B8%D0%B4%D1%8B
[2]: http://habrahabr.ru/post/265155/#habracut

[>] [Из песочницы] Простейшие Lock-Free объекты для двух потоков
habra.14
habrabot(difrex,1) — All
2014-12-15 20:00:03


Здесь было много статей об универсальных Lock-free объектах, однако, для некоторых частных случаев они излишне громоздки. Мой случай как раз таким и являлся: требовалось организовать одностороннюю передачу информации от одного потока другому. Главный поток запускает рабочий, после чего он может только запросить его остановку и никак больше управлять он им не может. В свою очередь рабочий поток может уведомлять главный о своем текущем состоянии (прогрессе выполнения), а также отсылать промежуточные результаты выполнения. Получается, что требуется только передача данных от рабочего к главному потоку. Разумеется, возможно, я изобрёл велосипед или, хуже того, велосипед с глюками. Поэтому комментарии и критика очень приветствуются! [Читать дальше →][1]

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

[>] [Из песочницы] Гирлянда на Raspberry Pi
habra.14
habrabot(difrex,1) — All
2014-12-15 20:00:03


Приближаются новогодние праздники, и было решено сделать что-то новогоднее с использованием имеющегося Raspberry Pi B-модели. До этого я использовал его в качестве веб-сервера. Затем немного игрался с GPIO на Python заставляя светиться светодиоды. Что ж, небольшая искусственная елка подсказала мне как можно совместить мое желание с моими навыками. Гирлянда на светодиодах! [Читать дальше →][1]

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

[>] [Из песочницы] Установка BIND9 DNS на CentOS
habra.14
habrabot(difrex,1) — All
2014-12-15 20:00:03


За все время работы не сталкивался с установкой DNS на сервер, а тут пришлось устанавливать Slave DNS на новом сервере клиента. Думаю, что порядок действий будет полезен, как админам так и web-разработчикам. [Читать дальше →][1]

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

[>] [Перевод] Теория категорий для программистов: предисловие
habra.14
habrabot(difrex,1) — All
2014-12-15 21:00:04


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

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

[>] Сделаем код чище: Когда применение devres API приносит вред?
habra.15
habrabot(difrex,1) — All
2015-08-20 18:30:03


Управляемые ресурсы в ядре Linux (также известны как Device Resource Management или devres API), о которых я писал [небольшую заметку][1] ранее, — вещь крайне полезная, но не стоит воспринимать этот вспомогательный набор функций как серебрянную пулю при написании драйверов или модификации существующих. Рассмотрим случаи, где нужно аккуратно применять данные методы. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/255459/
[2]: http://habrahabr.ru/post/265111/#habracut

[>] [Перевод] Ад визуализации 1.1 — Книга 1: Обзор
habra.14
habrabot(difrex,1) — All
2014-12-15 21:30:03


![][1] Недостаток знаний иногда может оказаться достоинством, потому что вы наивно говорите себе: «Пфф… разве это сложно?» и просто погружаетесь в проблему с головой. Я начал эту статью с размышления: «Хм… Что же такое Draw Call?». За время «5-ти минутного» исследования я так и не нашел удовлетворяющего меня объяснения. Я проверил часы и, так как до сна оставалось еще 30 минут, сказал…

> Пфф… Разве это сложно написать самостоятельно?
>
>

… и просто начал. Это было два месяца назад и с тех пор я непрерывно читал, писал и задавал много вопросов. Это было самое сложное и низкоуровневое исследование, которое я когда-либо делал, и для меня непрограммиста это был кошмар состоящий из «да, но в этом особом случае...» и «зависит от реализации API...». Это был мой личный ад визуализации, но я прошел через него и принес нечто с собой: Четыре книги, каждая из которых представляет собой попытку объяснить одну из частей визуализации с точки зрения художника. Я надеюсь, что вам понравится. [Книга 1: Обзор][2]

[1]: //habrastorage.org/files/ed8/806/863/ed8806863e7447c48a6a59e735d3db06.png
[2]: http://habrahabr.ru/post/245713/#habracut

[>] Редактор или IDE? Очередная попытка анализа
habra.15
habrabot(difrex,1) — All
2015-08-21 00:00:02


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

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

[>] Пишем конвертер для генератора мелодий от Nokia 3310
habra.14
habrabot(difrex,1) — All
2014-12-15 22:00:03




#### Любителям всего старого, но безумно интересного, добрый вечер!



> Помните такой телефон — Nokia 3310? Разумеется, помните! А такую штуку как синтезатор мелодий в нем? Тоже помните, отлично. А по старым, теплым и ламповым мелодиям скучаете? Вот и я скучаю. А еще мне на глаза попался сайтик с более чем сотней нотных листов для этого редактора. И что я должен был оставить эту прелесть без внимания? Нет уж. Что я сделал? Правильно! Взял и написал точно такой же генератор мелодий, который позволяет на выходе получить Wave — файл с мелодией. Интересно, что из этого получилось? Тогда прошу под кат.

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

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

[>] [recovery mode] Генератор случайных личностей
habra.14
habrabot(difrex,1) — All
2014-12-15 23:30:02


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

[1]: //habrastorage.org/files/ced/bba/255/cedbba255cf04b8795767a972877a45c.jpg
[2]: http://habrahabr.ru/post/245927/#habracut

[>] [Из песочницы] Как усилить защиту паролей «12345» от brute-force атаки
habra.14
habrabot(difrex,1) — All
2014-12-16 01:30:03


**Объект:** веб-форма входа в систему. **Дана задача:** усилить защиту аккаунта пользователя от подбора простого пароля к его аккаунту, используя минимум средств. Что такое минимум средств? Это не использовать таблицы-справочники для блокировки по IP-адресу и User-Agent. Не использовать лишние запросы к системе, не захламлять систему авторизации лишними циклами. И, выполнить совершенно волшебное требование — даже если бот введет нужные логин и пароль… не дать ему войти, а вот реального пользователя впустить. Можно ли так сделать? В теории, конечно, нет. Но в практике, в частном порядке и при определенных условиях, как оказалось, весьма возможно. Приглашаю под кат за подробностями. [Читать дальше →][1]

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

[>] [Из песочницы] Строим фронтэнд вместе с ErgoJS
habra.14
habrabot(difrex,1) — All
2014-12-16 02:00:03






Рад представить вашему вниманию js-фреймворк под названием **ErgoJS** для создания «насыщенных» веб-приложений. И да, я люблю велосипеды. [Самое интересное под катом][1]

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

[>] Как показать самые опасные уязвимости
habra.14
habrabot(difrex,1) — All
2014-12-16 05:00:02


По долгу службы мне часто приходится проводить инструментальный аудит безопасности различных предприятий. Процедура составления итогового отчета содержит одну неприятную особенность, от которой мне давно хотелось избавиться. Помимо наиболее опасных уязвимостей системы клиенту всегда надо показывать ссылки на общедоступные эксплойты для этих ошибок. И эти ссылки приходилось искать вручную. В большинстве случаев заказчик принимает какие-либо серьезные меры по защите — только если знает о хакерских инструментах, которые автоматизируют атаки через найденные у него уязвимости. Обнаруженные дыры сами по себе не пугают, а такие программы — очень даже: благодаря им натянуть черные шляпы может целая армия школьников, кулхацкеров, недовольных экс-сотрудников и диверсантов из конкурирующих организаций. Создатель Grsecurity Брэд Шпенглер говорил, что только публичные эксплойты производят изменения в общественном понимании уровня существующей безопасности, и мой опыт полностью подтверждает эту мысль. [![image][1]][2] В какой-то момент я понял, что поиск ссылок на эксплойты — работа хотя и важная, но настолько рутинная и механическая, что просто грех ее не автоматизировать. Вначале был написан простенький консольный скрипт, который постепенно обзавелся GUI и научился понимать различные форматы отчетов систем поиска уязвимостей. Все доработки и улучшения PT Exploit Explorer в дальнейшем проводились исходя из пожеланий пользователей, и этот процесс продолжается до сих пор. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/cb5/2a2/e19/cb52a2e19e92e3eaf383e144ac9786d9.jpg
[2]: http://habrahabr.ru/company/pt/blog/245885/
[3]: http://habrahabr.ru/post/245885/#habracut

[>] Контроль диапазонов целых чисел в FindBugs
habra.14
habrabot(difrex,1) — All
2014-12-16 12:00:02


![][1] [FindBugs][2] — это статический анализатор кода для Java с открытым исходным кодом (под [LGPL][3]). Он содержит множество детекторов, которые определяют те или иные проблемы в коде. С недавних пор я являюсь участником проекта и пишу для него новые детекторы. Об одном из них я и расскажу в этой статье. Также мы посмотрим примеры багов, найденных в реальных проектах. [Читать дальше →][4]

[1]: http://habr.habrastorage.org/post_images/825/895/c92/825895c9203cf34e9017a5576651ae2b.png
[2]: http://findbugs.sourceforge.net/
[3]: http://www.gnu.org/licenses/lgpl.html
[4]: http://habrahabr.ru/post/240121/#habracut

[>] C# — Моделирование «разумной» жизни на базе нейронных сетей
habra.15
habrabot(difrex,1) — All
2015-08-21 10:30:04


Данная статья посвящена исследованию возможностей нейронных сетей при их использовании в качестве основы для индивидуального разума моделируемого объекта. **Цель:** показать, способна ли нейронная сеть (или ее данная реализация) воспринимать «окружающий» мир, самостоятельно обучаться и на основе собственного опыта принимать решения, которые можно считать относительно разумными. [Читать дальше →][1]

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

[>] [Перевод] Как я взломал Facebook
habra.14
habrabot(difrex,1) — All
2014-12-16 13:00:04


Хорошо, хорошо. Я не совсем «взломал Facebook». Я добился выполнение команды уровня операционной системы на одном из серверов _Facebook_. Рассказ, как я это сделал. [Читать дальше →][1]

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

[>] [Из песочницы] Мультипрокси на базе Debian и SQUID с прозрачной доменной аутентификацией
habra.15
habrabot(difrex,1) — All
2015-08-21 14:00:03


Поднимаем прокси сервер Squid, слушающий несколько портов. На каждый порт свой канал связи или внешний IP. Мануалов и статеек в интернетах полно, но общей сконсолидированной увы нет, решил поделиться. Начнем. Используется Debian 7.8, Samba 4, Squid 3, Kerberos 5. [Читать дальше →][1]

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

[>] Тех деревня — отзывы людей, работающих в IT-сфере, о жизни в разных городах и странах
habra.14
habrabot(difrex,1) — All
2014-12-16 13:30:02


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

[1]: https://docs.google.com/spreadsheet/ccc?key=0AuZqi2H419JzcjlhVDN4X2FPbzRvcXZiZ19wQ0tZVEE&usp=drive_web#gid=0
[2]: http://techvillage.ru/
[3]: http://habrahabr.ru/post/245915/#habracut

[>] Настройка D-Link DIR-320/NRU + 3G Ростелеком R41 (Sense R41)
habra.15
habrabot(difrex,1) — All
2015-08-21 14:00:03


В статье описывается настройка маршрутизатора «D-Link DIR-320/NRU» и модема «3G+ Ростелеком R41». На странице поддержки маршрутизатора приведён перечень совместимых моделей модемов, и «3G+ Ростелеком R41», также известный как «Sense R41», в их число не входит. При подключении к маршрутизатору модем не определяется в интерфейсе настройки, в логах он отображается как SCSI устройство, и никаких _/dev/ttyUSB\*_ устройств не создаётся. То есть без вариантов — требуется альтернативная прошивка маршрутизатора. Поиск в интернете показал, что данный маршрутизатор можно прошить некоторыми версиями прошивок ZyXEL Keenetic и OpenWRT. Выбор пал на OpenWRT. Наряду с пользовательскими сборками OpenWRT, включающими всё необходимое для подключения 3G модема, поддержка маршрутизатора DIR-320/NRU добавлена в основную ветку OpenWRT, начиная с ревизии 38040. Поэтому для прошивки выбрана последняя стабильная версия OpenWRT — Barrier Breaker 14.07. [Читать дальше →][1]

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

[>] [Перевод] Введение в .NET Core
habra.14
habrabot(difrex,1) — All
2014-12-16 14:00:02


![][1] На конференции [connect()][2], мы [объявили, что .NET Core будет выпущен полностью как программное обеспечение с открытым исходным кодом][3]. В этой статье мы сделаем обзор .NET Core, расскажем, как мы собираемся его выпускать, как он соотносится с .NET Framework и что это все означает для кросс-платформенной разработки и разработки с открытым кодом. [Читать дальше →][4]

[1]: //habrastorage.org/files/009/eeb/26d/009eeb26d8f04e219e7d959b1f18bb0c.png
[2]: http://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014
[3]: http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx
[4]: http://habrahabr.ru/post/245901/#habracut

[>] [Перевод] Категория: суть композиции
habra.14
habrabot(difrex,1) — All
2014-12-16 17:30:02


Категория — очень простая концепция. Категория состоит из объектов и стрелок, которые направлены между ними. Поэтому, категории так легко представить графически. Объект можно нарисовать в виде круга или точки, а стрелки — просто стрелки между ними. (Просто для разнообразия, я буду время от времени рисовать объекты, как поросят а стрелки, как фейерверки.) Но суть категории — композиция. Или, если вам больше нравится, суть композиции — категория. Стрелки компонуются так, что если у вас есть стрелка от объекта А к объекту B, и еще одна стрелка из объекта B в C, то должна быть стрелка, — их композиция, — от А до С. ![image][1] [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/7d1/3b7/684/7d13b7684e6761be619bde1b3e72e746.jpg
[2]: http://habrahabr.ru/post/246009/#habracut

[>] Захватываем полный контроль над чужим облаком Digital Ocean
habra.14
habrabot(difrex,1) — All
2014-12-16 18:30:01


Как и многие хабрапользователи, я пользуюсь «облачными» технологиями, в т.ч. арендую VPS (виртуальные сервера) в разных странах мира. Порядка двух лет я пользовался Амазоном и не сказать, чтобы был доволен, но хватало. В сентябре прошлого года я наткнулся на очень агрессивную PR компанию от Digital Ocean (DO) и решил воспользоваться их услугами. С того момента я забросил Амазон (ни разу не реклама) и полностью перешел на DO. ![image][1] И чем больше пользуешься каким-либо сервисом и чем больше доверяешь ему своих данных, тем более пристально смотришь как он работает :) [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/6a1/b01/d77/6a1b01d773bd770f01ac7e0b01078d75.png
[2]: http://habrahabr.ru/post/246025/#habracut

[>] 10 новых бесплатных онлайн-курсов на Stepic
habra.14
habrabot(difrex,1) — All
2014-12-16 18:30:02


Сегодня мы открыли запись на 10 новых бесплатных онлайн-курсов (MOOC) по предметам от линейной алгебры и дискретных структур до археологии фольклора и инвестиционного банкинга. В числе авторов – преподаватели и научные сотрудники из МФТИ, НИУ ВШЭ, МИАН, ГАИШ МГУ, СПбГУ и ИБ, МИСиС, ЕУ СПб. Большинство новых курсов разрабатывается по итогам конкурса Stepic Challenge, о котором мы [писали][1] ранее. ![][2] Преподаватели прямо сейчас ведут работу над записью материалов, поэтому если какой-то курс вас заинтересует, вы можете вносить предложения и идеи по его содержанию. Мы постараемся их учесть. **Список новых курсов:**

1. [Дискретные структуры][3] (7 марта 2015)
2. [Linear Algebra: Problems and Methods][4] (April 3, 2015) (курс на английском языке)
3. [Химическая эволюция Вселенной][5](15 апреля 2015)
4. [Компьютерная графика: основы][6] (9 марта 2015)
5. [Основы статистики][7] (15 февраля 2015)
6. [Инвестиционный банкинг изнутри][8] (6 апреля 2015)
7. [Археология фольклора: мифологические мотивы на карте мира][9] (2 февраля 2015)
8. [Управление интеллектуальной собственностью. Основы для инженеров][10] (20 апреля 2015)
9. [Журналистика и медиаграмотность][11] (31 марта 2015)
10. [Базовый курс подготовки к ОГЭ по математике][12] (1 февраля 2015)

[Подробнее о курсах][13]

[1]: http://habrahabr.ru/company/spbau/blog/229133/
[2]: //habrastorage.org/files/bf2/f48/856/bf2f48856d2e47c891f17cb54b169e2d.png
[3]: https://stepic.org/83
[4]: https://stepic.org/79
[5]: https://stepic.org/80
[6]: https://stepic.org/84
[7]: https://stepic.org/76
[8]: https://stepic.org/82
[9]: https://stepic.org/51
[10]: https://stepic.org/88
[11]: https://stepic.org/81
[12]: https://stepic.org/85
[13]: http://habrahabr.ru/post/245891/#habracut

[>] [Из песочницы] Простейший физический движок
habra.15
habrabot(difrex,1) — All
2015-08-21 14:00:03


Вас интересуют игры? Хотите создать игру но не знаете с чего начать? Тогда вам сюда. В этой статье я рассмотрю простейший физический движок, с построения которого можно начать свой путь в GameDev'e. И да, движок будем писать с нуля. [Читать дальше →][1]

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

[>] Поэтапный рост производительности при применении векторных инструкций перестановки от SSE до AVX3.1
habra.14
habrabot(difrex,1) — All
2014-12-16 20:00:03


Часто от приложения требуется максимально возможная производительность, и нередко помочь ее достигнуть может переход на новую платформу. А дополнительный прирост производительности может быть получен не только за счет архитектурных изменений новой платформы, т.е. увеличения частоты процессора, пропускной способности памяти и прочих изменений, но и за счет использования новых наборов команд процессора. Этот подход и будет рассмотрен в данной статье на примере векторных инструкций, появлявшихся последовательно в процессорах Intel от SSE до нового набора инструкций AVX 3.1, опубликованного недавно в соответствующей спецификации на [сайте компании Intel][1]. [Читать дальше →][2]

[1]: https://software.intel.com/en-us/blogs/2013/avx-512-instructions
[2]: http://habrahabr.ru/post/245755/#habracut

[>] [Из песочницы] Идентификация материальных объектов с помощью оптического маркера
habra.15
habrabot(difrex,1) — All
2015-08-21 14:00:03


![][1] Для идентификации материальных объектов придумано немало различных методов. Их можно разделить на две основные группы:

1. Методы, использующие свойство уникальности присущих объектам признаков, которые тем или иным образом поддаются регистрации/измерению и остаются неизменными в течение заданного промежутка времени в пределах допустимой погрешности. К этой группе можно отнести методы биометрической идентификации, оптическую идентификацию, идентификацию по пространственным координатам, «утиный» тест и т.д.
2. Методы, основанные на маркировке объектов идентификационной информацией, которая наносится на поверхность объекта различными способами: в виде надписи и\\или изображения, приклеивания этикетки с штрихкодом, привязывания бирки с номером и т.д., и последующей идентификация объектов с помощью этой информации.

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

[1]: https://habrastorage.org/files/46e/160/47f/46e16047fdd342c2952e1161b8bb4839.png
[2]: http://habrahabr.ru/post/265209/#habracut

[>] Оптимизация кода под Pebble
habra.14
habrabot(difrex,1) — All
2014-12-16 20:00:03


![][1]На Хабре уже было [несколько ][2][статей ][3]об общих принципах написания кода под Pebble. Для программирования используется язык C, а сам процесс разработки происходит в браузере, при этом компиляция происходит на удаленных серверах, и изменить ее параметры нет возможности, разве что установить Ubuntu и инсталлировать необходимые инструменты для офлайн-компиляции. Но даже такой ход не избавит основного ограничения – на устройстве доступно только 24 Кб оперативной памяти, которая используется и для скомпилированного кода, то есть действительно динамической памяти остается 5-10 Кб. И если для простых программ, которые используются как тонкие клиенты или дополнительные датчики для телефона, этого с головой достаточно, то для написания самодостаточной более или менее сложной игры, которой не нужен смартфон, этого откровенно мало. Вот здесь и понадобится оптимизация кода под размер. Свои шишки я уже набила, и поэтому предлагаю поучиться на моих ошибках, которые я объединила в 16 советов. Некоторые из них могут показаться капитанскими, от некоторых избавит хороший компилятор с правильными флагами компиляции, но, надеюсь, некоторые из них кому-нибудь да и будут полезными. [Читать дальше →][4]

[1]: //habrastorage.org/files/a0d/259/1d8/a0d2591d8e1947989a5459c8133fa42b.png
[2]: http://habrahabr.ru/post/202164/
[3]: http://habrahabr.ru/post/202164/
[4]: http://habrahabr.ru/post/241555/#habracut

[>] Сказ о том, как я дизассемблировал Supaplex и почти написал клон с 3D графикой
habra.14
habrabot(difrex,1) — All
2014-12-16 20:00:03


![Картинка для привлечения внимания][1] Я думаю, большинство людей, кто застал времена DOS и ранних Windows 9x, играли или хотя-бы слышали о такой замечательной игре, как Supaplex. Лично для меня — это игра-легенда. Я до сих пор с трепетом вспоминаю долгие зимние вечера, проведённые в попытке пройти какой-нибудь сложный уровень на стареньком 286-м. Так сложилось, что я программист. И не просто программист, а программист компьютерных игр. Так что, где-то в 2008 году я занялся написанием движка-«убийцы крузиса» (или что там было круто на тот момент, я уже не помню). Примерно через год меня настигло прозрение, что моих человеко-часов на проект уровня Unreal Engine не хватит. И я решил сделать легкую, «казуальную», версию движка и написать на ней пару простеньких игрушек. Мой выбор пал на клон Supaplex. Правда, на тот момент уже существовало несколько клонов под Windows и другие платформы, поэтому просто писать все с нуля было неинтересно. Зато в мою голову заползла крамольная мысль: а что, если дизассемблировать оригинальный Supaplex и сделать игру с логикой, «идентичной натуральной». Такая задача казалась крайне заманчивой, и я взялся за её осуществление. Я заказал 3D-модельки у одного хорошего знакомого фрилансера и, пока он был занят моделлингом, я приступил к изучению пациента. Сразу предупреждаю, что я уже не помню многих деталей и могу что-то забыть или приврать, всё-таки это было довольно давно. [Читать дальше →][2]

[1]: http://habrastorage.org/files/5ca/431/478/5ca43147885a436cbe43496f080a989c.jpg
[2]: http://habrahabr.ru/post/246027/#habracut

Pages: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 210