Search
Write a publication
Pull to refresh
47
0
Boris Nagaev @starius

User

Send message

Лексикон Хабра

Reading time3 min
Views18K
Данный пост является продолжением вот этого исследования хабраюзера Muxto о наиболее часто встречающихся словах в статьях и комментариях Хабра. Как, впрочем, заметили многие, топ-10 и даже топ-50, полученный Muxto, не изобилует собственно ИТ-терминами, их там вообще нет: «в» (107 735), «и» (106 420), «на» (103 084), «с» (93 453), «не» (91 591), «что» (88 488) и т.д.

Следующим очевидным шагом было выявить термины, наиболее значимо отклоняющиеся от среднестатистических в русском языке. Получив «добро» у автора первой части исследования и обсудив некоторые математические вопросы с хабрапользователем Trept, я приступил к следующим мероприятиям.
Читать дальше →

Учимся писать в информационном стиле

Reading time2 min
Views106K
По работе я пишу тексты: посты на хабр, email-рассылку, статьи в СМИ. Пишу уже пару лет, последние полгода не меньше двух текстов в неделю. Значительным шагом в развитии моего навыка письма было открытие для себя информационного стиля и советов Максима Ильяхова.

Цель текста в информационном стиле — донести информацию до читателя. Информационный стиль: лаконичный, однозначный, точный и объективный. В информационных текстах нет лишних слов, эмоций, личного мнения. Они читаются легко и быстро.

Максим вводит понятие стоп-слов. Стоп-слова не характерны для текстов в информационном стиле и если вы встретили его — задумайтесь и перефразируйте это место. Стоп-слова это «кстати», междометия, модальные глаголы, отглагольные существительные и другие, всего около 100.

В какой-то момент мне стало сложно искать эти слова в текстах, поэтому я создал себе в помощь Test The Text. Test The Text выделяет в тексте слова нехарактерные для информационного стиля и объясняет почему.


Читать дальше →

Как безопасно читать Хабр на работе с помощью наших экранов защиты информации

Reading time5 min
Views146K
Добрый день, уважаемые хабрапользователи!

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



Мы разберем актуальность проблемы с подсматриванием и расскажем как реализовали технологию с технической стороны.
P.S. Больше никаких TM и .
Читать дальше →

Немножко анонимен

Reading time5 min
Views232K
Обсуждение анонимности нужно начинать не со слов прокси/тор/впн, а с определения задачи: анонимно подключиться к чужому серверу по SSH это одно, анонимно поднять свой веб-сайт это другое, анонимно работать в инете это третье, etc. — и все эти задачи решаются по-разному. Эта статья о задаче «анонимно работать в интернете как пользователь».

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

Во-первых, нужно адекватно оценивать потенциального противника. Если вы хотите быть «анонимным», значит вы пытаетесь избежать возможности связывания вашей активности в интернете с вашим физическим расположением и/или настоящим именем. Обычные пользователи и так не имеют возможности вас отслеживать (технически, социальные методы когда по вашему нику на форуме легко гуглится ваш аккаунт в соц.сетях со всеми личными данными мы здесь не рассматриваем). Ваш провайдер/соседи могут иметь возможность прослушать большую часть вашего трафика, но, как правило, вы им не интересны (да, соседи могут украсть ваши пароли, но заниматься отслеживанием вашей активности или вашей деанонимизацией они не станут). Что же касается владельцев используемых вами ресурсов (веб-сайтов, прокси/vpn-серверов, etc.) то у них в распоряжении множество средств по отслеживаю вас (DNS-leaks, Flash/Java-плагины, баннерные сети, «отпечатки браузера», множество разных видов кук, etc.) плюс серьёзный коммерческий интерес к тому, чтобы надёжно вас отслеживать (для таргетирования рекламы, продажи данных, etc.). Ну а правительство и спец.службы могут получить доступ и к данным, которые на вас собирают веб-сайты, и к данным, которые собирают провайдеры. Таким образом получается, что те, кто имеют возможность и желание вас отслеживать — имеют доступ к большинству возможных каналов утечки.

Во-вторых, каналов утечки информации очень и очень много. И они очень разнообразны (от внезапно отключившегося VPN до получения реального IP через Flash/Java-плагины браузера или отправки серийника на свой сервер каким-нить приложением при попытке обновления). Более того, регулярно обнаруживаются (и создаются) новые. Поэтому попытка блокировать каждый из них в индивидуальном порядке, уникальными для каждого методами, просто не имеет смысла, всё-равно что-то где-то протечёт.

В-третьих, при «работе в интернете» используется не только браузер — большинство пользуются так же IM, торрентами, почтой, SSH, FTP, IRC… при этом часто информация передаваемая по этим каналам пересекается и позволяет их связать между собой (.torrent-файл скачанный с сайта под вашим аккаунтом грузится в torrent клиент, ссылка пришедшая в письме/IM/IRC открывается в браузере, etc.). Добавьте сюда то, что ваша ОС и приложения тоже регулярно лазят в инет по своим делам, передавая при этом кучу деанонимизирующей вас информации…

Из всего этого логически следует то, что пытаться добавить «немножко анонимности» путём использования браузера со встроенным Tor, или настройкой торрент-клиента на работу через SOCKS — нет смысла. Большинство вас не сможет отследить и без этих мер, а тех, кто имеет возможности и желание вас отследить эти меры не остановят (максимум — немного усложнят/замедлят их работу).
Читать дальше →

Ущербно-ориентированное программирование

Reading time6 min
Views89K
Ущербно-ориентированное программирование — это набор подходов, поощряющий повторное использование кода и гарантирующий долгосрочное использование производимого программистами кода в боевых системах. Количество строк кода является повсеместно применяемым показателем значимости приложения, а количество строк, которые программист пишет за рабочий день — полезная метрика, применяемая при планировании проектов и распределении ресурсов. Ущербно-ориентированное программирование — это один из наиболее эффективных способов получить наиболее объемный исходник в кратчайшие сроки.

Ущербный — имеющий изъян, неполноценный. Вредный, недостаточный.

Наследование


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

3 режима команды git reset: --soft, --mixed(по умолчанию), --hard

Reading time2 min
Views295K
К моему удивлению на целом хабрахабре нет ни одного поста где бы было понятно написано про 3 вида git reset. Например, во второй по релевантности статье по запросу «git reset» автор пишет что «данное действие может быть двух видов: мягкого(soft reset) и жесткого(hard reset)». Режим --mixed, используемый по умолчанию, почему-то не удостоился упоминания.

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

Список бесплатных DNS-сервисов

Reading time2 min
Views297K
Обновляю 4-летний список бесплатных сервисов для управления доменами

Primary + Secondary
Сервис Кол-во NS Кол-во доменов Типы записей TTL Доп. фичи
pdd.yandex.ru 2 50 AAAA и SRV + Есть API
cloudflare.com 2 неограниченное AAAA, SRV, SPF, LOC +
2ns.info 4 неограниченное AAAA и SRV + Есть экспорт. Показывает регистратора, дату регистрации домена, дату окончания регистрации, тИЦ. By leonid239
dns.he.net 5 50 все + NS доступны по IPv6. Свой DDNS-сервис
www.netbreeze.net/dns 3 1 AAAA и SRV + Есть API
entrydns.net 3 неограниченное AAAA и SRV + Есть свой DDNS-сервис, REST-api
Читать дальше →

Кража пароля от Gmail аккаунта

Reading time1 min
Views102K
image
Позавчера, Oren Hafif, известный багхантер, обнаружил уязвимость в Gmail. Точнее говоря, не одну уязвимость, а целую цепочку, которая позволяет угнать пароль от аккаунта.
Рассмотрим реализацию

USB-кондом. Зловреды через USB

Reading time3 min
Views57K
При подключении переносного диска, таблета или смартфона через USB, например для зарядки, существует ненулевая вероятность, что устройство будет заражено вредоносным ПО. Многие, зная что система спросит подтверждения для связи с компьютером, даже не задумываясь, заряжают свой смартфон где угодно. Но очень не многие знают, что аппаратная часть, отвечающая за связь, тоже имеет лазейки. Иногда это «бэкдоры» специально оставленные производителем для отладки или восстановления устройств, иногда это просто уязвимость в протоколе, программной или железной составляющей системы.

Например, в определенных кругах упорно курсируют слухи (имхо пока совершенно ничем не подтвержденные), что для рутового доступа (неограниченный доступ к устройству) к некоторым моделям, например от Samsung, с Android на борту, достаточно определенным набором сигналов «постучатся» по USB.

Но известны и реальные подтверждения взлома смартфонов — на конференции Black Hat 2013 проходящей в Вегасе специалист по безопасности Billy Lau успешно продемонстрировал взлом iPhone, когда телефон подключенный для зарядки по USB к его мини-компьютеру сам сделал звонок. В принципе он мог бы установить на телефон любую программу (не из Apple Store), которая могла бы себя глубоко интегрировать в операционную систему устройства и например позволяла бы отслеживать действия пользователя на смартфоне (набор на клавиатуре, в том числе пароля), его местоположение (GPS координаты), снимать и отсылать скриншоты экрана и т.д.
Читать дальше →

Интернет с иммунитетом или почему бог не играет в лего

Reading time12 min
Views58K
Большинство программистов учатся постоянно. Мы читаем книги гуру и смотрим код профессионалов. И спорим какой метод лучше и какое решение красивее.
Но представим себе что есть суперпрофессионал, код которого нам удалось посмотреть. Чему мы можем научиться у него? И какие выводы мы сможем сделать?
image
Итак — искусственные иммунные системы.
Читать дальше →

Основные зарубежные сборники аниме-картинок отключены Роскомнадзором

Reading time3 min
Views81K
В сáмом начале месяца (1 ноября) я упоминал на Хабрахабре о закрытии доступа к «Sankaku Complex» Роскомнадзором, а veam в комментариях прибавил, что несколькими днями ранее того был закрыт доступ и ко крупной доске картинок — к Gelbooru.

Сейчас я вынужден прибавить к этому не менее печальную новость. Все читатели, из России собравшиеся посетить другой крупный сборник аниме-картинок — сайт Danbooru, на идее которого Gelbooru был изначально основан — вот ужé несколько дней принуждены наблюдать сообщение о блокировке:

[скриншот]

В твиттере ещё одного значительного сборника аниме-картинок (Yande.re, название которого происходит от японского слова «ヤンデレ», означающего безумную и смертоносную влюблённую) позавчера была опубликована новость о том, что домогательства Роскомнадзора, обращённые к их провайдеру, поневоле привели к решению самостоятельно блокировать доступ для всех российских читателей сайта. И действительно можно видеть «403 Forbidden» от nginx.

Читать дальше →

Анонимный чат TorChat и его улучшение

Reading time14 min
Views78K
TorChat

TorChat — это анонимный кроссплатформенный мессенджер, использующий сеть Tor и шифрующий переписку. В данной статье рассмотрен протокол, используемый TorChat, и улучшения, внесённые в реализацию TorChat на Python.
Читать дальше →

Внутриканальные наушники: все о них

Reading time16 min
Views296K

1. Что такое IEMs?


Внутриканальные наушники (англ. In-Ear-Canalphone), еще именуемые как затычки, реже ухо-мониторы или (правильное) IEMs (в дальнейшем в статье будет именно это название, т.к. оно очень лаконичное и нравится автору) — это наушники, внешне очень похожие на вкладыши, но разработанные для максимальной звукоизоляции ушного канала слушателя. Ее (звукоизоляцию) еще называют, звуковая «герметизация», — она имеет две функции: блокировка лишних шумов и формирование звуковой площади (камеры) для достижения полноты звучания. Создает такую герметизацию насадка, надетая на сопло наушника и вложенная в переднюю часть ушного канала. Существуют также наушники, где насадка создана по слепкам ушей владельца, — они называются (у русскоговорящей аудитории) кастомами (англ. Custom molded earplugs), — подобные вещи служат для достижения максимального качества звука и комфорта от прослушивания.

Почему выбирают IEMs? Из-за высокой портативности, качественного звука и способности к блокировке лишних шумов. Некоторые модели уже давно используют аудио-инженеры; музыканты, выступая на сцене. Затычки (в России это название прижилось больше), являются разновидностью IEMs. Когда производители внутриканальных наушников начали клепать их для общего потребителя (поколение iPod), аббревиатура IEMs стала более популярна (не в России), заменив выражение «затычек».  Техническим языком правильно «затычки» называть — IEMs. Реже аббревиатура IEMs используется для обозначения внутриканальных наушников высокого качества.
Читать дальше →

Асинхронность: назад в будущее

Reading time22 min
Views114K

Асинхронность… Услышав это слово, у программистов начинают блестеть глаза, дыхание становится поверхностным, руки начинают трястись, голос — заикаться, мозг начинает рисовать многочисленные уровни абстракции… У менеджеров округляются глаза, звуки становятся нечленораздельными, руки сжимаются в кулаки, а голос переходит на обертона… Единственное, что их объединяет — это учащенный пульс. Только причины этого различны: программисты рвутся в бой, а менеджеры пытаются заглянуть в хрустальный шар и осознать риски, начинают судорожно придумывать причины увеличения сроков в разы… И уже потом, когда большая часть кода написана, программисты начинают осознавать и познавать всю горечь асинхронности, проводя бесконечные ночи в дебаггере, отчаянно пытаясь понять, что же все-таки происходит…

Именно такую картину рисует мое воспаленное воображение при слове “асинхронность”. Конечно, все это слишком эмоционально и не всегда правда. Ведь так?.. Возможны варианты. Некоторые скажут, что “при правильном подходе все будет работать хорошо”. Однако это можно сказать всегда и везде при всяком удобном и не удобном случае. Но лучше от этого не становится, баги не исправляются, а бессонница не проходит.

Так что же такое асинхронность? Почему она так привлекательна? А главное: что с ней не так?
Назад в будущее...

Как понять ассемблер для AVR

Reading time4 min
Views105K
Всем добрый вечер! Веду свою трансляцию из уютного мира, который называется «ассемблер». Сразу поясню что тема касается микроконтроллеров AVR — и я пока ещё не знаю, пригодится ли этот пост тем, кто хочет использовать ассемблер для любой другой задачи. Дело в том, что я буквально несколько дней назад начал учить ассемблер с нуля — нужно сделать одно устройство — и я решил сделать в нём всё самостоятельно. Так вот — в один прекрасный день понял, что учить ассемблер абсолютно бесполезно! Ассемблер можно только понять! То есть всем тем, кто хочет программировать на ассемблере я настоятельно рекомендую детально вникнуть в то, каким образом ФИЗИЧЕСКИ работает микроконтроллер, а затем уже изучать тонкости команд.
Так вот, я пожалуй начну небольшой цикл статей, в которых буду с самого начала рассказывать как именно я понял те или иные вещи в программировании на ассемблере — думаю для тех, кто вообще не понимает что такое асм я буду как раз таким «переводчиком» с языка тех, кто в этом деле очень хорошо шарит.
Читать дальше →

Обзор новых возможностей С++14: Часть 1

Reading time10 min
Views141K
В апреле в Бристоле прошла встреча комитета С++, на которой были рассмотрены первые предложения по внесению изменений в новый стандарт С++14. Все рассматриваемые в этой статье изменения были одобрены на этой встрече и уже занимают свое почетное место в последней версии черновика нового стандарта (N3690 от 15 мая 2013).

Краткий перечень:
  • Автоматическое определение типа возвращаемого значения для обычных функций
  • Обобщенная инициализация захваченных переменных лямбд с поддержкой захвата-по-перемещению
  • Обобщенные (полиморфные) лямбда-выражения
  • Упрощенные ограничения на создание constexpr функций
  • Шаблоны переменных
  • exchange
  • make_unique
  • Обособленные строки
  • Пользовательские литералы для типов стандартной библиотеки
  • optional
  • shared_mutex и shared_lock
  • dynarray

Читать дальше →

«Универсальные» ссылки в C++11 или T&& не всегда означает «Rvalue Reference»

Reading time14 min
Views46K
Не так давно Скотт Майерс (англ. Scott Meyers) — эксперт по языку программирования C++, автор многих известных книг — опубликовал статью, описывающую подробности использования rvalue ссылок в C++11.
На Хабре эта тема еще не поднималась, и как мне кажется, статья будет интересна сообществу.
Оригинал статьи: «Universal References in C++11—Scott Meyers»

«Универсальные» ссылки в C++11


T&& не всегда означает “Rvalue Reference”

Автор: Scott Meyers

Возможно, наиболее важным нововведением в C++11 являются rvalue ссылки. Они служат тем фундаментом, на котором строятся «семантика переноса (англ. move semantics)» и «perfect forwarding». (Вы можете ознакомится с основами данных механизмов в обзоре Thomas’а Becker’а).

Синтаксически rvalue ссылки объявляются также, как и «нормальные» ссылки (теперь называемые lvalue ссылками), за исключением того, что вы используете два амперсанда вместо одного. Таким образом, эта функция принимает параметр типа rvalue-reference-to-Widget:
void f(Widget&& param);

Учитывая, что rvalue ссылки объявляются с помощью “&&”, было бы разумно предположить, что присутствие “&&” в объявлении типа указывает на rvalue ссылку. Но это не так:
Widget&& var1 = someWidget;         // здесь “&&” означает rvalue ссылку

auto&& var2 = var1;                 // здесь “&&” НЕ означает rvalue ссылку

template<typename T>
void f(std::vector<T>&& param);     // здесь “&&” означает rvalue ссылку

template<typename T>
void f(T&& param);                  // здесь “&&” НЕ означает rvalue ссылку
Читать дальше →

Apple поместила скрытое предупреждение в официальный отчёт

Reading time1 min
Views109K
Американский закон The Patriot Act предусматривает, что власти могут направить интернет-компании секретный ордер на слежку за пользователем. При этом часть 215 закона предусматривает, что компания не имеет права разглашать факт существования такого ордера.

Это ситуация, известная как «уловка 22». К счастью, существует один способ, как компания может элегантно обойти такой запрет. Это так называемое «свидетельство канарейки» (warrant canary), когда передача информации осуществляется через молчание или отрицание.

В опубликованном вчера Transparency Report компания Apple классически продемонстрировала этот способ.
Читать дальше →

Использование каскада Хаара для сравнения изображений

Reading time4 min
Views74K
image

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

5 причин учить детей программированию

Reading time1 min
Views195K
Последнее время озабочен темой раннего обучения программированию детей. Увидев неплохую иллюстрацию, решил перевести. Пусть расходится по рунетам, вдруг это подтолкнёт некоторое количество родителей…Иллюстрация: 5 причин учить детей программированию
Читать дальше →

Information

Rating
Does not participate
Registered
Activity