Pull to refresh
Ворч Ун @sav1812read⁠-⁠only

Разработчик

Send message

12 малоизвестных возможностей CSS

Reading time8 min
Views138K
CSS — не очень сложный язык. Но даже если вы пишете таблицы стилей в течении многих лет, наверняка бывают моменты, когда вы узнаете еще что-нибудь новенькое: свойства или значения, которые вам не доводилось использовать, детали спецификации, о которых вы не имели понятия.

В процессе работы с CSS я постоянно нахожу что-нибудь интересненькое, так что решил написать пост и поделиться своими знаниями с вами. Правда, учитывайте, что не всё, о чем будет рассказано, имеет непосредственное практическое значение, но, на всякий случай, в хозяйстве пригодится.
Читать дальше →

Браузерный мультиплеер без сервера

Reading time3 min
Views20K

Про технологию WebRTC в последнее время пишут много. Она позволяет обеспечить взаимодействие двух клиентов без специализированного сервера между ними, но нужда в сервере отпадает только после установки соединения. А на этапе установки самого соединения некоторые серверные ресурсы все еще нужны. Можно ли избавиться от потребности в сервере? Небольшой эксперимент в этом направлении под катом.
Читать дальше →

Создание робота балансера на arduino

Reading time7 min
Views80K
Мне давно не давало покоя желание рассчитать какой-нибудь достаточно сложный механизм и воплотить его жизнь.
Выбор пал на задачу об обратном маятнике. Итог на видео:


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

DDoS любого сайта с использованием заметок Facebook

Reading time1 min
Views52K
Полтора месяца назад, chr13 обнаружил способ произвести DDoS любого сайта с помощью Google Spreadsheet, а теперь же он применил такой способ в Facebook Notes. И он сработал!

Способ эксплуатации совершенно такой же, как и в Google Spreadsheet:
  1. Сделайте список «уникальных» «картинок»
    <img src=http://targetname/file?r=1></img>
    <img src=http://targetname/file?r=2></img>
    ...
    <img src=http://targetname/file?r=1000></img>
  2. Создайте заметку через m.facebook.com. Сервис обрежет заметку после какой-то фиксированной длины
  3. Создайте несколько таких заметок под одним или несколькими пользователями. Каждая заметка будет делать 1000+ HTTP-запросов
  4. Откройте все заметки одновременно. Указанный сервер получит гору HTTP-трафика. Тысячи запросов уйдут на сервер в течение пары секунд.
Читать дальше →

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

Reading time7 min
Views70K
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, то есть пространства имён для сетей. Суть технологии: над сетевыми интерфейсами создаётся подобие «каталогов», в каждом каталоге может быть несколько сетевых интерфейсов и приложений. Приложение, оказавшееся в заданном сетевом пространстве имён, может использовать (и видит) только те сетевые интерфейсы, которые отнесены к этому пространству.

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

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

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №105 (13 — 19 апреля 2014)

Reading time5 min
Views27K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


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

Опыт выбора и заказа iBeacon

Reading time6 min
Views62K
iBeacon, анонсированная Apple в недавнем прошлом технология микро-навигации и микро-позиционирования. iBeacon представляет собой небольшой (размером с монету) девайс, выполняющий функцию маяка. Конкретнее, транслирует через Bluetooth Low Energy сигнал со своим уникальным идентификатором. Сигнал маяка обнаруживается смартфоном с возможностью определения расстояния до него. Дальность обнаружения в зависимости от модели маяка достигает 50-70 метров. Маяк работает автономно от батарейки, которой хватит от полугода до двух, а то и до трех лет.

Возможные области применения ограничены только фантазией:
  • in-door навигация в торговых центрах, на выставках и конференциях;
  • in-place информация и специальные предложения для посетителей торговых сетей;
  • смартфон — экскурсовод в музеях;
  • смартфон — ключ от квартиры, автомобиля, номера в гостинице или пропуск в офис.

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

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

24-битные I2C датчики давления HP203B и HP206C от Hope Microelectronics

Reading time8 min
Views57K
История началась, когда одна китайская компания по имени Hoperf прислала мне их новые датчики давления, на пробу. В статье описаны основные характеристики сенсоров, фичи, тесты ну и самое главное их результаты в виде графиков и словесных описаний к ним. В конце статьи выложены драйвера для этих датчиков, максимально абстрагированы от аппаратной части.

image

С лева на право: HP206C, HP203B и BMP085 от Bosch для сравнения (в тестах также участвует).
Много картинок..

Распространённые ошибки веб-дизайнеров или как угодить верстальщику

Reading time5 min
Views98K
В этом посте речь пойдет о тех ошибках, которые допускают дизайнеры в макетах, предназначенных для вёрстки. Рассмотрим наиболее часто встречающиеся проблемы, с которыми сталкивается верстальщик при работе с psd-макетами. Если Вы дизайнер, и Вам часто приходится передавать свой дизайн в руки коллег по цеху, то, возможно, этот пост поможет Вам лучше понять, какие неприятности испытывают верстальщики, и избежать некоторых ошибок в будущем, за что коллеги будут Вам очень благодарны.
Читать дальше →

Самодельный кольцевой светодиодный осветитель для видео, фото и макро съемки

Reading time5 min
Views79K
Идея создания подобного девайса у меня в голове блуждала давно, однако макро, без особых усилий, мне удавалось снимать и со вспышками, а для фото кольцевой источник не был особо и нужен, плюс лень, не дающая сделать все заранее, поэтому работы над ним постоянно откладывались, а при появлении некоторой суммы денег переходили в русло поиска по магазинам или на Ибэе за вменяемые деньги, но те, которые мне были нужны либо стоили запредельных денег, либо первое и требовали доработки.

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

Демонстрация возможностей высокоростной обработки IP-пакетов, на примере простого DDOS-фильтра, разработанного на базе фреймворка NETMAP

Reading time8 min
Views21K
Как только я заинтересовался Netmap’ом, меня сразу же стало одолевать любопытство, сколько пакетов в секунду можно будет «выжать» на обычном железе в режиме генерации пакетов и/или в режиме приёма и фильтрации пакетов? С какой производительностью можно будет фильтровать трафик различных, популярных на сегодняшний день атак и какие при этом будут потери пакетов.



Данные, которые показывает автор Netmap Luigi Rizzo весьма впечатляют. Как известно, по опубликованным Luigi тестам, Netmap легко генерирует 14Mpps и позволяет «поднять» поток в 14Mpps из сетевого кабеля в userspace, используя только одном ядро процессора Core i7. Стало интересно применить эту технологию в фильтрах очистки трафика.
Итак, на прошедшей в сентябре выставке InfosecurityRussia 2013 мы представили стенд, на котором по запросу всех желающих генерировали различные атаки и демонстрировали защиту от них, собирая статистику и отрисовывая различные графики Zabbix’ом.
В статье мы сконцентрируемся на некоторых особенностях архитектуры NETMAP, а также показателях скорости обработки пакетов, которые с его помощью получены на «обычном» железе.

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

7 мелочей, поднимающих продажи у нас в интернет-магазине

Reading time4 min
Views96K
Давайте поговорим о социальном доказательстве – самой мощной силе, способствующей продажам. И тем, как это использовать на сайте и в других местах. Сейчас объясню.

Метод 1. Фотографии пользователей с товаром


Кошка «из коробки» не умеет слезать с дерева. Подъём в хардкоде рефлексов, а спуска там нет. Он не жизненно необходим. И она не умеет спускаться — разумеется, пока не увидит, как другая кошка делает это. Стоит один раз понять принцип на примере, и она сможет повторить это сама. Зеркалирование поведения – одна из самых глубоких моделей обучения, поэтому просто грех ей не воспользоваться.

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



За 5 лет работы у нас образовался достаточно большой архив фотографий настолок с играми. Мы их и использовали. Вы можете сделать практически то же самое. Да! Есть нюанс. Если ваши покупатели – дети, то никогда не ставьте фотографии с более младшими «пользователями»: гораздо лучше — постарше. Всё просто. Ребёнок хочет быть похожим на старших и совершенно не хочет – на «малышей».
Читать дальше →

Как в России прессуют бизнесы, имеющие дело с Bitcoin

Reading time2 min
Views99K
Ещё зимой Центральный банк РФ озвучил своё мнение насчёт Bitcoin, назвав криптовалюту «денежным суррогатом». Вслед за ним Генпрокуратура РФ устроила заседание и решила «провести ряд мероприятий». На этой волне закрылись некоторые сервисы, некоторые перестали принимать Bitcoin к оплате, а некоторые Bitcoin-биржи перестали принимать депозиты в рублях.

Прошло время, кто-то уже успел расслабиться. Тем временем, прокуратура и правда начала проводить «мероприятия». Вот какое обращение от прокуратуры вчера получил мой друг, владелец интернет-магазина.
Читать дальше →

Поиск VPS — второй апдейт: аукционы, место для резервных копий, лицензии и отзывы о хостерах

Reading time7 min
Views11K
Всем привет!

Сегодня я хотел бы рассказать о последних обновлениях проекта по поиску виртуальных серверов:




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

Одно из мнений о будущем PHP

Reading time7 min
Views34K


В последнее время в сообществе разработчиков наблюдается весьма оживленное обсуждение всего того, что касается PHP и его будущего. Что радует — большинство подобных разговоров проходят в позитивном ключе. Популярны дискуссии на тему PHP 6 и того, каким он мог бы выглядеть. Народ задает очень много вопросов об HHVM и её роли в будущем языка и сообщества. Так что позвольте и мне поделиться с вами некоторыми своими мыслями по этому поводу.

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

Kenju форк Kendo UI Web (GPL3)

Reading time2 min
Views19K
Несколько дней назад произошло одно важное событие в развитии JS фреймворка Kendo UI от компании Telerik. Они выпустили OpenSource версию продукта, под лицензией Apache v2 — Kendo UI Core. На деле же всё оказалось не так просто и однозначно.

Ранее вся библиотека Kendo UI выпускалась под лицензией GPL v3, что не разрешало использовать её бесплатно в коммерческих продуктах, для коммерческих приложений на основе этой библиотеки была разработана Kendo UI commercial license. Но для OpenSource же эта библиотека была настоящим подарком. Конечно же есть и другие аналогичные библиотеки и у них огромное количество своих поклонников. Плюсами Kendo можно считать:
1) Полная поддержка JQuery
2) Большое количество виджетов, что позволяет обойтись одной JS библиотекой (не считая jquery) в большинстве случаев
3) Качественные и приятные темы оформления
4) Отличная поддержка Twitter Bootstrap. Для kendo даже есть своя тема оформления bootstrap, для одновременной работы с CSS фреймворком.

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

SSD: подвиды и перспективы

Reading time6 min
Views70K

Все помнят, как появились первые действительно массовые SSD продукты. Энтузиазм, рост показателей, красивые десятки тысяч IOPS производительности. Практически идиллия.

Естественно, что для серверного (одиночные компьютеры мы не не рассматриваем) рынка это стало огромным шагом вперед — ведь магнитные носители давно стали узким местом для построения высокопроизводительного решения. Нормой считалось несколько шкафов с дисками, которые в сумме осиливали две-три тысячи IOPS, а тут такая возможность увеличить производительность в сотню и более раз с одного накопителя (по сравнению с SAS 15K).

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

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

YAWNDB — time series база данных

Reading time7 min
Views12K


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

Наиболее простым и наглядным способом представления статистических данных является построение графиков. Существует много специализированных программных решений, предназначенных для анализа статистических данных с последующей визуализацией.Мы стали искать подходящий инструмент; основным требованием при этом была высокая производительность. В результате этих поисков… Впрочем, обо всем по порядку. Начнем с небольшого теоретического вступления.
Читать дальше →

Signed Distance Field или как сделать из растра вектор

Reading time12 min
Views61K
Речь сегодня пойдёт о генерации изображений с картой расстояний (Signed Distance Field). Данный вид изображений примечателен тем, что фактически позволяет получить «векторную» графику на видеоускорителе, причём даром. Одной из первых данный метод растеризации предложила компания Valve в игре Team Fortress 2 для масштабируемых декалей в 2007 году, но до сих пор он не пользуется особой популярностью, хотя позволяет рендерить прекрасного качества шрифты, используя текстуру всего 256х256 точек. Данный метод прекрасно подходит для современных экранов высокой чёткости и позволяет серьёзно сэкономить на текстурах в играх, он не требователен к железу и прекрасно работает на смартфонах.



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

Как же создавать такие изображения? Очень просто, ImageMagick позволяет сделать это одной командой:

convert in.png -filter Jinc -resize 400% -threshold 30% \( +clone -negate -morphology Distance Euclidean -level 50%,-50% \) -morphology Distance Euclidean -compose Plus -composite -level 45%,55% -resize 25% out.png

На этом можно было бы поставить точку, но так полноценного топика не получится. Что ж, под катом — описание быстрого алгоритма расчёта SDF, пример на C++ и немного шейдеров для OpenGL.
Читать дальше →

История о трёх уязвимостях ядра

Reading time6 min
Views16K
Недавно Trustwave, фирма специализирующаяся на информационной безопасности, опубликовала анонс отчёта, в котором критикуется, как Linux-сообщество справляется с уязвимостями. В нём сказано: «Разработчики программного обеспечения сильно разнятся в своей способности реагировать и устранять уязвимости нулевого дня. В этом исследовании показано, что у разработчиков Linux худшее время реагирования: с момента обнаружения уязвимости до выхода патча в среднем проходит почти три года». Вне зависимости от того, насколько вы довольны обновлениями безопасности в Linux, три года — это гораздо больше, чем мы обычно ожидаем. Ваш покорный слуга решил исследовать ситуацию, сконцентрировавшись на двух уязвимостях, которые были включены в отчёт Trustwave и на одной, которой там не было.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity