Как стать автором
Обновить
0
0
Maxim Nikolenko @mephist

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

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

Личный опыт. Кипр. Мобильный телефон, интернет, wifi и прочие гиковские радости

Время на прочтение3 мин
Количество просмотров65K
Посетил я недавно Кипр, поделюсь опытом.

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

Итак, докладываю.
Первое, не надо пользоваться никаким руомингом. Приготовимся заранее.

Вашу Голосовую симку ровно перед вылетом надо переадресовать на один из сервисов переадресации. Из простых путей дешевле magic.mtt.ru найти сложно — переадресация звонков в Европу на мобильные по 3.99 р в минуту, московский номер в 499 коде 300 р в месяц. Есть и сложный путь, например из скрещивания мегафоновского мультифона, pbxes.com и rynga.com, почитать, например здесь

Если вы хотите перестраховаться, можно купить в московском седьмом континенте сим карту simtravel за 350 рублей с 10 уе на балансе, но нужна она вам будет только позвонить из самолета по дороге в аэропорт родным, что долетел. Ну, или поймать звонок до момента покупки местной симки.
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии53

Все вебморды в одной. virtualhost и proxy_pass в nginx для дома.

Время на прочтение4 мин
Количество просмотров4.2K
В этой статье я хотел бы поделиться опытом, как организовать доступ к Web-интерфейсам различных домашних качалок через один единственный проброшеный наружу порт. Делать будем под винду (на Win32 порту nginx), но точно также можно сделать под unix.

Где это может понадобиться? Очень простой пример, состоящий из двух условий:
— У меня дома стоит СТРИМ, который блокирует входящий 80 порт
— У меня на работе открыты наружу только порты 443, 80, 5190.
— Как итог: я могу достучаться домой только к 2 сервисам, один из которых у меня SSH, и один остается свободным. Задача сводится к тому, чтобы завернуть все WEB-морды в один сайт, ибо замучался я с SSH-туннелингом. Универсального интерфейса, конечно же, не получится, так что их надо логически разделить.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии18

Терминальный сервер на OSX

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


Как выяснилось, серверная версия OSX не содержит такой полезной функции, как терминальные сессии (несколько удаленных подключений с GUI). С другой стороны, несколько пользователей одновременно GUI использовать могут (через Fast User Switching). Сегодня я решил поковырять этот механизм и выжать из него максимум возможного.

вперед, к окошкам!
Всего голосов 47: ↑38 и ↓9+29
Комментарии26

Smart TV — смартфон размером с телевизор

Время на прочтение11 мин
Количество просмотров287K
Один из моих знакомых занимается разработкой ПО для Smart TV. У них на работе есть целый испытательный стенд из разных моделей, которые используются для тестирования приложений. На моё недоумённое «да кому нужно это «смарт тиви», когда можно спокойно подключить компьютер или смартфон к телевизору» он сказал – приходи, сам всё посмотришь, а потом уже будешь спрашивать, кому надо. Глупо было отказываться от такого предложения. Тем более, когда обещают рассказать, как устроено, на чём работает и как для него писать программы. Всех заинтересовавшихся возможностями современных телевизоров – прошу под кат. ;)


Читать дальше →
Всего голосов 41: ↑34 и ↓7+27
Комментарии53

Odroid-X — мощная альтернатива Raspberry Pi

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


Сейчас уже никто не подвергает сомнению успех мини-компьютера Raspberry Pi. Почти сразу же после выхода этого мини ПК в свет, стали появляться новые модели мини-компьютеров, получившие свою долю покупателей. Нечто похожее случилось несколько лет назад и с нетбуками, которых сейчас великое множество. И что интересно, в случае с нетбуками, идея получить небольшое (и главное — недорогое) устройство для работы в Сети и с офисными программами как-то подзабылась. Очень скоро стали появляться нетбуки, стоимость которых превышала стоимость некоторых мощных ноутбуков. Видимо, подобная судьба ждет и мини-компьютеры.

Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии35

Как правильно использовать режимы сглаживания и увеличения частоты видео в ЖК телевизорах при подключении к ПК

Время на прочтение4 мин
Количество просмотров149K
В современных ЖК ТВ средних ценовых диапазонов зачастую присутствует режим расширения частоты до 100-200 Гц за счет технических хитростей восприятия изображения человеком.



Например технологии TrueMotion в телевизорах LG, в samsung — Motion Plus, в philips -Perfect Natural Motion, RealCinema у Panasonic.
Как же их правильно использовать при подключении к ПК?

Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии16

Как выбрать телевизор

Время на прочтение6 мин
Количество просмотров74K
Привет!
Недавно, прочитав статью «Как собрать домашнюю медиа-систему начального уровня? Выбираем телевизор, плеер, аудио» и почитав комментарии к ней, я с удивлением узнал, что большинство хабрачитателей, хоть и держат нос по-ветру и стараются знать обо всех новинках и последних тенденциях, попав в магазин банально не смогут выбрать телевизор и акустику. Я занимаюсь продажей этой техники, а в частности телевизорами, и постараюсь дать пару советов, на что обратить внимание при выборе.
Читать дальше →
Всего голосов 128: ↑109 и ↓19+90
Комментарии213

Проприетарные модемы провайдеров 1/3

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

Введение


За последние 10 лет во Франции произошёл цифровой переворот. Помню как в далёком нулевом покупал 20 часов доступа в Интернет и в основном ждал загрузок страниц. И стоило удовольствие порядка 30 евро.

Затем операторы стали предлагать технологию ADSL и невероятные 512 кб/с, а затем и 1 мб/с. И подключались все через модемы от Sagem и Alcatel, которые брендили провайдеры. Но в 2003 году появился Free, и предложил свой модем, который и вошёл в историю.

Так что же исторического и новенького он предложил? В этой серии статей я и расскажу, а для начала изложу общую ситуацию.
Читать дальше →
Всего голосов 56: ↑42 и ↓14+28
Комментарии136

Список сочетания клавиш для восстановления заводских установок ноутбуков

Время на прочтение1 мин
Количество просмотров514K
Многие владельцы ноутбуков знают, что если их мобильный помощник приобретался с предустановленной ОС, то в 90% случаев на жестком диске есть специальный раздел, предназначенный для хранения образа операционной системы с драйверами и программами. Кто-то удаляет этот раздел сразу, дабы высвободить место, а кто-то даже и не знает о его существовании. А некоторые используют его по назначению. Войти в меню восстановления можно в среде Windows, но если система слетела то, как быть? Восстановить систему при помощи горячих клавиш. Вот мой небольшой списочек этих горячих клавиш.

После включения ноутбука начинаем лихорадочно нажимать:


F3 – MSI;
F4 – Samsung. Под ОС можно через Samsung Recovery Solution III;
Читать дальше →
Всего голосов 58: ↑48 и ↓10+38
Комментарии40

Android. Обзор боевых приложений

Время на прочтение2 мин
Количество просмотров320K
Доброго времени суток!

Наряду со статьей "iPhone: MiTM атака из кармана", родилась почти аналогичная статья про Android.

Мы уже знаем, на что способен iPhone. Уступает ли ему Android?

Было рассмотрено около 25 боевых приложений. Хочу предоставить вам результат маленького исследования. Многие приложения даже не запустились, некоторые подвесили телефон намертво, но некоторые даже работали!

Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.

Итак, краткий обзор боевого софта на Android:

Читать дальше →
Всего голосов 255: ↑238 и ↓17+221
Комментарии49

ASN.1 простыми словами (кодирование типа REAL)

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

Введение для Хабра


Приведённый ниже текст является на самом деле первыми двумя главами моей статьи "ASN.1 простыми словами". Так как сама статья достаточно большая по меркам Хабра я решил сначала проверить являются ли знания по кодированию простых типов востребованными на этом ресурсе. В случае положительной реакции аудитории я продолжу публикацию всех остальных глав.


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

Увеличиваем конверсию в форме оплаты с помощью визуального улучшения полей

Время на прочтение4 мин
Количество просмотров14K
В этой статье пойдет речь о повышении конверсии платежных форм. Кстати, выводами, которые в ней представлены пренебрегают до 90% сайтов. Если же учесть изложенные ниже рекомендации, то можно повысить конверсию платежей на несколько десятков процентов. Исследования юзабилити платежных форм показали, что многие пользователи не задумывались о безопасности, пока им не пришлось вводить данные своей кредитной карты. Кроме того, было сделано другое интересное наблюдение: несколько участников исследования высказали свое мнение по поводу отдельных частей платёжной формы как о «надёжных» и «ненадёжных».

Например, одна часть платежной формы, имеющая иконки и значки безопасности, текстовые или прочие усиления защиты воспринималась как более надежная, а вторая, без визуальных знаков, вызывала меньше доверия — несмотря на то, что эти поля были частью одной формы и располагались на одной и той же странице. С технической точки зрения, разумеется, между этими формами нет никакой разницы, так как все поля на HTTPS-странице одинаково зашифрованы. Тем не менее, большинство людей не знают об этом, и считают некоторые части платежной формы более безопасными, а другие – менее безопасными вопреки всякой логике.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии11

Разбираем x.509 сертификат

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

Привет, %username%!

Так уж вышло, что несмотря на относительно неплохое понимание инфраструктуры открытых ключей, содержимое *.crt файлов всегда оставалось для меня полнейшей загадкой.
Нет, не поймите неправильно. Я знаю, что x.509 сертификат содержит информацию о владельце, открытый ключ, сведения об удостоверяющем центре и электронную цифровую подпись. Но при установке очередного сертификата меня всегда мучило любопытство.
Чем отличается идентификатор ключа от отпечатка? Какие данные сертификата подписываются, а какие нет? И что за структура данных позволяет хранить всю эту информацию, сводя избыточность к минимуму.
Но вот наконец-то любопытство перебороло лень и в данном посте я постараюсь описать структуру x.509 сертификатов и ответить на эти и другие вопросы.
Читать дальше →
Всего голосов 79: ↑75 и ↓4+71
Комментарии32

Авторизация клиентов в nginx посредством SSL сертификатов

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

Введение:


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

Поскольку на моём сервере используется nginx, то был установлен модуль SSL
Гугл не выдал ни одного работоспособного howto, но информация в сети есть по частям.

Итак, пошаговое руководство по настройке nginx на авторизацию клиентов через SSL-сертификаты.
Читать дальше →
Всего голосов 41: ↑34 и ↓7+27
Комментарии32

Повторное использование кода в Go на примере

Время на прочтение12 мин
Количество просмотров19K
image «Пойду поищу готовое решение в Google»

В процессе работы над любым программным продуктом разработчик может столкнуться с проблемой заимствования чужого кода. Происходит это постоянно. С каждым годом, вместе с развитием социальных сетей для разработчиков, процесс становится всё более естественным и гладким. Забыли, как вытащить из файла все слова? Нет проблем, идём на Stack Overflow и получаем готовый сниппет. Для особо запущенных случаев есть даже плагин для Sublime Text, который по хоткею ищет выделенный текст на SO и вставляет кусок кода из принятого ответа прямо в редактор. Такой подход ведёт к ряду проблем…
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии23

Пишем веб-эмулятор терминала на Go, используя Websocket

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

Что будем писать


В прошлой статье мы писали простенький эмулятор терминала на PHP. Я думаю, теперь время написать что-нибудь более серьезное, на вебсокетах. Какой язык использовать для работы с вебсокетами..? Питон..? Руби..? JavaScript..? Нет! Раз уж зарелизился Go 1, давайте на нём и напишем ;). Я постараюсь не повторяться и не писать сюда целиком код. Я приведу лишь интересные, на моей взгляд, фрагменты.

Демо


Спасибо пользователю Aleks_ja за возможность посмотреть эмулятор терминала в действии (нужен браузер с последней версией вебсокетов — например это Firefox 11 или последний Chrome). С первого раза оно может не подключиться, если демон не успеет стартовать за 100 мс — попробуйте сначала обновить страницу.



Исходный код веб-терминала доступен на гитхабе. Компилировать вебсокет-демон необходимо самостоятельно (командой go build) — это небольшая мера защиты от тех, кто любит «повзламывать» хостеров ;).
Читать дальше →
Всего голосов 38: ↑30 и ↓8+22
Комментарии40

Auto-Triggered или «незаметный» VPN

Время на прочтение5 мин
Количество просмотров26K
Периодически мне необходимо подключаться через VPN к моей домашней сети. Чаще всего для проведения демонстраций во время выступлений или проведения тренингов. Реже, чтобы достать определенные файлы или «посмотреть», что там с дочкиным планшетом. Подключаюсь либо с рабочего компьютера, либо со своего планшета. И там, и там Windows 8.1, а в этой версии появилась очень интересная возможность – автоматически срабатывающий (Auto-Triggered) VPN.
Читать дальше →
Всего голосов 37: ↑29 и ↓8+21
Комментарии17

Поднимаем VPN-туннель из мира домой в обход NAT

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

Хочу рассказать вам про то как имея в интернете свой VPS-сервер можно поднять туннель в домашнюю сеть. И не платить при этом за статический IP провайдеру, и даже находясь за NAT, все равно сделать доступными в интернете свои домашние сервисы.
Читать дальше →
Всего голосов 44: ↑31 и ↓13+18
Комментарии27

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

Время на прочтение7 мин
Количество просмотров68K
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

Классы в lua, или избавляемся от двоеточия

Время на прочтение4 мин
Количество просмотров29K
Как всем известно, в lua нет как таковых классов и объектов. Однако есть метатаблицы и синтаксический сахар.
С помощью указанных механизмов достаточно просто реализовать подобие классов.
В итоге и получается нечто такое:
Самый простой класс
local MyClass = {} -- the table representing the class, which will double as the metatable for the instances
MyClass.__index = MyClass -- failed table lookups on the instances should fallback to the class table, to get methods

-- syntax equivalent to "MyClass.new = function..."
function MyClass.new(init)
  local self = setmetatable({}, MyClass)
  self.value = init
  return self
end

function MyClass.set_value(self, newval)
  self.value = newval
end

function MyClass.get_value(self)
  return self.value
end

local i = MyClass.new(5)
-- tbl:name(arg) is a shortcut for tbl.name(tbl, arg), except tbl is evaluated only once
print(i:get_value()) --> 5
i:set_value(6)
print(i:get_value()) --> 6

(взято с lua-users.org/wiki/ObjectOrientationTutorial)

Всё это конечно хорошо, даже при определённой сноровке можно реализовать наследование…
Но где public и private члены класса? Дефакто в этом примере они все public. Да ещё и надо помнить, где использовать двоеточие:
MyClass:myFunc()

а где просто одну точку:
MyClass.myOtherFunc()

А статические члены класса? Неужели придётся отказываться?
Вот я и не захотел отказываться, и начал колхозить...
Всего голосов 10: ↑5 и ↓50
Комментарии13

Информация

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