Как стать автором
Обновить
4
0
Антон Самсонов @SamsonovAnton

Неуверенный в себе пользователь ЭВМ

Отправить сообщение

Кручу-верчу, запутать хочу

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров14K

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

Читать далее
Всего голосов 73: ↑72 и ↓1+71
Комментарии16

Импортозамещение на практике. Часть 5. Восхождение на «Эльбрус»

Время на прочтение12 мин
Количество просмотров15K

Не буду повторяться в тысячный раз, что такое отечественное производство микропроцессоров, почему «Эльбрус», а не «Байкал» и т.д. Об этом были написаны уже километры текста. Речь пойдет о другом – почему так трудно перейти на «Эльбрус» и в чем заключаются эти сложности. Ну, помимо стоимости…

Итак, всех заинтересованных импортозамещением – прошу под кат.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии33

Импортозамещение на практике. Часть 3.1. «QP ОС». Первый в своем роде обзор операционной системы

Время на прочтение18 мин
Количество просмотров44K
image
До этого момента обзоров данной ОС не было. Авторы и разработчики хранят свои тайны, и не хотят, чтобы вся их работа утекла в сеть и стала достоянием общественности. В связи с этим, тестирование QP ОС возможно лишь по договору, и, на данный момент времени, только для юр.лиц. Мне предоставили возможность потрогать данную ОС, и написать об этом статью.

Всех интересующихся отечественными разработками ПО — прошу под кат.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии183

Защита и взлом Xbox 360 (Часть 2)

Время на прочтение9 мин
Количество просмотров65K


В прошлый раз мы оставили сцену Xbox 360 на моменте, когда разработчикам стало очевидно, что защита DVD-ROM легко обходится, и с этим точно нужно что-то делать. Попытки исправить ситуацию обновлением ПО самой приставки не увенчались успехом, и на поле битвы вступила компания Philips & Lite-On, DVD-приводы которой с каждой новой моделью становились всё более продвинутыми в плане защиты. Но и методы взлома с каждым разом становились всё более и более изощрёнными. В этой части я расскажу, как в Microsoft пытались исправить ситуацию с нелицензионными дисками, и до каких методов прошивки DVD-привода можно докатиться, когда закрыто буквально всё.
Читать дальше →
Всего голосов 175: ↑175 и ↓0+175
Комментарии79

«Про, да не кластер» или как мы СУБД импортозамещали

Время на прочтение7 мин
Количество просмотров7K
image

(ц) Яндекс.Картинки

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

У нас есть немалый опыт перевода информационных систем с логикой в БД из одной СУБД в другую. В разрезе постановления правительства №1236 от 16.11.2016, часто это перевод с Oracle на Postgresql. Как организовать процесс максимально эффективно и безболезненно — мы можем рассказать отдельно, сегодня мы расскажем об особенностях использования кластера и с какими проблемами можно столкнуться при построении высоконагруженных распределённых систем со сложной логикой в процедурах и функциях.
Читать дальше →
Всего голосов 9: ↑5 и ↓4+1
Комментарии3

Памятка пользователям ssh

Время на прочтение13 мин
Количество просмотров1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Всего голосов 360: ↑352 и ↓8+344
Комментарии148

Эволюция системных вызовов архитектуры x86

Время на прочтение13 мин
Количество просмотров42K

Про системные вызовы уже много было сказано, например здесь или здесь. Наверняка вам уже известно, что системный вызов — это способ вызова функции ядра ОС. Мне же захотелось копнуть глубже и узнать, что особенного в этом системном вызове, какие существуют реализации и какова их производительность на примере архитектуры x86-64. Если вам также интересны ответы на данные вопросы, добро пожаловать под кат.

Читать дальше →
Всего голосов 77: ↑77 и ↓0+77
Комментарии30

Как я написал книгу почти по социнжинирингу

Время на прочтение5 мин
Количество просмотров21K


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

Если коротко – она о том, как рассказывать истории. Точнее даже так: как в работающем бизнесе (или другом проекте) выбрать самые интересные истории, правильно их подать, в полной мере собрать факты и не облажаться потом. Методология построена именно на «не облажаться потом», то есть на проверке фактов и очень спокойной работе без истерических криков. Это продаёт, и этот канал рассказов о своих проектах называется контент-маркетингом (термин появился позже, чем тот же Фёдор из Сыктывкара начал рассказывать про свой книжный бизнес, но раньше, чем он начал печь пиццу). Ещё Евгений Чичваркин с Евросетью живо чувствовал, что нужно что-то такое – но он хотел снимать шоу про работу магазина, чтобы с отжимом поставщиков, собеседованиями, злыми клиентами, инвентаризациями и другими взлётами и падениями.

Я собрал в кучу всё то, что хотел рассказать про то, как писать посты, собирать информацию для них, как убеждать на сайте и прочее-прочее-прочее. Но всё равно много где – психология влияния.
Читать дальше →
Всего голосов 54: ↑51 и ↓3+48
Комментарии124

Сага о Гольфстриме и уровне ИБ в крупной охранной фирме

Время на прочтение10 мин
Количество просмотров38K

Данная публикация носит исключительно информационный характер и призвана обратить внимание руководства крупного российского оператора систем охранной сигнализации "ГОЛЬФСТРИМ Охранные Системы" (далее — ГОЛЬФСТРИМ) на наличие уязвимости информационной системы, ставящей под удар защиту и безопасность граждан, а также федеральных органов исполнительной власти, доверивших защиту своего имущества данной компании.

Читать дальше →
Всего голосов 125: ↑123 и ↓2+121
Комментарии50

Что намазать на зубы, чтобы они не выпали

Время на прочтение8 мин
Количество просмотров193K


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

Немного пробежимся по скучной теме строения зуба и сразу погрузимся в волнующий мир бесчисленных тварей, которые жрут вас заживо, и разнообразных полезных стоматологических пузырьков и тюбиков.

Читать дальше →
Всего голосов 209: ↑206 и ↓3+203
Комментарии693

CRI: у меня для вас плохие новости

Время на прочтение2 мин
Количество просмотров118K
Все, кто разбирался с качеством света светодиодных ламп и все, кто читал мои статьи о светодиодных лампах, знают о таком параметре, как индекс цветопередачи (CRI, он же Ra). Считается, что у качественного света для жилых помещений CRI должен быть не меньше 80.

Недавно я столкнулся с лампой, CRI у которой был вполне приличным — 83.4, но она давала очень неприятный зеленоватый свет.


Я попытался разобраться, что с ней не так.
Читать дальше →
Всего голосов 79: ↑78 и ↓1+77
Комментарии125

Оптимизация кода для платформы Эльбрус на простых примерах

Время на прочтение8 мин
Количество просмотров32K

"Обычно хакер пишет программы не ради выгоды,
а ради собственного удовольствия. Такая программа
может оказаться полезной, а может остаться
всего лишь игрой интеллекта."
Генри С. Уоррен. Алгоритмические трюки для программистов [1]


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


image


Однажды мы с коллегами заинтересовались, как самые простые методы оптимизации работают на Эльбрусе.

Читать дальше →
Всего голосов 42: ↑36 и ↓6+30
Комментарии86

Ловим чужой WiFi на расстоянии 1 км

Время на прочтение8 мин
Количество просмотров325K
image

В прошлой статье мы рассмотрели варианты увеличения зоны покрытия WiFi для роутеров с внешними штыревыми антеннами. Но рассмотрим ситуацию «с другой стороны», в которой встроенный сетевой адаптер ноутбука или ПК плохо видит сеть, в результате чего сигнал WiFi принимается с низким уровнем, а в некоторых случаях, нужная WiFi сеть не видна вовсе. Конечно следует понимать, что встроенный WiFi адаптер не имеет направленной антенны и задачи у него совсем иные, нежели «дальний прием».
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии104

Ваш язык программирования — отстой

Время на прочтение54 мин
Количество просмотров139K
1 Почему JavaScript отстой
• 1.1 Плохая конструкция
• 1.2 Система типов
• 1.3 Плохие функции
• 1.4 Отсутствующие функции
• 1.5 DOM
2 Почему Lua отстой
3 Почему PHP отстой
• 3.1 Исправлено в поддерживаемых в настоящее время версиях
4 Почему Perl 5 отстой
5 Почему Python отстой
• 5.1 Исправлено в Python 3
6 Почему Ruby отстой
7 Почему Flex/ActionScript отстой
8 Почему скриптовые языки отстой
9 Почему C отстой
10 Почему C++ отстой
11 Почему .NET отстой
12 Почему C# отстой
13 Почему VB.NET отстой
15 Почему Objective-C отстой
16 Почему Java отстой
• 16.1 Синтаксис
• 16.2 Исправлено в Java 7 (2011)
• 16.3 Модель
• 16.4 Библиотека
• 16.5 Обсуждение
17 Почему Backbase отстой
18 Почему XML отстой
19 Почему отстой XSLT/XPath
20 Почему CSS отстой
• 20.1 Исправлено в CSS3
21 Почему Scala отстой
22 Почему Haskell отстой
23 Почему Closure отстой
24 Почему Go отстой
• 24.1 Базовые средства программирования (базовый язык)
• 24.2 Взаимосовместимость
• 24.3 Стандартная библиотека
• 24.4 Набор инструментальных средств
• 24.5 Сообщество
25 Почему Rust отстой
• 25.1 Безопасность
• 25.2 Синтаксис
• 25.3 Конструкция API и система типов
• 25.4 Сообщество
• 25.5 Набор инструментальных средств

Почему JavaScript отстой


Учтите, что некоторые положения относятся не к самому JavaScript, а к программным интерфейсам веб-приложений (https://developer.mozilla.org/en/docs/Web/API).

Плохая конструкция

• Каждый скрипт исполняется в едином глобальном пространстве имён, доступ в которое возможен в браузерах с оконным объектом.
• Camel-регистр никуда не годится:

XMLHttpRequest
HTMLHRElement

Читать дальше →
Всего голосов 314: ↑167 и ↓147+20
Комментарии353

Возвращаем драйверам AMD поддержку DirectX12 старыми процессорами

Время на прочтение2 мин
Количество просмотров24K
Обновившись в конце апреля на новые драйвера AMD 16.4.2, я обнаружил, что все DirectX12-приложения перестали работать. Ничуть не удивившись, я решил подождать устранения проблемы и отложил DirectX12 в сторону. Но месяцы шли, а с новыми драйверами ситуация не менялась.
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии35

Четыре способа извлечения значений из скрытых полей в C#

Время на прочтение4 мин
Количество просмотров38K
Добрый день. Не так давно на хабре проскакивала статья, в которой показывалась возможность обращения к закрытым полям объекта из другого экземпляра того же класса.

public class Example
{
  private int JustInt;

  // Some code here

  public void DoSomething(Example example)
  {
    this.JustInt = example.JustInt; // Вполне валидная строка, некоторых удивляет
  }
}

Почему бы не пойти дальше, и не забирать данные из скрытых полей иных классов?
Всего голосов 20: ↑18 и ↓2+16
Комментарии27

SO_TIMESTAMPING в картинках. Прием пакета

Время на прочтение11 мин
Количество просмотров10K

Бывает, что приложению требуется узнать точное время приема или отправки сетевого пакета. Например, для синхронизации часов (см. PTP, NTP) или тестирования задержек в сети (см. RFC2544).


Наивным решением будет запоминать в приложении время сразу после получения пакета от ядра (или перед отправкой ядру):


  recv(sock, buffer, length, flags);
  clock_gettime(CLOCK_REALTIME, timespec);

Ясно, что полученное таким образом время может заметно отличаться от момента, когда пакет был получен сетевым устройством. Для получения более точного времени нужна поддержка от операционной системы, драйвера и/или сетевого устройства.


Начиная с версии 2.6.30 Линукс поддерживает опцию сокета SO_TIMESTAMPING. Она позволяет пользовательскому сокету получать временные метки для отправляемых и принимаемых пакетов. Временные метки могут быть сняты самим ядром, драйвером или сетевым устройством (см. список поддерживающих устройств и драйверов). О том, что это вообще такое и как этим пользоваться, стоит почитать в Documentation/networking/timestamping.txt


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

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии9

Как и какой выбрать мобильный интернет? Декодируем GSM

Время на прочтение6 мин
Количество просмотров58K

В настоящее время огромное количество людей, проживающих в городах и районных центрах, а особенно в удалении от них испытывает сложности с возможностью выбора проводника услуг для качественно использования таких благ цивилизации как цифровое телевиденье, интернет, радио и просто решить, для примера, какого оператора мобильной связи выбрать из возможных для качественной и надежной телефонной связи в данном месте (Мегафон, Билайн, МТС, TELE2 и др.). Как правило в лучшем случае это решается опросом соседей «какую связь используете Вы?» и, полагаясь на их ответ приобретаете необходимую сим карту оператора мобильной связи, а потом сталкиваетесь с тем что не слышно, нет связи, интернета, а как же тогда читать хабр, итд.
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии36

Ассемблер/дизассемблер клавиатурных раскладок Windows с помощью flat assembler

Время на прочтение6 мин
Количество просмотров26K

раскладка


Знакомый линуксоид упрекнул меня, мол, в винде ни переключения языка Caps Lock'ом нет, ни даже раскладку нельзя отредактировать. Посмотрел я, и правда, все раскладки содержатся в файлах C:\Windows\System32\kbd*.dll, и редактировать такое hex-редактором ну никак не назвать удобным.


Как достичь удобства? Для переключения раскладок Caps Lock'ом можно использовать всякие навесные программы, тяжёлые вроде Punto Switcher, или простые вроде lswitch. Для редактирования раскладок есть MSKLC, но он малофункционален и неудобен, а аналоги вроде KbdEdit или KLM32 платные.


И тогда я решил написать на flat assembler'е код, собирающий DLL раскладки.

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии54

ЭЦП стран СНГ на Python

Время на прочтение7 мин
Количество просмотров18K
image
Привет!
Я уже писал на Хабре о своей реализации блочных шифров стран СНГ. Выдалась еще одна свободная неделька в результате чего к симметричным стандартам добавились алгоритмы электронной цифровой подписи: российский ГОСТ 34.10-2012, украинский ДСТУ 4145-2002 и белорусский СТБ 34.101.45-2013.
Все три алгоритма основаны на эллиптических кривых. Но реализация каждого из стандартов имеет свои тонкости, о которых я хочу кратко рассказать в этой статье.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии9

Информация

В рейтинге
4 337-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность