Search
Write a publication
Pull to refresh
2
0

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

Send message

Ну Apple, BLEee

Reading time4 min
Views28K

Компания Apple активно внедряет в массы идею о том, что теперь-то с приватностью данных пользователей их продукции всё в порядке. Но исследователи из Hexway выяснили, что стандартный и активно используемый механизм Bluetooth LE (BLE) позволяет узнать довольно много о твоем айфончике.


Если Bluetooth включен, то любой человек в радиусе действия сигнала может узнать:


  • состояние устройства;
  • информацию о заряде;
  • имя устройства;
  • состояние Wi-Fi;
  • доступность буфера;
  • версию iOS;
  • номер телефона.

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

Лес не сдается технологиям поиска, но инженеры наносят ответный удар

Reading time6 min
Views19K

Фото: «Лиза Алерт».

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

В итоге ни одно решение с компьютерным зрением не прошло в финал конкурса. Но технические эксперты говорили — если бы команды объединили усилия, вместе собрали датасет и обучили на нем алгоритмы, у компьютерного зрения мог быть шанс.

На прошлой неделе, 9 августа поисковый отряд «Лиза Алерт» вместе с «Билайном» объявили о запуске инструмента, который будет искать людей на фотографиях с беспилотников. Мы сходили на пресс-конференцию, приуроченную к запуску, и узнали, как он работает.

Бюджетная водянка для GPU. Знакомство и первый опыт

Reading time5 min
Views38K
Хочу поделиться с Вами, как Я собирал свою первую «бюджетную», местами самодельную, систему водяного охлаждения. Где-то на пути создания встречались неудобства, а где-то удача улыбалась. Я не ожидаю от СВО каких-то чудес и рекордов, а всего лишь хочу немного снизить температуру сильно-греющихся деталей и, разумеется, насладиться процессом ее создания. Также хочу чтобы те, кто тоже захочет собрать водянку сам, обратил внимание на трудности, с которыми я столкнулся и постарался избежать их.

Процессор у меня с заблокированным множителем, обычного дешевого башенного кулера хватает для его обдува, поэтому СВО я начал делать для видеокарты, т.к. её температура в требовательных играх достигала 80 и более градусов цельсия, а даунвольтом я не особо хотел заниматься.

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

Как просто подключить и начать печатать через портативный Bluetooth принтер EPS/POS в приложении Xamarin Android

Reading time2 min
Views4.1K
С чего же мы начнём?

Добавим в проект Nuget пакет для работы с EPS/POS командами. Для этого откройте Package Manager Console и добавьте Zebra.Printer.SDK командой

Install-Package Zebra.Printer.SDK

По сути, не имеет значения какую модель принтера вы используете и кто производитель. Вам нужно убедиться в том, что принтер поддерживает работу с EPS/POS командами (их большинство). В этом случае библиотека сможет работать с ним без проблем.

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

В первую очередь добавим разрешения в файл AndroidManifest.xml:

<manifest ....>
...
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
...
</manifest>
Читать дальше →

Исследование системы магнитной левитации с модальным управлением

Reading time5 min
Views9.7K

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


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


image

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


Однако из-за нелинейных уравнений движения объекта, описывающих его динамику, сложно воспроизводить процесс управления объектом. Речь пойдёт именно про положение (расстояние) объекта относительно нулевой отметки.


Если коротко, то магнитная левитация – это устойчивое положение объекта на определенном расстоянии в гравитационном поле, когда, как правило, ускорение свободного падения компенсируется ускорением объекта, которое создаётся магнитным полем. При этом возникает подъёмная сила.


Магнитная левитация реализуется с помощью диамагнетиков, систем вихревых токов и сверхпроводников, а также с помощью сервомеханизмов.


В текущем материале (под катом) будет рассмотрено модальное управление для линеаризованной системы магнитной левитации, а также реализация модального управления для нелинейной модели системы.

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

Звуковой проектор на «акустических линзах» — разбираемся, как работает технология

Reading time3 min
Views6.5K
Обсуждаем устройство для передачи направленного звука. Оно использует специальные «акустические линзы», а принцип его работы напоминает оптическую систему фотокамеры.

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

Я написал эту статью, ни разу не посмотрев на клавиатуру

Reading time5 min
Views118K
В начале года я почувствовал, что упёрся в потолок как инженер. Вроде бы читаешь толстые книжки, решаешь на работе сложные задачи, на конференциях выступаешь. А всё не то. Поэтому я решил вернуться к корням и по очереди закрыть навыки, которые когда-то в детстве считал базовыми для программиста.

Первой в списке стояла слепая печать, которую давно откладывал. Теперь считаю её необходимой для каждого, для кого код и конфигурация – профессия. Под катом расскажу как перевернулся мой мир, и поделюсь советами как перевернуть ваш. Заодно приглашаю поделиться своими рецептами и мнениями.


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

Усложнение C++ неизбежно. И не только C++

Reading time13 min
Views28K

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


Текста будет много, поэтому тех, кому не жаль своего времени, приглашаю заглянуть под кат.


Язык программирования — это технологичный продукт, но не все так просто


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


Один из самых ярких примеров: цифровая фотография, которая в 1990-х была вообще никакой, но спустя всего 20 лет привела к краху такого монстра XX-го века, как Kodak (который, кстати говоря, первым и сделал прототип цифровой камеры).


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

Mesh VS WiFi: что выбрать для беспроводной связи?

Reading time9 min
Views73K


Когда я еще жил в многоквартирном доме, я сталкивался с проблемой низкой скорости в дальнем от роутера помещении. Ведь у многих роутер стоит в прихожей, куда провайдер дотянул оптику или UTP, и там же был поставлен типовой девайс. Еще хорошо, когда собственник меняет маршрутизатор на свой собственный, а типовые устройства от провайдера – это, как правило, самые бюджетные или простые модели. Ждать от них высокой производительности не стоит — работает и ладно. Но я установил роутер с гигабитными портами, с радиомодулем, поддерживающим работу на частотах 2,4ГГЦ и 5 ГГц. А скорость связи с Интернетом в пределах квартиры и особенно в дальних комнатах была совсем удручающей. Отчасти дело в зашумленном диапазоне 2,4 ГГц, отчасти в угасании и многократном отражении сигнала при прохождении через железобетонные конструкции. И тогда я решил расширить сеть дополнительными устройствами. Возник вопрос: Wi-Fi сеть или Mesh-система? Я решил разобраться, провести тесты и поделиться опытом. Добро пожаловать.
Читать дальше →

iOS 13: Что нужно и чего совершенно не нужно делать при разработке под новую ОС

Reading time8 min
Views14K
С момента выхода iOS 13 вышло бесчисленное количество обзоров, в которых уже рассказано о новых фишках системы для пользователей. Сегодня мы не будем подробно останавливаться на этом, но зато поговорим о том, что меняет iOS 13 для разработчика приложений.

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

Мониторинг доступности хостов на Powershell

Reading time13 min
Views31K
Всем доброго времени суток, хочу поделиться простой инструкцией «Как можно перестать вручную пинговать десяток хостов. Без регистрации и СМС!».

С просторов Интернета

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

Всех кому это может быть полезно любопытно, прошу под кат.

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

Рендеринг кадра Resident Evil 2

Reading time4 min
Views7.5K
image

Общие примечания


Все результаты получены на довольно старой машине (i7 3770+GTX 770), игра запускалась в DirectX 11 со средним качеством. Для анализа использовались RenderDoc и Nsight.

Игра работает на движке Re Engine, ставшем наследником MT Framework — движка предыдущего поколения Capcom R&D. Кроме RE2 он используется в DMC5 и RE7:Biohazard.

Мне не удалось найти в Интернете материалов о RE Engine, поэтому всё в статье основано на догадках (надеюсь, обоснованных). Я рассмотрел примерно 90% структуры кадра и привёл общее описание алгоритмов. Дальнейшее исследование требует большего опыта и времени на реверс-инжиниринг шейдеров.
Читать дальше →

Обзор открытых решений для исправления опечаток

Reading time11 min
Views19K
У каждого пользователя когда-либо были опечатки при написании поисковых запросов. Отсутствие механизмов, которые исправляют опечатки, приводит к выдаче нерелевантных результатов, а то и вовсе к их отсутствию. Поэтому, чтобы поисковая система была более ориентированной на пользователей, в неё встраивают механизмы исправления ошибок.

image alt


Задача исправления опечаток, на первый взгляд, кажется довольно несложной. Но если отталкиваться от разнообразия ошибок, реализация решения может оказаться трудной. В целом, исправление опечаток разделяется на контекстно-независимое и контекстно-зависимое (где учитывается словарное окружение). В первом случае ошибки исправляются для каждого слова в отдельности, во втором – с учетом контекста (например, для фразы «она пошле домой» в контекстно-независимом случае исправление происходит для каждого слова в отдельности, где мы можем получить «она пошел домой», а во втором случае правильное исправление выдаст «она пошла домой»).
Читать дальше →

Обзор эмуляторов терминала

Reading time15 min
Views43K
Пара слов от нашего translate-бюро: обычно все стремятся переводить самые свежие материалы и публикации, и мы не исключение. Но терминалы — это не то, что обновляется раз в неделю. Поэтому мы перевели для вас статью Антуана Бопре, опубликованную весной 2018 года: несмотря на солидный по современным меркам «возраст», на наш взгляд, материал совершенно не потерял актуальности. Кроме того, в оригинале это серия из двух статей, но мы приняли решение объединить их в один большой пост.



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

Сила дженериков в Swift. Часть 2

Reading time6 min
Views18K
Добрый день, друзья. Специально для студентов курса «iOS Разработчик. Продвинутый курс» мы подготовили перевод второй части статьи «Сила дженериков в Swift».





Связанные типы, условия where, сабскрипты и прочее…

В статье «Сила дженериков в Swift. Часть 1» описывались generic-функции, generic-типы и ограничения типа. Если вы новичок, я бы рекомендовала вам для лучшего понимания сначала прочитать первую часть.

При определении протокола иногда полезно объявить один или несколько связанных типов как часть определения. Связанный тип задает имя-заглушку для типа, который используется в качестве части протокола. Фактический тип, используемый для этого связанного типа не будет указан, пока протокол не будет использован. Связанные типы объявляются с помощью ключевого слова associatedtype.
Читать дальше →

Оттенки значений в английском языке: как использовать глаголы Advise, Recommend, Suggest

Reading time3 min
Views13K
image

Английский язык часто воспринимается как нечто не столь сложное, как некоторые другие языки – взять тот же немецкий. Но на самом деле в нем есть достаточное количество трудностей и тонких моментов («Пишется Ливерпуль, а читается Манчестер» ).

Один из них, вызывающий лично у меня большие трудности – это корректное использование близких по значению слов. Например, разобраться в том, когда использовать глаголы advise, recommend и suggest оказалось не так-то просто. Я нашла интересный пост, в котором разобран этот вопрос, и подготовила его адаптированный перевод.
Читать дальше →

TCP против UDP или будущее сетевых протоколов

Reading time27 min
Views179K
Перед каждым сервисом, генерирующим хотя бы 1 Мбит/сек трафика в интернете возникает вопрос: «Как? по TCP или по UDP?» В прикладных областях, в том числе и платформах доставки уже сложились предпочтения и традиции принятия подобных решений.

По идее, если бы, к примеру, однажды один ленивый разработчик не попробовал развернуть свой ML на Python (потому что только его и знал), мир скорее всего никогда не проникся бы такой любовью к презренному «супер-джава-кодерами» языку. А сегодня слабости этого языка в прошлом контексте применения безоговорочно обеспечивают ему первенство в развертывании и запуске многочисленных майнерских А/Б.

Сравнивать можно многое: ARM с Intel, iOS и Android, а Mortal Kombat с Injustice. И нарваться на космический холивар, поэтому вернемся к теме доставки огромных объемов разноформатного контента.

Десять лет назад все были абсолютно уверены, UDP — это что-то про негарантированную доставку. Если нужен надежный протокол — это TCP. И вопреки традициям в этой статье мы будем сравнивать такие, кажущиеся несравнимыми вещи, как TCP и UDP.


Осторожно, под катом 99 иллюстраций и схем и все важные.

Мультиван и маршрутизация на Mikrotik RouterOS

Reading time30 min
Views302K
Адаптировано под ROS6 и ROS7. Редакция от 28.12.2021

Введение


Статья ориентирована на начинающих администраторов Mikrotik RouterOS (далее ROS). В ней рассматривается маршрутизация с резервированием для нескольких не связанных multihomed AS каналов интернет, работающих по протоколу IPv4. Так же есть настройки для обеспечения базовой безопасности. «Автоматическая» балансировка исходящего трафика по каналам в данной статье не описана по причине того, что ее реализация на таких исходных данных — это череда компромиссов и ограничений, требующая отдельного рассмотрения. Инструментарий для «ручной» балансировки в статье содержится и приведенные настройки являются хорошей базой для добавления «автоматической» балансировки, как минимум полудюжиной способов.
Читать дальше →

Подборка @pythonetc, июль 2019

Reading time4 min
Views7.6K

Это двенадцатая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки


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

Information

Rating
Does not participate
Registered
Activity