Pull to refresh
0
max7 @max7read⁠-⁠only

User

Send message

Как повторить сервис anyroom.io в несколько строк JS и без бэкенда

Reading time3 min
Views16K


Месяц назад на Hacker News в топ вышел пост про сервис AnyRoom: простенький бэкенд на Go, который позволяет создавать телефонные конференции. Рейтинг больше ста, обсуждения в комментах, Исходный код на github, подписки по 50 долларов в месяц — в общем, всё как у взрослых. После первого удивления «неужели это кому-то нужно?!?» я немного погуглил «голосовая конференция без регистраций и sms недорого», подивился дороговизне приложений и понял что таки да, нужно. А на Voximplant такую штуку можно собрать за полчаса и десяток строк JavaScript-кода. Кто хочет создать стартап и попиариться на Hacker News? Под катом рассказываю, как.

Как сделать невозможный многогранник: нереальная математика реального мира

Reading time6 min
Views17K

Математика даёт нам точное представление о почти точных ответах


image

Используя плотную бумагу и прозрачную ленту, Крэйг Каплан собирает красивый округлый объект, напоминающей творение Бакминстера Фуллера или модный новый тип футбольного мяча. Он состоит из четырёх правильных додекагонов (12-угольников с одинаковыми углами и сторонами) и 12 декагонов (10-сторонних многогранников) с 28 небольшими проёмами в виде равносторонних треугольников. Есть только одна проблема – эта фигура не может существовать. Такой набор полигонов не совпадёт вершинами, и фигура не закроется.

Модель Каплана работает лишь потому, что когда вы собираете её из бумаги, у вас есть небольшая свобода манёвра. Стороны могут почти незаметно изгибаться. «Запас на ошибку, возникающий из-за работы в реальном мире с бумагой, означает, что те вещи, которые не должны быть возможными, в реальности получаются», – говорит Каплан, специалист по информатике из Университета Ватерлоо в Канаде.
Читать дальше →

Тюнинг сетевого стека Linux для ленивых

Reading time5 min
Views95K

Сетевой стек Linux по умолчанию замечательно работает на десктопах. На серверах с нагрузкой чуть выше средней уже приходится разбираться как всё нужно правильно настраивать. На моей текущей работе этим приходится заниматься едва ли не в промышленных масштабах, так что без автоматизации никуда – объяснять каждому коллеге что и как устроено долго, а заставлять людей читать ≈300 страниц английского текста, перемешанного с кодом на C… Можно и нужно, но результаты будут не через час и не через день. Поэтому я попробовал накидать набор утилит для тюнинга сетевого стека и руководство по их использованию, не уходящее в специфические детали определённых задач, которое при этом остаётся достаточно компактным для того, чтобы его можно было прочитать меньше чем за час и вынести из него хоть какую-то пользу.

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

Telegram и блокировка в РФ: почему чиновники резко изменили отношение к мессенджеру и есть ли смысл его блокировать

Reading time5 min
Views61K


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

Сейчас ситуация еще более усложнилась. Александр Жаров, глава Роскомнадзора, заявил о том, что Telegram будет заблокирован уже через несколько дней в том случае, если Павел Дуров, глава Telegram, проигнорирует требование Роскомнадзора провести мессенджер через процедуру регистрации. Почему чиновники так резко изменили свое мнение относительно Telegram и его статуса в России? Насколько можно понять, одна из основных причин — информация ФСБ о том, что Telegram популярен среди террористов. В частности, представители спецслужбы утверждают, что именно этот мессенджер использовался при подготовке теракта в метро Санкт-Петербурга, пишет «РИА».
Читать дальше →

Как держать 20 тысяч VPN клиентов на серверах за $5

Reading time24 min
Views89K
Месяц назад мы с друзьями сделали бесплатный сервис для обхода блокировок сайтов в Украине Zaborona.Help. За это время сервис стал довольно популярным, аудитория выросла до 20 000 пользователей. Число одновременных подключений в пиковые часы — ≈6 000 клиентов.

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

В статье описываются тонкости настройки OpenVPN для большого числа клиентов, на дешевых VPS.

  • Как выбрать подходящий хостинг. Отличительные черты плохого хостинга. История о том, как мы долго искали и нашли хостинг в России.
  • Почему IPv6 — хорошо. Правильная настройка IPv6-адресов для VPN-клиентов.
  • Изменение конфигурации OpenVPN на лету, без перезапуска сервера и отключения клиентов.
  • Балансировка нагрузки между серверами и процессами OpenVPN
  • Тонкая настройка Linux для большого числа подключений
  • Особенности кривых операционных систем и роутеров пользователей

Наш опыт будет полезен для тех, кто собирается развернуть VPN для личных нужд, и тех, кто хочет создать сервис с большим числом клиентов.
Читать дальше →

Расставляем точки над микросервисами. Секция Avito на РИТ++ 2017 (Видео)

Reading time4 min
Views25K
Вот и подоспели материалы с фестиваля РИТ++ 2017. Мы выступили там с докладами по темам machine learning, front-end и mobile разработки и провели отдельный тематический блок, посвященный микросервисам. Под катом – видеозаписи выступлений на этой секции наших докладчиков и коллег из других компаний. Обязательно загляните, чтобы узнать о подходах к работе с микросервисами и интересных приемах, которые реально использовать для решения ваших задач.


Используем template + constexpr для создания масок регистров периферии микроконтроллера на этапе компиляции (C++14)

Reading time15 min
Views11K

Введение


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

Задача: на основе заданных пользователем данных о том, как должен работать периферийный блок микроконтроллера, получить на этапе компиляции массив масок конфигурации его регистров, которые можно было бы использовать в реальном времени. При этом требуется на этапе компиляции проверить, что все параметры заданные верно (периферия микроконтроллера будет сконфигурирована верна).



Заинтересовавшихся в том, как это можно сделать, прошу под кат.
Читать дальше →

Node.js и cote: простая и удобная разработка микросервисов

Reading time17 min
Views33K
Многие считают, что микросервисы — это очень сложно. На самом же деле, при правильном подходе, это совсем не так.

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

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

Вы неверно измеряете загрузку процессора

Reading time6 min
Views67K
Та метрика, которую мы называем «загрузкой процессора» на самом деле многими людьми понимается не совсем верно. Что же такое «загрузка процессора»? Это то, насколько занят наш процессор? Нет, это не так. Да-да, я говорю о той самой классической загрузке CPU, которую показывают все утилиты анализа производительности — от диспетчера задач Windows до команды top в Linux.

Вот что может означать «процессор загружен сейчас на 90%»? Возможно, вы думаете, что это выглядит как-то так:



А на самом деле это выглядит вот так:



«Работа вхолостую» означает, что процессор способен выполнить некоторые инструкции, но не делает этого, поскольку ожидает чего-то — например, ввода-вывода данных из оперативной памяти. Процентное соотношение реальной и «холостой» работы на рисунке выше — это то, что я вижу изо дня в день в работе реальных приложений на реальных серверах. Есть существенная вероятность, что и ваша программа проводит своё время примерно так же, а вы об этом и не знаете.
Читать дальше →

Культ карго для ИИ: миф о сверхчеловеческом искусственном интеллекте

Reading time18 min
Views36K
image

Я слышал, что в будущем компьютерные ИИ станут настолько умнее нас, что отнимут у нас все рабочие места и ресурсы, а люди вымрут. Так ли это?

Это самый частый вопрос, который мне задают на моих выступлениях по поводу ИИ. Задающие его люди искренне волнуются, и их беспокойство происходит от других людей – экспертов, задающихся тем же самым вопросом. Среди них можно встретить умнейших из живущих сегодня людей – это, к примеру, Стивен Хокинг, Илон Маск, Макс Тегмарк, Сэм Харрис и Билл Гейтс, – и все они верят в возможность такого сценария. На недавней конференции, посвящённой проблемам ИИ, комитет из девяти наиболее сведущих в области ИИ людей согласился, что скорого появления сверхчеловеческого ИИ нам не избежать.

Ubuntu + XRDP + x11RDP терминальный сервер, с поддержкой звука, для серфинга в интернете — пошаговое руководство

Reading time10 min
Views129K
Особенно нетерпеливых отсылаю сразу в конец статьи где будет ссылка на готовый .deb-пакет для установки.

А для всех остальных…

Что это такое и для чего это нужно


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

История номер один. (основано на реальных событиях)


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

Откуда берётся стремление к чрезмерной заботе о детях

Reading time16 min
Views55K
image

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

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

Транслируем видеопоток с веб-страницы по WebRTC на Facebook и YouTube одновременно

Reading time6 min
Views16K
Facebook и YouTube предоставляют сервисы трансляций, которые позволяют вещать Live-видеопотоки на широкую аудиторию зрителей. В этой статье мы расскажем, как захватить видеопоток с веб-страницы по технологии WebRTC и отправить этот видеопоток одновременно в Facebook и на YouTube для прямой трансляции — сразу в два сервиса.
Читать дальше →

MeteorJS, Nginx, mongodb, iptables… продакшен

Reading time15 min
Views15K

Здравствуйте, меня зовут Александр Зеленин, и я веб-разработчик сисадмин.


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


Разворачивать будем на Ubuntu 16, но в целом схема на 99% совпадает и для Debian 8.

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

Несколько строк JS кода для звонка из браузера на мобильный телефон

Reading time6 min
Views17K
Flashphoner.createSession(...).createCall({callee:'+74957718000'}).call();

В этой статье мы расскажем как сделать кнопку для звонка со страницы сайта на мобильный или городской номер телефона.
Читать дальше →

Airbnb: отельная индустрия не дает среднестатистической семье заработать на сдаче жилья

Reading time3 min
Views15K
image

Представители отельного бизнеса сейчас ведут активную борьбу с сервисами краткосрочной аренды жилья. Больше всего усилий традиционные «отельщики» тратят на противостояние с сервисом Airbnb, о чем подробно рассказывалось в этой статье. В США компании, являющиеся частью отельной индустрии, сейчас лоббируют свои интересы, стараясь вводить законодательные ограничения против краткосрочной аренды жилых помещений. И это им удается. По крайней мере, в Нью-Йорке уже запретили сдавать жилье менее, чем на месяц. Нарушителям закона «светит» довольно крупный штраф в несколько тысяч долларов США.

Но отельный бизнес не останавливается на достигнутом: его представители стараются убедить в своей правоте сенаторов, конгрессменов, политиков и чиновников регионального масштаба. В распоряжении у традиционной индустрии многие миллиарды долларов и тесные контакты с власть имущими. Но и Airbnb нельзя назвать слабым игроком. Компания, понимая, к чему идет дело, начала активно противостоять конкурентам, рассказывая в ходе борьбы о собственных действиях и работе своих противников. На днях один из руководителей Airbnb Кристофер Лиан (Christopher Lehane) назвал действия отельеров группы American Hotel and Lodging Association (AHLA) «кампанией против среднего класса».
Читать дальше →

Разбираем квалифицированные сертификаты X.509 в поисках ИНН, СНИЛС и ОГРН

Reading time11 min
Views51K
Разбираем квалифицированные сертификаты X.509 в поисках ИНН, СНИЛС и ОГРН«Коллеги, нам необходимо вести реестр выданных квалифицированных сертификатов с возможностью поиска по ИНН, СНИЛС и ОГРН. Сколько дней нужно для создания парсера сертификатов и первого макета?» — с такого вопроса начальника началась очередная летучка.

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

Когда-то я участвовал в небольшом проекте по моделированию SSL MITM, где отвечал за генерацию ключей и сертификатов для этого самого «человека посередине». Поэтому представлял, что квалифицированный сертификат ключа проверки электронной подписи (далее — квалифицированный сертификат) — это сертификат X.509, для описания внутренней структуры которого используется всеми любимый ASN.1.

Вот только не помнил я, чтобы тогда на глаза попадались эти ИННы, СНИЛСы и ОГРНы. Поэтому ответил более, чем скромно: «Босс, два дня, не меньше!», надеясь выполнить задачку за несколько часов.

Ниже рассказ о том, насколько сильно я ошибся в расчетах, а также готовое решение для парсинга сертификатов X.509 на C# с возможностью извлечения полей и их атрибутов с заданными объектными идентификаторами (OID).
Читать дальше →

Красивые формы для приёма банковских карт с CardInfo.js

Reading time5 min
Views47K

UPD. CardInfo больше не работает. Используйте BinKing.


Гайд по использованию: https://habr.com/ru/post/527796/
Сайт сервиса: https://binkng.io

Всем кто верстал, верстает или будет верстать форму для приёма банковских карт дарю плагин CardInfo.js, с помощью которого можно сверстать вот такую форму:



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


Поиграться с формой можно на демо странице. Код плагина и инструкции по установке на гитхабе.


Под катом:


  • Пара слов о плагине;
  • Про базу банков, и почему их 49, а не 50;
  • Про логотипы банков;
  • Про логотипы типов;
  • Несколько моих вопросов к читателям;
Читать дальше →

«Шо, опять?» или взлом транспортных карт «Ситикард» (Нижний Новгород)

Reading time6 min
Views85K
Спешу предупредить читателей: Данная статья написана только для ознакомления, и ни в коем случае не призывает заниматься подделкой проездных билетов, так как это противоречит статье 327 УК РФ. Автор не несет ответственности за любые неправомерные действия совершенные людьми с использованием информации из данной статьи.

Я обычная девушка, сравнительно недавно работающая в сфере ИТ, не имею знаний в хакинге и взломе. Но вдохновленная статьями на Хабре про взлом транспортных карт «Тройка» и «Подорожник» (которые уже не доступны, авторы Ammonia и antoo), я решила рассказать про свой собственный опыт взлома транспортных карт «Ситикарт», которые действуют в Нижнем Новгороде.



Сразу скажу, я не хакер и не взломщица, а простой фронт-энд разработчик, мои знания по работе с ПК, если отбросить знания во фронт-энд разработке, можно охарактеризовать, как «опытный пользователь».

Я не разрабатывала специальные приложения, как делали это авторы упомянутых статей, а покажу, как доступными средствами можно легко взламывать транспортные карты. Методы взлома известны давно (лет 5-7 точно).

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

Но вернусь к взлому. Итак, обо всем по порядку.
Читать дальше →

Игроки EVE Online испытывают проблемы со входом в игру из-за блокировки РосКомНадзора

Reading time3 min
Views45K

Около двух недель некоторые игроки EVE Online вынуждены наблюдать сообщение об ошибке вместо привычного окна входа в игру

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity