Плюсы «правильного» виртуального номера

Виртуальные номера давно уже стали стандартным инструментом бизнеса. Однако, в некоторых случаях, например, при размещении частных объявлений, требуются так называемые DEF-номера. Это мобильные номера (в коде 958), которые «приземляются» на вашу АТС. Данные о звонках попадают в CRM. Сегодня мы расскажем о том, какие преимущества есть у виртуального DEF-номеров, и рассмотрим несколько бизнес-сценариев их использования.

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

Далеко ли доедет беспилотный автомобиль? Задай вопрос эксперту Intel



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

Optional: Кот Шрёдингера в Java 8

Представим, что в коробке находятся кот, радиоактивное вещество и колба с синильной кислотой. Вещества так мало, что в течение часа может распасться только один атом. Если в течение часа он распадётся, считыватель разрядится, сработает реле, которое приведёт в действие молоток, который разобьёт колбу, и коту настанет карачун. Поскольку атом может распасться, а может и не распасться, мы не знаем, жив ли кот или уже нет, поэтому он одновременно и жив, и мёртв. Таков мысленный эксперимент, именуемый «Кот Шрёдингера».



Класс Optional обладает схожими свойствами — при написании кода разработчик часто не может знать — будет ли существовать нужный класс на момент исполнения программы или нет, и в таких случаях приходится делать проверки на null. Если такими проверками пренебречь, то рано или поздно (обычно рано) Ваша программа рухнет с NullPointerException. Читать дальше →

В США с бодишопом: ехать или не ехать?

На этот вопрос вы не найдете четкий ответ в этой статье. Я предлагаю вам почву для размышлений на тему компаний-перевозчиков в США.

Что это такое?


Бодишоп — это компания, которая занимается перевозом программистов в ИТ-хабы и «продажей» их труда другой компании. Программист при этом официально числится в компании-бодишопе, но работает на проектом другой компании. «Это же старый добрый аутсорсинг,» – подумаете вы. Но нет, помимо того, что программист работает над проектом другой компании, он еще и физически находится в их офисе. И называется это аутстаффингом.
Дальше я расскажу больше о плюсах и минусах бодишопов для переезжающих по H1B визе и о том, как минусы сделать плюсами. Читать дальше →

Как я чинил интерактивный логин, или Что там в кишках у //chrome/test/ChromeDriver?

Эта статья возникла из-за одной моей ошибки и двух багов — по одному в Chromium Headless и Chrome Driver. В результате пришлось собрать всё это из исходников (в статье есть подробнейшая инструкция), отладить цепочку взаимодействия Selenium<->ChromeDriver<->Chromium в отладчике IntelliJ IDEA и Microsoft Visual Studio, покопаться в Java, C++ и JS.

Статья будет интересна тем, кто хочет понять, чем им грозит переход на Selenium + Headless Chrome и как с этим жить. А также всем, кто просто хочет немного поглумиться над несчастным быдлокодером.

Под катом есть пачка скриншотов (трафик!).

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

Вначале напомню названия участвующих продуктов. Их три штуки:

  • Chromium — это браузер. Небрендированная версия Google Chrome, без автообновлений, анальных следящих зондов, но и без несвободных компонентов типа кодеков.
  • Chromium ChromeDriver — это часть Chromium, которая отвечает за управление им с помощью внешних инструментов.
  • Selenium и его Selenium Chrome Driver — эта штука предоставляет Java API для управления Хромиумом. Джава тут не принципиальна, на JavaScript и Puppeteer было бы то же самое.
  • ...Далее...

Постигаем Си глубже, используя ассемблер. Часть 3

В третьей статье мы продолжим разбирать условия. В прошлый раз мы так и не посмотрели оптимизированные версии if-else.
Читать дальше →

Маршрутизация в socks. Еще один способ

Рассмотрим еще один способ маршрутизации локальной сети через «socks-прокси». В отличии от предыдущего способа с «redsocks», в этом, будет рассмотрена возможность маршрутизации на сетевом уровне (сетевой модели OSI), по средствам пакета «badvpn-tun2socks». Данная статья ориентирована на создание и постоянное использование такого маршрутизатора на базе ОС «Debian stretch». Прежде чем перейти к описанию настройки системы, предоставлю ссылку на бинарники badvpn (может кому-то понадобится). Итак, после скачивания и распаковки пакета, предлагаю сразу создать сервис systemd со следующим содержанием:
cat /etc/systemd/system/tun2socks.service 
[Unit]
Description=Start tun2socks
After=network.target

[Service]
ExecStart=/путь/к/badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080

[Install]
WantedBy=multi-user.target
Здесь, в параметре запуска "--socks-server-addr 127.0.0.1:1080" видно, что «tun2socks» будет направлять запросы по адресу socks-прокси сервера. (К примеру, ssh-tunnel из предыдущего способа). Параметры "--netif-ipaddr 10.0.0.2" и "--netif-netmask 255.255.255.0", отвечают за создание «маршрутизатора tun2socks» с адресом 10.0.0.2, на который будут приходить запросы с виртуального интерфейса, указанного в параметре "--tundev tun0...Далее...

McSema и декомпиляция в исходный код LLVM: реально ли это?

Представьте себе, что есть некая очень полезная программа, но она, например, существует только в версии Windows и только 64 бита. А вам нужно, например, под ARM64 и под другую ОС, соответственно. Причём исходников у вас нет, и достать их невозможно.

image

Что делать? Существует проект MCSema (пост на хабре про mcsema: https://habrahabr.ru/post/232871/). Его создатели (а они на финансировании DARPA, между прочим), обещают сказочные вещи: перевод бинарноков в LLVM IR, оптимизации, семантический анализ кода и т.д. И конечно же, перекомпиляцию на любые архитектуры, которые поддерживает LLVM. Проект опенсорсный (ссылка на гитхаб: https://github.com/trailofbits/mcsema)

А теперь посмотрим, что происходит на самом деле.
Читать дальше →

Защита от DDoS на уровне веб-сервера

Статистика DDoS-атак показывает неизменный рост и смещение вектора с сетевого уровня на уровень приложений.

image

Если у Вас есть небольшой сайт на сервере с минимальными характеристиками, то положить его можно любым вполне легальным средством стресс-тестирования. (Не рекомендую этого никому делать т.к. IP-адрес легко вычисляется и экспериментатор может влететь на возмещение убытка.) Поэтому сайт без защиты от DDoS очень скоро будет выглядеть так же дико, как компьютер с Windows-98 без анивирусника.
Читать дальше →

[Перевод] Новости из мира OpenStreetMap №391 (09.01.2018-15.01.2018)

Обновлённая версия сайта OpenStreetBrowser

Обновлённая версия сайта OpenStreetBrowser снова онлайн1. (© Участники OpenStreetMap CC-BY-SA 2.0)

Карты

  • [1] Стефан (Stephan Bösch-Plepelits) объявил что сайт Openstreetbrowser снова работает. Он просит помочь в создании дополнительных категорий для POI (точек интересов).
  • Праздничные квартиры (тэг tourism=apartment) становятся все более популярными не только в Европе. В базе данных OSM их более 14000 объектов и этим они заслуживают отображения на основном картостиле osm-carto. Отсутствует подходящий значок. Любые идеи или ваш вклад будет приветствоваться.
  • Исследовательская группа в Оксфорде, Англия, рассчитала время поездок в крупные города по всему миру с использованием данных Google Earth Engine и OpenStreetMap. Галереи карт для разных мест были опубликованы в The Guardian...Далее...


Последние посты