Как стать автором
Обновить
0
0
Кирилл Березин @Offenso

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

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

Tinkoff скомпрометировал данные о балансе карт своих клиентов

Время на прочтение3 мин
Количество просмотров142K
UPD3: Уязвимость закрыли, баланс больше не проверяется.

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

Заполняю себе спокойно поля, и тут случается неожиданное:


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

Писать скрипты для Mikrotik RouterOS — это просто

Время на прочтение6 мин
Количество просмотров224K
RouterOS — сетевая операционная система на базе Linux. Данная операционная система предназначена для установки на аппаратные маршрутизаторы Mikrotik RouterBoard. Также данная система может быть установлена на ПК (или виртуальную машину), превращая его в маршрутизатор. Изначально довольно богатая функционалом ОС нет нет да и удивит отсутствием какой-нибудь нужной фишки из коробки. К сожалению, доступ к Linux-окружению очень сильно ограничен, поэтому, «это есть под Linux» абсолютно не равнозначно «это есть в RouterOS». Но не надо отчаиваться! Эта система предоставляет несколько возможностей для расширения своего функционала. Первая — самая простая и нативная — это возможность писать скрипты на встроенном языке.
В данной статье, в качестве примера будет рассмотрен скрипт, преобразующий DNS-имена в списки IP-адресов (address lists).
Зачем он может быть нужен? Многие сайты используют Round Robin DNS для распределения нагрузки (а некоторые и не только для этого). Чтобы управлять доступом к такому сайту (создать правило маршрутизации или фаервола) нам потребуются все IP-адреса, соответствующие этому доменному имени. Более того список IP-адресов по истечении времени жизни данной DNS-записи (в данном случае речь идёт об A-записи) может быть выдан абсолютно новый, поэтому информацию придётся периодически обновлять. К сожалению в RouterOS нельзя создать правило
блокировать все TCP соединения на порт 80 по адресу example.com
на месте example.com должен быть IP-адрес, но как мы уже поняли, example.com соответствует не один, а несколько IP-адресов. Чтобы избавить нас от мучения создания и поддержки кучи однотипных правил, разработчики RouterOS дали возможность создавать правило так:
блокировать все TCP соединения на порт 80 по любому адресу из списка с именем DenyThis
Дело осталось за малым — автоматически формировать этот самый список. Кто ещё не утомился от моей писанины приглашаю под хабракат.
Читать дальше →
Всего голосов 29: ↑20 и ↓9+11
Комментарии67

Как накормить мозг программиста… или feed your brain

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

Введение


Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)


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

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

В данной публикации мы рассмотрим, как правильно питаться для жизнеобеспечения мозга и как его разогнать ноотропами (в случае аврала необходимости).
Читать дальше →
Всего голосов 213: ↑163 и ↓50+113
Комментарии145

200 ТОП CPA сетей для продвижения продуктов

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


Довольно часто возникает вопрос, где, как и какими средствами продвигать свои продукты и решения. Одним из решений данной проблемы выступают CPA сети. CPA — Cost Per Action (англ. цена за действие) — модель оплаты интернет-рекламы, при которой оплачиваются только определенные действия пользователей на сайте рекламодателя.

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

Поскольку, на данный момент, таких сетей довольно много, возникает закономерный вопрос, как правильно подобрать CPA сети в России, Украине, или как оценить зарубежные CPA сети для максимальной отдачи. Задавшись данной цель и была собрана подборка из 200 сетей. Приятного изучения!

P.S. Большое спасибо компаниям HotTelecom, Freeje и Telnum за помощь в создании данной статьи. Отдельная благодарность Дмитрию Булгакову, за терпение и настойчивость.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии12

26 советов начинающим стартаперам от опытного предпринимателя

Время на прочтение11 мин
Количество просмотров94K
*Эта статья впервые была опубликована в журнале Forbes от 27 Июня 2014 года. На Хабре публикуется её полная версия.

Вот уже 9 лет я занимаюсь интернет-бизнесом и за это время успел создать и вывести на прибыльность 5 собственных стартапов. Кроме того, один из основных моих бизнесов – это заказная веб-разработка, куда часто приходят клиенты, которые хотят разработать свой интернет-стартап и поэтому я все 9 лет каждый день сталкиваюсь с разными проектами, многие из которых являются стартапами в полном смысле этого слова.
Читать дальше →
Всего голосов 71: ↑56 и ↓15+41
Комментарии54

Google Drive — all your base are belong to us

Время на прочтение4 мин
Количество просмотров9.9K
Вчера Google презентовала новый сервис Google Drive, вызвавший множество противоречивых мнений — с одной стороны от корпорации давно ждали онлайн-хранилища и сервиса синхронизации/бэкапа, с другой стороны повышение цены на платное хранилище сделало Drive «ещё одним облачным хранилищем». Но поговорим мы не об этом, а о странных условиях использования, которые ныне одинаковые для всех служб Google, в том числе Google Drive.
Читать дальше →
Всего голосов 77: ↑65 и ↓12+53
Комментарии72

Распознавание пульса человека на видео

Время на прочтение1 мин
Количество просмотров18K
В MIT CSAIL и Quanta Research Cambridge разработали видеофильтр, который усиливает незначительные различия между кадрами. Например, видеокамера регистрирует незаметное для глаза изменение цвета кожи из-за притока/оттока крови — пропустив видео через фильтр, мы получаем чёткую визуализацию пульса.



Технология может найти широкое применение в системах видеонаблюдения, системах компьютерного зрения, компьютерных интерфейсах и т.д.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии32

Обзор примера применения обучения с подкреплением с использованием TensorFlow

Время на прочтение21 мин
Количество просмотров46K
КПДВ. В Karpathy game играет нейронная сеть

Всем привет!
Я думаю, что многие слышали о Google DeepMind. О том как они обучают программы играть в игры Atari лучше человека. Сегодня я хочу представить вам статью о том, как сделать нечто подобное. Данная статья — это обзор идеи и кода примера применения Q-learning, являющегося частным случаем обучения с подкреплением. Пример основан на статье сотрудников Google DeepMind.
За подробностями добро пожаловать под кат
Всего голосов 22: ↑22 и ↓0+22
Комментарии15

Камуфляж против видеонаблюдения

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


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

Каждое действие порождает противодействие, и в последнее время один за другим стали появляться проекты, цель которых — защититься от «всевидящего ока» или хотя бы привлечь внимания общества к проблеме тотального наблюдения.
Читать дальше →
Всего голосов 134: ↑125 и ↓9+116
Комментарии149

Дополненная реальность в России (часть 1)

Время на прочтение3 мин
Количество просмотров7.6K
Несмотря на то, что дополненная реальность еще не вошла в массы, а только пока зарождается в большей степени для корпоративных решений, развивается она быстрыми темпами, в частности и в России. С каждым днем становится все больше конференций по AR в России с участием международных и отечественных компаний. К ним можно отнести AR Conference, MATE, Tech Trends Expo, mixAR.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Octotree: отображение кода на Github в виде дерева

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


Github является незаменимым сайтом, на котором разработчики проводят многие часы. Некоторым хочется добавить удобства в повседневную работу. Расширение Octotree для Firefox/Chrome/Safari делает именно то, чего так не хватало на Github, а именно, отображает исходный код в виде дерева.
Читать дальше →
Всего голосов 110: ↑103 и ↓7+96
Комментарии18

Веб-аналитика с помощью Google Tag Manager

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


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

  • проблема избытка кода Google в коде страниц (отслеживание событий, Google A/B tests, Google Analytics)
  • неудобство управления и слежения за скриптами.
  • постоянная необходимость редактирования шаблонов страниц, для внесения изменений и дополнительных параметров в скрипты.
  • зависимость от релизов на поддоменах (индивидуальный случай). Например, над личным кабинетом работает не один человек, а команда разработки с использованием контроля версии (VSC) и для внесения малейших изменений приходилось ждать очередного релиза.

В данной статье мы рассмотрим решение данных проблем на примере Google Analytics, посредством Диспетчера тегов от Google (Google Tag Manager) и рассмотрим новую модель организации работы со скриптами, для анализа работы сайта с практическими примерами и кучей картинок.
осторожно, много картинок
Всего голосов 1: ↑0 и ↓1-1
Комментарии1

Хуки — это просто

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


Хуки — это технология перехвата вызовов функций в чужих процессах. Хуки, как и любая достаточно мощная технология, могут быть использованы как в благих целях (снифферы, аудио\видеограбберы, расширения функционала закрытого ПО, логирование, багфиксинг) так и со злым умыслом (трояны, кряки, кейлоггеры). О хуках уже не раз писали и на Хабре и не на Хабре. Но вот в чём беда — почему-то каждая статья о хуках буквально со второго абзаца начинает рассказывать о «таблице виртуальных функций», «архитектуре памяти» и предлагает к изучению огромные блоки ассемблерного кода. Известно, что каждая формула в тексте снижает количество читателей вдвое, а уж такие вещи — так и вовсе вчетверо. Поэтому нужна статья, которая расскажет о хуках просто. Под катом нет ассемблера, нет сложных терминов и буквально два десятка строк очень простого кода на С++. Если вы давно хотели изучить хуки, но не знали с чего начать — начните с этой статьи.
Читать дальше →
Всего голосов 94: ↑84 и ↓10+74
Комментарии63

Перехват вызовов API-функций

Время на прочтение11 мин
Количество просмотров74K
— Папа, я бежал за троллейбусом и сэкономил пять копеек!
— Сынок, бежал бы за такси — сэкономил бы пять рублей!


Сегодня я хочу рассказать вам, как сэкономить 10 тысяч долларов. А заодно, что гораздо менее интересно – научить перехватывать вызовы Win32 API функций, и не только. Хотя, в первую очередь – конечно, именно их.
Читать дальше →
Всего голосов 92: ↑88 и ↓4+84
Комментарии72

«У меня есть крутая идея игры» или типичные ошибки молодых разработчиков игр

Время на прочтение7 мин
Количество просмотров89K
Многие молодые разработчики и ребята пока еще не имеющие отношения к геймдеву, часто говорят фразу «У меня есть идея для игры и мы заработаем на ней миллион!». Узнали себя? В этот момент они находятся в необычайном состоянии, когда им кажется, что море по колено и тот заветный миллион у них уже в кармане. На этой волне вдохновения они приступают к началу разработки и даже не задумываются еще о том, что их ждет впереди.

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

image
Читать дальше →
Всего голосов 49: ↑32 и ↓17+15
Комментарии22

Сверхбыстрое распознавание речи без серверов на реальном примере

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

В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
К статье я также прилагаю все исходники программы и саму сборку под Android.

Прикручиваем Pocketsphinx к своему Андроиду
Всего голосов 185: ↑182 и ↓3+179
Комментарии87

BLE стек от TI. Разработка пользовательских приложений

Время на прочтение5 мин
Количество просмотров40K
Привет, Хабр!

После написания предыдущего материала про BLE розетку я познакомился со многими
людьми, которыми интересна тема использования BLE в собственных разработках, но есть определенные
сложности в использовании С-программирования с BLE стеком для СС2541. Использование
внутреннего контроллера дает много преимуществ, в частности: прошивка по воздуху, экономия
на внешнем контроллере, сокращение числа точек пайки…
Я решил разбить материал на две части. Первая – это подготовка к работе, программирование и
отладка. Вторая – создание собственного BLE профиля.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии8

Еще один способ перехвата трафика через ARP Spoofing

Время на прочтение6 мин
Количество просмотров87K
На Хабре было уже много статей на тему классического ARP спуфинга, однако все они были похожи тем, что для полноценного перехвата трафика надо было подменять ARP записи у двух машин. Как правило, это жертва и ее шлюз по умолчанию. Однако, идея спуфить шлюз не всегда хороша. Он вполне может иметь на борту детектор атак, который в два счета доложит админу что сеть ломают и халява кончится, не начавшись. В данной статье будет рассмотрен метод перехвата трафика, при котором атака производится только на хост-жертву. Как обычно в таких случаях, статья чисто для ознакомления, использование во вред карается по закону и т.д.
Под катом много букв.

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

Разработка мобильных приложений: с чего начать

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


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

Читать дальше →
Всего голосов 89: ↑72 и ↓17+55
Комментарии31

Адаптивный и мобильный дизайн с CSS3 Media Queries

Время на прочтение7 мин
Количество просмотров593K
Разрешение экрана в наши дни колеблется от 320px (iPhone) до 2560px (большие мониторы) или даже выше. Пользователи больше не просматривают сайты только на настольных компьютерах. Теперь пользователи используют мобильные телефоны, небольшие ноутбуки, планшетные устройства, такие как iPad или Playbook для доступа в интернет. Поэтому, традиционный дизайн с фиксированной шириной больше не работает. Дизайн должен быть адаптивным. Структура должна автоматически изменяться с учетом всех разрешений дисплеев. Эта статья покажет вам как создавать кросс-браузерный адаптивный дизайн при помощи HTML5 и CSS3 media queries.
Читать дальше →
Всего голосов 91: ↑90 и ↓1+89
Комментарии32

Информация

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