Pull to refresh
0
0
Send message

Защита от прослушивания разговоров — строим безопасную SIP телефонию своими руками

Reading time7 min
Views74K
image
Привет, Хабр!
В этот раз хочу рассказать о технологиях шифрования VoIP звонков, о том какую защиту дают разные подходы и как организовать наиболее защищенную от прослушивания голосовую связь с технологическими гарантиями безопасности.
В статье я постараюсь доступно изложить особенности таких технологий как SIP\TLS, SRTP и ZRTP. И продемонстрирую конкретные схемы использования на примере нашего сервиса ppbbxx.com

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments9

Даниил Дубровкин: «Оpen source не значит, что это бесплатно и что это никому не принадлежит»

Reading time8 min
Views15K
Представляем шестой выпуск подкаста о технологиях, процессах, инфраструктуре и людях в IT-компаниях. Сегодня в гостях у “CTOcast” — Даниил Дубровкин (Daniel Doubrovkine), технический директор компании Artsy и open source энтузиаст.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments7

Получаем атрибуты S.M.A.R.T

Reading time5 min
Views13K
S.M.A.R.T это технология оценки состояния жесткого диска, помогающая оценить текущее состояние и предсказать возможные проблемы и выход устройства из строя. Атрибуты S.M.A.R.T условно можно разделить на две группы: параметры, отражающие процесс изнашивания (старения) диска и текущие параметры (например, параметры производительности).

Каждый атрибут имеет идентификатор, тип (критический, показатель производительности, счетчик ошибок, счетчик событий), текущее значение, пороговое значение (если текущее меньше порогового — начинайте искать новый диск), самое низкое, зафиксированное, значение атрибута. Описание каждого атрибута можно посмотреть здесь.

На этом теоретическая часть заканчивается, перейдем к практике. Напишем программу, которая будет считывать и отображать атрибуты S.M.A.R.T. Скачать готовую программу с исходниками можно здесь.
Читать дальше →
Total votes 55: ↑45 and ↓10+35
Comments43

QIWI терминалы. Тёмная сторона Луны

Reading time15 min
Views211K
Шёл 2013-й год. Я тихо занимался ремонтом компьютеров в сельской местности. Гоняя чаи и закусывая сезоном очередного сериала. Как-то раз мой начальник предложил заняться платёжными терминалами. Ему их практически даром отдавал знакомый предприниматель, плюс предлагал устанавливать в его же магазинах на безвозмездной основе. Они, кстати, там же и стояли, просто их хозяину надоело с ними возиться.

Вначале я был против них, нужно будет мотаться, попу отрывать от теплого кресла. Да и вообще, я считал возни будет много, а прибыли ноль. Так как они выгодны только владельцам магазинов для привлечения клиентов. А шеф грезил о миллионах, он уже несколько раз видел, как из них достают толстенные пачки денег. Сказал, что внутри там то же железо, что и на обычных компах, и тот же Windows.
— Ты же можешь это делать.
— Ну да.
— Ну и всё тогда, зарплату отдельно будешь получать.

Возразить было нечего, к тому же у меня уже был опыт поддержки подобной системы Windows XP, VPN, файло-помойка, плюс один удаленный клиент на wi-fi, где было важно, чтобы компьютер всегда был включен и доступен.
Читать дальше →
Total votes 196: ↑143 and ↓53+90
Comments177

Lock-free структуры данных. Concurrent maps: skip list

Reading time6 min
Views31K

В предыдущих статьях (раз, два) мы рассматривали классический hash map с хеш-таблицей и списком коллизий. Был построен lock-free ordered list, который послужил нам основой для lock-free hash map.
К сожалению, списки характеризуются линейной сложностью поиска O(N), где N — число элементов в списке, так что наш алгоритм lock-free ordered list сам по себе представляет небольшой интерес при больших N.
Или все же представляет?..
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments8

Lock-free структуры данных. Основы: Атомарность и атомарные примитивы

Reading time15 min
Views107K

Построение lock-free структур данных зиждется на двух китах – атомарных операциях и способах упорядочения доступа к памяти. В этой статье речь пойдет об атомарности и атомарных примитивах.

Анонс. Спасибо за теплый прием Начал! Вижу, что тема lock-free интересна хабрасообществу, это меня радует. Я планировал построить цикл по академическому принципу, плавно переходя от основ к алгоритмам, попутно иллюстрируя текст кодом из libcds. Но часть читателей требует зрелищ не мешкая показать, как пользоваться библиотекой, особо не рассусоливая. Я согласен, в этом есть свой резон. В конечном счете, и мне не так интересно, что там внутри boost, — опишите, как его применять! Поэтому свой эпический цикл я разделю на три части: Основы, Внутри и Извне. Каждая статья эпопеи будет относится к одной из частей. В Основах будет рассказываться о низкоуровневых вещах, вплоть до строения современных процессоров; это часть для почемучек вроде меня. Внутри будет освещать интересные алгоритмы и подходы в мире lock-free, — это скорее теория о том, как реализовать lock-free структуру данных, libcds будет неисчерпаемым источником C++ кода. В Извне будут статьи о практике применения libcds, — программные решения, советы и FAQ. Извне будет питаться вашими вопросами/замечаниями/предложениями, дорогие хабражители.

А пока я судорожно готовлю начало Извне, — первая часть Основ. Статья во многом не о C++ (хотя и о нем тоже) и даже не о lock-free (хотя без atomic lock-free алгоритмы неработоспособны), а о реализации атомарных примитивов в современных процессорах и о базовых проблемах, возникающих при использовании таких примитивов.
Атомарность — это первый круг ада низкий уровень из двух.
Читать дальше →
Total votes 119: ↑116 and ↓3+113
Comments37

Как REST-архитектура влияет на скорость и надежность работы сайта

Reading time3 min
Views48K
В основе REST-архитектуры лежит несколько важных базовых принципов, которые часто упускаются из вида начинающими программистами. Между тем, эти принципы имеют критическое значение для скорости и надежности работы веб-сайта. В некотором смысле REST — это архитектура, концентрирующаяся на совместимости и эффективном взаимодействии с другими узлами сети и клиентским ПО. Для них веб-сайт — черный ящик, реализующий HTTP интерфейс.

Унифицированный программный интерфейс


Ключевой момент: совместимость с HTTP-методами в плане безопасности и идемпотентности.

Безопасный запрос — это запрос, который не меняет состояние приложения.

Идемпотентный запрос — это запрос, эффект которого от многократного выполнения равен эффекту от однократного выполнения.
Читать дальше →
Total votes 29: ↑22 and ↓7+15
Comments31

Архитектура умного дома — с Black Swift и не только

Reading time7 min
Views37K
Привет, Хабр!

Если раньше мы смотрели на проекты «умного дома» с интересом, но несколько со стороны, то сейчас, после выхода Black Swift в публичное поле, нам самим стали приходить вопросы и предложения по использованию его в качестве базы для «умного дома» — и естественно, я не мог не уделить отдельное внимание этой теме.

Результат меня расстроил, и я хотел бы поговорить об этом.

Проекты «умного дома» сейчас рождаются (и умирают) как грибы — но, к сожалению, в большинстве случаев они обусловлены не осознанием недостатков уже существующих решений, а самим фактом наличия технологических платформ, на которых что-то такое можно построить. Это хорошо видно по Хабру: по мере популяризации того или иного решения проходит волна очередных «беспроводных розеток» на нём. Так было с NRF24LE1, сейчас такая же волна идёт с ESP8266. Некоторые многообещающие проекты за свою жизнь успевают поменять по две-три платформы — в зависимости от текущей моды и наличия под рукой кого-нибудь, кто может на одной из них что-нибудь спаять.

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

Я пока не буду трогать какие-то серьёзные проблемы «умных домов», а поговорю о том, почему и какие технологии стоит рассматривать в качестве основы — чтобы не объяснять в комментариях в пятидесятый раз, почему я не считаю встраивание Wi-Fi в каждую розетку ни необходимым, ни разумным решением.

Ах да, чуть не забыл КДПВ. Вот:



Она не про «умный дом», а про то, что Black Swift можно найти на MWC на стенде Imagination Technologies. А теперь давайте про «умный дом».
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments177

Получен доступ к диагностической консоли iPhone

Reading time2 min
Views51K
Разъем Lightning, представленный Apple вместе с выходом 5 айфона заменил собой привычный 30-пиновый коннектор. Появление нового коннектора ознаменовало конец эры свободного подключения к устройствам. В старом разъеме звук, видео, данные, питание передавались по отдельным пинам и не было проблемы с использованием неоригинальных кабелей. В новом разъеме появился отдельный чип отвечающий за оригинальность происхождения аксессуара, а также его тип (USB-HOST, USB-DEVICE, SERIAL, POWER-ONLY).



Продолжительное время протокол оставался загадкой. Недавно его удалось взломать французскому исследователю Рамтину Амину (Ramtin Amin). Ему удалось получить доступ к последовательной консоли (serial console) через разъем Lightning. Вероятно это станет новым направлением по поиску и эксплуатации уязвимостей.
Читать дальше →
Total votes 81: ↑77 and ↓4+73
Comments31

Человек залез на 8-метровую стеклянную стену с помощью устройства, сделанного по образцу лапки геккона

Reading time2 min
Views120K
Тропические ящерицы гекконы обладают уникальным строением лапок, которое позволяет им бегать по стенам и потолкам из любого материала так же легко, как по поверхности земли. Цель программы Z-man агентства DARPA — создать альпинистское оборудование, основанное на тех же принципах, по которым работает лапка геккона. 5 июня DARPA доложило о первом значительном успехе этой программы — человек, чья масса вместе с полезным грузом составила 122 кг, поднялся и спустился по отвесной стеклянной стене высотой 7,6 метра. Для военных эта технология ценна тем, что значительно расширяет возможности солдат, особенно в условиях городского боя. В мирной жизни всё разнообразие применений такого «суперскотча», который намертво прилипает к любой поверхности и в то же время легко отрывается, не оставляя следов, трудно даже вообразить.

Учёные очень долго не могли раскрыть секрет гекконов. На их лапках нет ни желёз, вырабатывающих клейкие вещества, ни присосок, ни коготков. Они свободно бегают как по шершавым, так и по абсолютно гладким поверхностям. Они легко удерживают вес всего своего тела на одной лапке. Геккон может прилеплять и отлеплять лапку до 15 раз в секунду.
Читать дальше →
Total votes 78: ↑72 and ↓6+66
Comments68

Невозможная задача

Reading time5 min
Views3K

Случалось ли Вам когда-нибудь работать над невозможной задачей? Не над просто трудной, скучной или длительной, а над реально невозможной? Помните ли Вы свои ощущения?
Начинается обычно всё не так уж плохо: начальство просто выдаёт очередную задачу. Это уже не первая Ваша задача, за плечами уже есть пару законченных проектов и ничто, на первый взгляд, не вызывает страха. Звучит задача странновато, но ведь Вы еще глубоко не вникали, да и начальство ведь — не дураки, так что Вы киваете головой и идете разбираться.
Читать дальше →
Total votes 178: ↑152 and ↓26+126
Comments67

Заботливое компьютерное кресло

Reading time8 min
Views254K
   Выбор нового компьютерного кресла у меня начался с того, что неприятность случилась с предыдущим – в крестовине ножки появилась большая трещина, из-за которой пневмопатрон с хрустом ушел в пол и заклинил, прилично исцарапав весь ламинат.

image

   Насчет ламината меня быстро успокоили – оказывается, были случаи, когда пневмопатрон выходил через верх, делая больно беспечному владельцу вплоть до летального исхода )
Читать дальше →
Total votes 279: ↑210 and ↓69+141
Comments379

Разработка привлекательных реалистичных пользовательских интерфейсов

Reading time4 min
Views15K
Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
Читать дальше →
Total votes 212: ↑205 and ↓7+198
Comments49

Делаем загрузочно-установочную флешку

Reading time2 min
Views773K
После поста о восстановлении флешек, оказалось, что у многих теперь есть рабочие, бесхозные флешки, которые обязательно нужно задействовать. Почему бы не сделать из них загрузочные флешки с дистрибутивами необходимых ОС? Это может здорово пригодиться при установке/переустановке операционных систем на нетбуки, где отсутствуют приводы оптических носителей. А иногда может даже ускорить процесс установки и сделать его намного тише на компьютере, где привод есть.
Хотя на Хабре уже описывались варианты создания загрузочных флешек, но вариант, который предлагаю я — слишком прост и по своему универсален, чтобы обойти его стороной.

image
Читать дальше →
Total votes 161: ↑142 and ↓19+123
Comments54

Nokia Qt SDK, пишем первое приложение и запускаем его в эмуляторе и на устройстве

Reading time9 min
Views17K
Доброго времени суток хабрапользователи. Продолжаю писать о платформе Maemo (пока еще для Maemo Fremantle). Эта статья посвящена новости в мире Nokia — выход Nokia Qt SDK. Пока еще это TP (Technical Preview, долго силил перевод на русский, не получилось, так что пуст будет «TP» далее по тексту). Но писать на этом уже можно, но есть несколько оговорок. Подробности далее по порядку. Еще я расскажу подробней о MADDE, так как именно эта часть в Nokia Qt SDK отвечает за разработку для Maemo.

image

Как результат мы напишем приложение (очень громко сказано :-), вообще так, приложенице ), соберем и запустим его на эмуляторе и на устройстве ( точнее на Nokia N900 ). Да и вообще разберемся что чем и как писать для устройств Nokia сейчас и в будущем.

Ну если интересно, то приступим.
Total votes 66: ↑59 and ↓7+52
Comments24

iDongle: Аппаратный Jailbreak

Reading time1 min
Views965
iDongleМолодой французский инженер-электронщик Renaud приобрел себе залоченный iPhone 3Gs за $600. Как оказалось, iPhone имел новый bootrom, а значит для него, как и для iPod Touch 3-го поколения, был возможен только tethered jailbreak. Фактически, вы пользуетесь телефоном, однако после перезагрузки он превращается в тыкву кирпич.

Обладая всем набором необходимых знаний, парень решил соорудить аппаратный jailbreak, т.е. грубо говоря, небольшой микроконтроллер, который будет выступать как USB host, и при подключении к iPhone/iPod будет инициировать процедуру jailbreak'а с помощью эксплоита usb_control_msg(0x21, 2) для iBoot.

Идея не нова и приходила в голову многим, однако талантливый гик ее даже реализовал!
iDongle

Читать дальше →
Total votes 97: ↑95 and ↓2+93
Comments54

Qt Lighthouse + Android = android-lighthouse

Reading time2 min
Views7K

Lighthouse


Начато портирование Qt Lighthouse на Android. Порт пока что далеко не полный, но QtCore, QtNetwork, QtXml, QtSvg, QtSql уже работают достаточно хорошо. Дальше у автора по планам улучшение QtGui и QtMultimedia.

Вот видео с эмулятора, на которых показаны некоторые примеры из поставки Qt: Wiggly, Animated Tiles, Elastic Nodes, Tooltips.
Читать дальше →
Total votes 43: ↑37 and ↓6+31
Comments25

Где брать электронные компоненты

Reading time2 min
Views1.7K
Данный пост не является рекламным, я ни каким боком не отношусь к компании Farnell.
Хотелось бы поделиться с Хабрсообществом очень хорошим поставщиком электронных компонентов.
Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments54

Вожделенный Nexus One за ~$620 в Украине/России или как не платить перекупщикам

Reading time4 min
Views4.2K
Что делать если хочеться заполучить вожделенный Nexus one, но не хочется переплачивать 200-300 баксов перекупщикам?
image
Есть варианты, как купить телефон напрямую от Google и получить его домой примерно за $620 USD
Читать дальше →
Total votes 125: ↑92 and ↓33+59
Comments111

Как отметить день программиста на работе и сделать всех довольными?

Reading time10 min
Views67K
Всем привет! Хотела бы поделиться своим опытом организации праздника в честь «дня программиста» (и не только) на работе и в рабочее время. В отличии от других праздников, таких как Новый год, 23 февраля и 8 марта, день программиста мало кто официально отмечает на работе. В современном мире, где очень много IT компаний, труд программистов для мира IT трудно переоценить. И не только для него. Благодаря [-им-]нам работают сайты и мобильные приложения, работают внутренние интранет ресурсы, CRM и CMS системы и много чего еще.

Так же стоит отметить, что на прошедшей неделе, 9 сентября, прошел еще и день тестировщика. Т. е. на неделе аж целых 2 важных IT-события. В современной жизни в большой IT-компании, где пишется код энтерпрайз уровня, работа специалистов QA отдела ценится не меньше работы программистов, чей результат тестируется. Работа тестировщиков стоит на страже качества программных продуктов, бережёт нервы пользователей и делает весь наш мир чуть-чуть более упорядоченным и логичным, а клиентов довольными.

А еще в июле проходил день системного администратора, который так же не все отмечают на официальном уровне.
Читать дальше →
Total votes 54: ↑43 and ↓11+32
Comments8

Information

Rating
Does not participate
Location
Красногорск, Москва и Московская обл., Россия
Date of birth
Registered
Activity