Как стать автором
Обновить
40
@bypasserread⁠-⁠only

Пользователь

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

Не дразните программиста

Время на прочтение4 мин
Количество просмотров168K
Подходит к концу очередная рабочая неделя. Не знаю, как у вас, а у меня эта неделя, что называется, — не задалась. Потрачена куча энергии и нервных клеток, и никакого движения вперед. Переносить стрессовое состояние на выходные мне очень не хочется, поэтому я решил взять короткую паузу и немного развеяться.

Вы устали? Хотите выпустить пар? Вам требуется передышка? Предлагаю вам присоединится ко мне, тем более, что на дворе пятница.
Читать дальше →
Всего голосов 424: ↑394 и ↓30+364
Комментарии126

Памятка пользователям 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

Получаем банковскую карту, находясь за границей

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


Есть несколько вопросов, которые встают перед фрилансерами, использующими кредитки или карты-рассрочки перед выездом за границу. Один из важнейших — это средство хранения денег и платежей. Карты русских банков по ряду причин становятся неудобны при длительном пребывании за границей — например, в случае утери, блокировки и необходимости восстановления. Или, например, при необходимости завести новый счёт в другой валюте — не полетишь же специально в Россию за этим? В последнее время добавились и политические риски. Но в итоге всё сводится к вопросу чисто логистическому: как получить банковскую карту, находясь за пределами родной страны.
Читать дальше →
Всего голосов 94: ↑88 и ↓6+82
Комментарии174

Sysdig — инструмент для диагностики Linux-систем

Время на прочтение16 мин
Количество просмотров50K
Sysdig — инструмент для диагностики Linux-систем

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

Читать дальше →
Всего голосов 65: ↑61 и ↓4+57
Комментарии14

Специалисты IBM открыли новый класс прочных самовосстанавливающихся полимеров

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


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

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

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

Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии8

VM escape: 101

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


В данной статье я попытаюсь рассказать об очевидных (и не очень) методах побега из VMware WorkStation и VirtualBox, а также рассмотрю несколько интересных частных случаев.

VMware WorkStation, VirtualBox (Oracle VM VirtualBox) – программные продукты для виртуализации, позволяющие запустить на компьютере несколько операционных систем одновременно.

Читать дальше →
Всего голосов 92: ↑91 и ↓1+90
Комментарии12

Восстановление девственности акселератора Cyberstorm MK-III для компьютеров Amiga

Время на прочтение2 мин
Количество просмотров19K
Эпиграф

AMIGAA!!11

Вместо предисловия

Коллега Easy John выдал мне для отладки самодельной периферийной платы свою свежеприобретенную A4000 с хорошо известным в узких кругах акселератором Cyberstorm MK-III. Акселератор хорошо известен не только тем, что в нем живет «кадиллак» линейки процессоров семейства 68K — 68060 — но также и скверными проблемами с панелькой этого самого процессора. Панелька там PGA (pin grid array), а запаяна она на пятачки SMD, то есть не в отверстия платы, а к контактным площадкам сверху. Так как плата довольно большая, и в процессе ее установки-снятия, а также добавления-извлечения модулей памяти к ней прикладываются разновообразелые физические нагрузки, то в местах таких interracial, я бы сказал, паек рано или поздно наступает явление, названное в честь известной горы недалеко от Краматорска. (Все, все, больше про Украину не буду)
Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии11

Как отравить кошку? Детективная история со счастливым концом

Время на прочтение3 мин
Количество просмотров55K
Устраивайся поудобнее, мой читатель. Сегодня я расскажу тебе увлекательную историю.

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

Первая мысль после перезагрузки роутера: какой-то шутник решил запустить очередную убер-программу. Ну, или чей-нибудь ноут сошел с ума – тоже бывает. Однако пристальное изучение трафика (netflow, прослушка tcpdump-ом на предмет хитрого бродкаста) ничего не дало. Более того, шторм-контроль на клиентских портах не срабатывал.

А тем временем, роутер, проработавший после ребута едва ли пять минут, снова завис. Прошу заметить, в самый разгар рабочего дня. «К счастью», телефония шла через этот же роутер, и только это спасло нас от воплей огорченных коллег:).
Читать дальше →
Всего голосов 156: ↑142 и ↓14+128
Комментарии93

Дорог ли native метод? «Секретное» расширение JNI

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

Для чего Java-программисты прибегают к native методам? Иногда, чтобы воспользоваться сторонней DLL библиотекой. В других случаях, чтобы ускорить критичный алгоритм за счет оптимизированного кода на C или ассемблере. Например, для обработки потокового медиа, для сжатия, шифрования и т.п.

Но вызов native метода не бесплатен. Порой, накладные расходы на JNI оказываются даже больше, чем выигрыш в производительности. А всё потому, что они включают в себя:
  1. создание stack frame;
  2. перекладывание аргументов в соответствии с ABI;
  3. оборачивание ссылок в JNI хендлы (jobject);
  4. передачу дополнительных аргументов JNIEnv* и jclass;
  5. захват и освобождение монитора, если метод synchronized;
  6. «ленивую» линковку нативной функции;
  7. трассировку входа и выхода из метода;
  8. перевод потока из состояния in_Java в in_native и обратно;
  9. проверку необходимости safepoint;
  10. обработку возможных исключений.

Но зачастую native методы просты: они не бросают исключений, не создают новые объекты в хипе, не обходят стек, не работают с хендлами и не синхронизованы. Можно ли для них не делать лишних действий?

Да, и сегодня я расскажу о недокументированных возможностях HotSpot JVM для ускоренного вызова простых JNI методов. Хотя эта оптимизация появилась еще с первых версий Java 7, что удивительно, о ней еще никто нигде не писал.
Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Комментарии23

Мощный лазер своими руками за один вечер

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

Кратко.


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

Предупреждение!


В статье описано изготовление мощного лазера (300мВт ~ мощность 500 китайских указок), который может нанести вред вашему здоровью и здоровью окружающих! Будьте предельно осторожны! Используйте специальные защитные очки и не направляйте луч лазера на людей и животных!
Читать дальше →
Всего голосов 499: ↑481 и ↓18+463
Комментарии486

Выделенные серверы под водой, буквально!? Перспективы разведения рыб в серверах?!

Время на прочтение9 мин
Количество просмотров110K
Все мы знаем, что вода и электроника — опасное сочетание, но так ли всегда? Способны ли современные технологии изменить это представление?



В этой статье мы рассмотрим возможность, преимущества и недостатки размещения серверов в жидкости и обсудим возможные проблемы эксплуатации. Покажем, как это все может выглядеть на практике и реально работать. А также обсудим вопрос, почему в серверах могут или не могут плавать рыбы :)
Нажмите здесь для подробного изучения и просмотра фоток
Всего голосов 135: ↑111 и ↓24+87
Комментарии229

Spurious Correlations: сервис для «игры» с любыми наборами статистических данных

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


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

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

Однако, многим известно что играть со «средней температурой по больнице» можно как угодно, используя полученные данные для доказательства какой угодно теории. И сервис Spurious Correlations показывает, что это действительно так. К примеру, вы можете видеть, что графики возраста «Мисс Америка» разных лет удивительным образом коррелируют с графиком количества смертей из-за пара и\или разного рода горячих объектов.

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

Виртуальная клавиатура скоро может стать реальной

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


Сегодня мы постоянно находимся онлайн и практически интегрированы в виртуальный мир. Kinnect и Wii позволяют использовать всё наше тело в физическом плане, а Google Glass и аналогичные продукты скоро откроют абсолютно новый мир для всех.

Также вскоре наравне с этими продуктами на рынок будет выпущена совершенно необычная виртуальная клавиатура, созданная исследователями из MDH. Этот новый девайс, используя новейшие технологии, полностью заставит поменять мировоззрение на работу за компьютером или ноутбуком.
Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии65

Чеклист по оптимизации VPS на PHP/Mysql/Nginx

Время на прочтение3 мин
Количество просмотров45K
Как обеспечить более высокую производительность VPS сервера, который работает на Nginx + PHP + Mysql? В этой статье приведен чеклист основных настроек, которые позволят существенно оптимизировать работу сервера. Настройка займет не более 10 минут и не требует ничего, кроме редактирования конфигурационных файлов.
Читать дальше →
Всего голосов 34: ↑17 и ↓170
Комментарии21

Взаимодействие с модемом в ОС Android

Время на прочтение2 мин
Количество просмотров30K
В предыдущей статье я рассказал про то, как устроен слой радиоинтерфейса в ОС Android. Сегодня я расскажу о том, как можно взаимодействовать непосредственно с модемом.
Зачастую бывает, что планшет с 3G модемом не предоставляет возможности позвонить, отправить SMS-сообщение и даже узнать баланс счёта. В этой статье мы будем с этим бороться, а так же увидим как использовать весь функционал, предоставляемый модемом.
Как вы уже знаете, RIL производителя переводит запросы ОС Android в понятный модему виду. Как правило для взаимодействия с модемом используется множество стандартизованных Hayes AT-команд, тем не менее, некоторые производители модемов дополняют стандартный набор AT-команд своими собственными расширениями. Сегодня мы будем работать на уровне между RIL производителя и модемом.

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

Транзакционная память: история и развитие

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

Определение


Параллельное программирование сложно. При использовании систем с общей памятью не обойтись без синхронизации доступа параллельных процессов/потоков к общему ресурсу (памяти). Для этого используются:
  • блокировки (mutex);
  • алгоритмы без блокировки (lockless, lock-free);
  • транзакционная память.


Транзакционная память — технология синхронизации конкурентных потоков. Она упрощает параллельное программирование, выделяя группы инструкций в атомарные транзакции. Конкурентные потоки работают параллельно1, пока не начинают модифицировать один и тот же участок памяти. К примеру, операции добавления узлов в красно-чёрное дерево (анимация в заголовке) способны работать параллельно в нескольких потоках.
Скрытый текст
/* Move item from one list to another */
int move(list *from, list *to) {
    __transaction_atomic {
        node *n = pop(from);
        push(to, n);
    }
}

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

Конспект по веб-безопасности

Время на прочтение3 мин
Количество просмотров65K
Простите, но накипело.
Много шишек уже набито на тему безопасности сайтов. Молодые специалисты, окончившие ВУЗы, хоть и умеют программировать, но в вопросе безопасности сайта наступают на одни и те же грабли.

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


Итак, каким должен быть безопасный сайт?

Читать дальше →
Всего голосов 120: ↑104 и ↓16+88
Комментарии163

Организованный фриланс. Часть 1

Время на прочтение5 мин
Количество просмотров66K
В данной статье я хотел бы поделиться собственным опытом создания компании, не обремененной месторасположением. Лично мы называем это организованный фриланс.

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

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

В-третьих, вся работа выполняется сдельно, существуют премии, бонусы, но не оклады, что заставляет участников команды быть заинтересованными в высоких результатах, в больших объемах работы.
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии30

Восстановление данных с флешек монолит

Время на прочтение2 мин
Количество просмотров136K
Флешки к нам в лабораторию на восстановление данных приносят почти ежедневно. Однако, за последние годы, всё чаще и чаще начали приносить миниатюрные, при разборе которых выясняется особенный конструктив изготовления — Monolith.

image

В кругу ремонтников мы прозвали такое исполнение корпуса «монолит». Из-за того, что микросхема контроллера и микросхема памяти NAND выполненны в «одном флаконе».

Читать дальше →
Всего голосов 197: ↑193 и ↓4+189
Комментарии109

Изолирование приложения с IP-адресом из VPN другой страны на примере Steam

Время на прочтение7 мин
Количество просмотров67K
Abstract: Изоляция приложения на уровне сети использованием network namespaces Линукса. Организация SSH-туннелей.

Традиционно, большая часть статьи будет посвящена теории, а скучные скрипты — в конце статьи. В качестве субъекта для экспериментов будет использоваться Steam, хотя написанное применимо к любому приложению, включая веб-браузеры.

Вместо вступления. Я просто покажу эту картинку:

147%… Что-то мне это напоминает. Впрочем, хабр не для политики.

Цена на игры в Стиме зависит от региона. Регион — от IP'шника. Есть желание иметь цены в рублях, а не в евро.

Для этого мы используем VPN через SSH с использованием tun-устройств, плюс network namespaces для изоляции приложения от всех остальных сетевых устройств.

Network namespaces


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

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

Если у нас есть несколько интерфейсов (один из которых относится к VPN), то нет штатных методов сказать стиму, что надо использовать его, а не eth0/wlan0. Точнее, мы можем «завернуть» весь трафик в VPN, но это не всегда желательно. Как минимум — рост latency и снижение скорости (даже если VPN ведёт на супербыстрый сервер, увеличение latency, оверхед от туннеля и фиксированная ширина локального канала ставят TCP в положение, когда приходится резать скорость). Как максимум — одно дело «покупать через русский VPN», другое дело — пускать туда весь трафик. Меня совсем не прельщает использование VPN для получения защиты роскомнадзором от оппозиции и вольнодумства.

В этих условиях возникает большое желание оставить один на один конкретное приложение и заданный сетевой интерфейс. Один. Сконфигурированный для нужд только этого приложения.

Для решения этой задачи в Linux, уже довольно давно (аж с 2007 года) существует технология, называемая network namespaces, то есть пространства имён для сетей. Суть технологии: над сетевыми интерфейсами создаётся подобие «каталогов», в каждом каталоге может быть несколько сетевых интерфейсов и приложений. Приложение, оказавшееся в заданном сетевом пространстве имён, может использовать (и видит) только те сетевые интерфейсы, которые отнесены к этому пространству.

Картинка ниже поясняет происходящее:

Читать дальше →
Всего голосов 111: ↑105 и ↓6+99
Комментарии84

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность