Pull to refresh
-8
0
Send message

Особенности поиска работы в Европе

Reading time14 min
Views82K
Разработчик, с гуманитарным высшим, средним английским (сильный акцент и неправильное произношение), 15 годами опыта в десятке проектов, обремененный семьей – вдруг решил найти работу в Западной Европе.

Потрачено полгода. Пройдено десятки собеседований. В процессе сбора информации выбор целевой страны менялся несколько раз. В данной статье я постарался описать личный опыт, дать советы, которые (надеюсь) будут полезны другим.
Читать дальше →

Взломать 50 000 сетевых принтеров и распечатать произвольный текст? Нет ничего прощеǃ

Reading time4 min
Views29K
29 ноября 2018 года пользователь твиттера под псевдонимом @TheHackerGiraffe «взломал» более 50 000 сетевых принтеров и распечатал на них листовки с призывом подписываться на YouTube-канал некоего PewDiePie. Он говорит, что таким образом хотел способствовать популярности своего кумира, который сейчас сражается за 1-е место по количеству подписчиков на YouTube.

Здесь интересна простота, с которой хакеру удалось получить доступ к 50 000 принтеров. В сессии вопросов и ответов AMA на Reddit хакер раскрыл подробности этого взлома. Оказывается, в нём нет ничего сложного. Более того, в Сети свободно доступны программные инструменты для эксплуатации многих уязвимостей в старых прошивках принтеров. К сожалению, повторить этот фокус может буквально любой желающий.

На иллюстрации: пeчать по raw-порту 9100

Night Sight: как телефоны Pixel видят в темноте

Reading time11 min
Views33K

Слева: iPhone XS (фото в полном разрешении). Справа: Pixel 3 Night Sight (фото в полном разрешении).

Night Sight – новая возможность приложения Pixel Camera, позволяющая делать чёткие и чистые фотографии при очень низком освещении, даже когда света настолько мало, что и ваш глаз мало что видит. Она работает на основной и фронтальной камере всех трёх поколений телефонов Pixel, и ему не требуется штатива или вспышки. В этой статье мы поговорим о том, почему так сложно делать фотографии при плохом освещении, обсудим вычислительную фотографию и технологии машинного обучения, накладываемых на формат HDR+, и позволяющим Night Sight работать.
Читать дальше →

Реальная скорость Wi-Fi (на предприятиях)

Reading time11 min
Views45K
Непрекращающийся хайп вокруг гигабитных скоростей Wi-Fi современных стандартов провоцирует инженеров прояснять эту тему понятным для всех образом.
Что пытаются натянуть за уши маркетологи? Что говорят инженеры? Где же истина?
Как всегда, где-то рядом. Какой пропускной способности ожидать в реальных условиях и почему – вы найдете ответ в этой статье. Если совсем нет времени читать, а хочется знать волшебную цифру – 75 Мбит/c на двухдиапазонную точку доступа, на всех. Кому интересны детали, читайте дальше.


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

Как писать на Objective-C в 2018 году. Часть 1

Reading time10 min
Views28K

Большинство iOS-проектов частично или полностью переходят на Swift. Swift — замечательный язык, и за ним будущее разработки под iOS. Но язык нераздельно связан с инструментарием, а в инструментарии Swift есть недостатки.


В компиляторе Swift по-прежнему находятся баги, которые приводят к его падению или генерации неправильного кода. У Swift нет стабильного ABI. И, что очень важно, проекты на Swift собираются слишком долго.


В связи с этим существующим проектам может быть выгоднее продолжать разработку на Objective-C. А Objective-C уже не тот, что был раньше!


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


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

Ночью спит спокойно мама — мы собираем OpenCV для Raspbian'a

Reading time8 min
Views19K

Последние пару недель были непростыми для нашей команды. Выпускали OpenCV 4, а вместе с ним готовились к Intel's OpenVINO toolkit R4, в состав которого входит OpenCV. Думаешь, отвлекусь на время, посмотрю, как обычно, форумы про OpenCV, да комментарии пользователей, и тут на тебе, модно стало говорить что OpenCV не IoT, что под Raspberry Pi собрать — припоя не хватает, что на ночь make -j2 ставить — утром будет готово, если повезёт.


Поэтому предлагаю дружно взяться за руки и посмотреть, как же можно собирать библиотеку OpenCV для 32-битной операционной системы, исполняемой на ARM процессоре, используя ресурсы машины с 64-битной OS, движимой отличной архитектурой CPU. Колдовство Кросс-компиляция, не иначе!

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

Хороший код до Google не доведет

Reading time5 min
Views25K
Долгое время работая в разных сферах ИТ, мы с исследовательской командой наблюдали все возможные проблемы становления разработчиков и все причины-следствия их дефицита. Нас интересовало: почему программист развивается в senior-специалиста так долго или вовсе им не становится? Откуда неоправданные ожидания с обеих сторон? И главное — что делать разработчику на каждом уровне, чтобы войти в привилегированную касту senior-ов, архитекторов, тимлидов и руководителей?

Мы провели обширное исследование среди программистов и их руководителей. Собрали требования к senior-разработчикам топовых компаний, возможности и пути к развитию до этого уровня, сгенерировали всевозможные инсайты и лайфхаки и трансформировали их в данную статью. Об всем этом и пойдет дальше речь.
image

Senior, who the f… is Alice Senior?


Анализ описания вакансий на hh и требований, которыми поделились руководители в очных беседах, показал — единого подхода к определению уровня senior нет. В одной компании это тот, кто способен сам спроектировать сложный модуль, в другой — подключиться к доработке отдельных решений, в третьей — тот, кто просто круче остальных.
Читать дальше →

Как я чуть не подхватил вирус, пытаясь продать сапоги

Reading time22 min
Views45K


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

Размышляя о судьбе ненужных вещей, я прикидывал, что с ними делать: выкинуть, порезать на тряпки, отдать донашивать младшему брату? Но для одной вещи ни один из этих способов не годился: то были кожаные сапоги 44 размера приличного вида, но порядком мне надоевшие. Их я решил продать на Avito. Загрузил фотографии, указал ненастоящее имя (информационная безопасность же), выставил сапоги, пару других вещей и пошёл спать. Откуда мне было знать, что это обернётся длительным анализом приложения на предмет скрытых угроз?
Читать дальше →

Домашняя электросеть

Reading time12 min
Views43K
Здесь часто возникает тема защиты оборудования в домашней электросети, но очень часть при описании базовых параметров устройств защиты информация не соответствует действительности или же, в лучшем случае, основана на отдельных примерах. Потому далее будет своеобразный ликбез о том, как правильно сделать вводный электрощиток.

Это не столько инструкция, сколько объяснение, что должно быть сделано, так как каждое подключение по сути индивидуально. В любом случае необходима консультация с учетом реальной ситуации.
Читать дальше →

Исследователи побороли наиболее мощные блокировщики рекламы, грядет война форматов

Reading time3 min
Views41K


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

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

Как вызывать методы audio vk

Reading time72 min
Views14K

Как все начиналось:


Дело было вечером, делать было нечего… И я решил полазить по методам vk_api.


Наткнулся на интересный метод «execute».

Получилось отправить себе подарок:

Код
var gift = 813; 
return API.gifts.send(
{
user_ids:API.users.get()[0].id,
gift_id:gift,
guid:API.apps.getRandomInt({max:99999})
});



А дальше мне пришла мысль, что если внутри этого метода можно вызывать методы, которые в официальном API вызывать нельзя, то наверное, можно вызвать метод audio.get.

Результат

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

Мы сделали самый маленький в мире гидроакустический модем

Reading time8 min
Views22K

Приветствую тебя, наш дорогой хаброчитатель!


«Так уменьшились Духи, и чертог
Вмещает неисчетные рои
Просторно.»
(С) Джон Мильтон, Потерянный Рай

Адепты темного кагала подводной связи и навигации денно и нощно трудятся над внесением этой самой подводной связи и навигации в массы, и сегодня один из них, как и обещал, доложит о проделанной работе и достигнутых успехах.



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

Кого взволновала тема — вперед, к гидроакустическому изобилию, под кат!
Читать дальше →

Сможет ли Питон прожевать миллион запросов в секунду?

Reading time6 min
Views37K


Возможно ли с помощью Python обработать миллион запросов в секунду? До недавнего времени это было немыслимо.


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


Python-сообщество в последнее время уделяет много внимания производительности. С помощью CPython 3.6 за счет новой реализации словарей удалось повысить скорость работы интерпретатора. А благодаря новому соглашению о вызове (calling convention) и словарному кэшу CPython 3.7 должен стать еще быстрее.


Для определенного класса задач хорошо подходит PyPy с его JIT-компиляцией. Также можно использовать NumPy, в котором улучшена поддержка расширений на Си. Ожидается, что в этом году PyPy достигнет совместимости с Python 3.5.


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

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

Почему Wi-Fi не будет работать, как планировалось, и зачем знать, каким телефоном пользуется сотрудник

Reading time15 min
Views181K


Привет!

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

Для разминки — небольшая задачка. Представьте себе беспроводную сеть Wi-Fi, состоящую из точки доступа (AP) и двух одинаковых клиентских устройств (STA1 и STA2).

Читаем надписи на коробках:
AP: 1733,3 Мбит/c
STA1, STA2: 866,7 Мбит/c

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

Доступно о кватернионах и их преимуществах

Reading time13 min
Views247K

От переводчика: ровно 175 лет и 3 дня назад были изобретены кватернионы. В честь этой круглой даты я решил подобрать материал, объясняющий эту концепцию понятным языком.

Концепция кватернионов была придумана ирландским математиком сэром Уильямом Роуэном Гамильтоном в понедельник 16 октября 1843 года в Дублине, Ирландия. Гамильтон со своей женой шёл в Ирландскую королевскую академию, и переходя через Королевский канал по мосту Брум Бридж, он сделал потрясающее открытие, которое сразу же нацарапал на камне моста.

$i^2=j^2=k^2=ijk=-1$




Памятная табличка на мосту Брум Бридж через Королевский канал в честь открытия фундаментальной формулы умножения кватернионов.

В этой статье я постараюсь объяснить концепцию кватернионов простым для понимания образом. Я объясню, как можно визуализировать кватернион, а также расскажу о разных операциях, которые можно выполнять с кватернионами. Кроме того, я сравню использование матриц, углов Эйлера и кватернионов, а затем попытаюсь объяснить, когда стоит использовать кватернионы вместо углов Эйлера или матриц, а когда этого делать не нужно.
Читать дальше →

Фиаско. История одной самоделки IoT

Reading time8 min
Views42K
Большинство статей пишется по принципу «Я/мы это сделал/и, глядите как круто!». Эта же публикация посвящается провальному проекту. Добро пожаловать под кат…
Читать дальше →

Микросервисы: размер имеет значение, даже если у вас Kubernetes

Reading time7 min
Views31K
19 сентября в Москве состоялся первый тематический митап HUG (Highload++ User Group), который был посвящён микросервисам. На нём прозвучал доклад «Эксплуатация микросервисов: размер имеет значение, даже если у вас Kubernetes», в котором мы поделились обширным опытом компании «Флант» в области эксплуатации проектов с микросервисной архитектурой. В первую очередь он будет полезен всем разработчикам, задумывающимся о применении этого подхода в своём настоящем или будущем проекте.



Представляем видео с докладом (50 минут, гораздо информативнее статьи), а также основную выжимку из него в текстовом виде.

NB: Видео и презентация доступны также в конце этой публикации.

Ищем быструю универсальную библиотеку для работы с графическими файлами, разбираемся с Google benchmark

Reading time8 min
Views9.3K


В наше время, когда нейронные сети бороздят просторы Big Data, а искусственный интеллект раздумывает, выгодно ли ему получать зарплату за свою работу в Bitcoin, доставшаяся мне задача поиска самой быстрой открытой кросс-платформенной библиотеки для загрузки, сохранения и перекодирования графических файлов выглядела настоящим анахронизмом. Но на самом деле эта задача актуальна как никогда – для всех технологий компьютерного зрения и машинного обучения гигабайты картинок надо обязательно загрузить, а иногда и сохранить промежуточные данные в виде изображений. Так что сделать это самым быстрым способом очень желательно. В этой статье мы найдем искомую библиотеку, а, главное, разберемся с очень полезным продуктом, сильно упрощающим подобные и многие другие задачи — Google Benchmark.
Читать дальше →

Как мы сделали малогабаритный облачный видеорегистратор из обычной IP камеры

Reading time8 min
Views69K


Тема видеонаблюдения встала для меня остро с появлением загородного жилья. На просторах интернета можно найти кучу информации по организации видеонаблюдения. К сожалению большинство вариантов сводилось к покупке готовых комплектов из Китая. От знакомых слышал много критики на этот счёт. Как-то даже сам поучаствовал в настройке оборудования, купленного с Aliexpress. Где-то половина заявленных функций работала не так как заявлено, некоторые опции и вовсе не получилось настроить, хотя регистратор был не из дешёвых. И таких отзывов и мнений было много. Также многие критически относятся к тому, что видеозаписи хранятся на китайских облачных сервисах. И тогда появилась мысль — а что если попробовать сделать свой видеорегистратор с минимальным функционалом? А что? На тот момент я начал плотно увлекаться linux, писал приложения с элементарным функционалом на bash, экспериментировал с web… В принципе всё что нужно для решения поставленной задачи. Сказано — сделано.
Читать дальше →

Без политики. Как навсегда преобразить уличные протесты с помощью мобильного приложения?

Reading time4 min
Views22K
Последние N тысяч лет протестные собрания принципиально не менялись.

Собирается толпа протестующих и начинает что-то скандировать, — как правило короткими ритмичными фразами (толпа не способна на большее). Заводила начинает, толпа подхватывает и понеслось, пока инерция не погаснет или пока лидер не запустит новую кричалку. Получается довольно громко, но невнятно. Случайные прохожие даже не всегда в состоянии понять, чего именно хотят все эти люди? Ну да, «Гитлер — вор», а если конкретнее?

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

Но есть две проблемы.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity