Pull to refresh
0
0
Николай @neocity

User

Send message

MajorDoMo, делаем контроль датчика открытия замка. Голосовые уведомления и создания телефонного оповещения

Level of difficultyMedium
Reading time8 min
Views4.1K
Добрый день, читатели Хабра!

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

Постановка задачи довольно простая: при открытии замка и в случае его не закрытия, через 3 минуты локально уведомлять посредством голосового сообщения через аудиовыход сервера Умного Дома и отправка на голосовые терминалы (в т.ч. и Яндекс станции). В случае, если замок так и не закрыт, то ещё через 2 минуты оповестить простым звонком на телефон с проигрыванием сообщения. Немного усложнил для себя задачу – без всякого стороннего вмешательство в работу телефона (установки дополнительных программ и приложений, глобальных перенастроек смартфона).
Публикация является продолжением моей предыдущей статьи. В ней немного затронем общую информацию о системе домашней автоматизации MajorDoMo, настройках, и создании автоматизаций (сценариев), а так же уведомлений и сообщений «Умного Дома»,
Во второй части, научим систему «Умного Дома» оповещать о критическом событии звонком на телефон (к примеру мобильный). Данную часть, думаю можно реализовать не только в MajorDoMo, но и в любой открытой системе «Умного Дома».
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments3

Так какой же процессор использовался в играх Brick Game?

Level of difficultyMedium
Reading time6 min
Views33K

На это небольшое исследование меня натолкнула опубликованная недавно на Хабре статья, в которой автор предположил, что в знаменитых "Тетрисах" из 90-х мог использоваться 4-битный микроконтроллер Holtek HT1130. Меня сильно удивило (и мотивировало), что, по всей видимости, до сих пор не снят образ ПЗУ и, соответственно, не написан эмулятор для этой линейки игр.

Заглянем под черную каплю компаунда
Total votes 314: ↑314 and ↓0+314
Comments135

Интероперабельность между С++ и Rust

Level of difficultyHard
Reading time13 min
Views8.4K
image

image

Этот пост основан на презентации, с которой автор выступил на конференции EuroRust 2022 в Берлине. Доступны слайды и видеозапись.

Автор, работающий в компании Slint, участвует в создании UI-инструментария, написанного на Rust. Этот UI-инструментарий может использоваться и с другими языками и экосистемами, кроме той, для которой был написан, поэтому в Slint предусмотрены API для C++ и даже для Javascript. Естественно, эти API должны восприниматься как совершенно нативные для разработчиков, имеющих дело с этими языками. Именно поэтому ребром стоит вопрос о том, как создать нативно воспринимаемые API к коду Rust для пользователей, привыкших работать с C++.

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

В этом посте хотелось бы исследовать оба направления интеграции между Rust и C++ и представить некоторые инструменты, используемые в Slint.
Читать дальше →
Total votes 30: ↑28 and ↓2+37
Comments1

Как доработка UX помогла сократить время прохождения сценария заказа еды на 70%. Часть 1

Reading time2 min
Views1.6K

Рынок доставки еды один из самых перспективных в России. В 2020 году произошел глобальный переворот в восприятии онлайн-покупок. То, что прежде воспринималось как прихоть или экстренная мера, теперь стало обыденностью. Если раньше предпочитали посещение ресторанов и приготовление домашних блюд, то сегодня в почете доставка. Уже каждый 10-ый ресторан страны следует этому тренду. Несмотря на кризис в 2022 года, рынок продолжает расти, хоть уже и более спокойными темпами.

Подробнее изучить этот вопрос решили дизайнеры студии Focus.

Читать далее
Total votes 2: ↑1 and ↓10
Comments5

Патчим байт-код для просмотра логов в Android. Подробная инструкция и примеры кода

Reading time8 min
Views3.2K

Привет, Хабр! Меня зовут Саша Лепехин, я разрабатываю мобильное приложение СберИнвестор под Android. Во время разработки и тестирования мобильного приложения мне часто нужно  просматривать логи внутри приложения, причем без подключения по adb.

В принципе, есть множество приложений, которые позволяют просматривать содержимое logcat на устройств. Но с ними часто возникают самые разные проблемы:  такие приложения нуждаются в специальных разрешениях или наличии root доступа, запускают отдельные процессы или сервисы. Или же они могут просто не работать на некоторых устройствах (например, там, где выключен logd). В этой небольшой статье предложено решение большинства подобных проблем. Оно основано на трансформации байт-кода приложения. Поехали!

Читать далее
Total votes 13: ↑12 and ↓1+19
Comments3

YouTubeDrive: хранение файлов на YouTube

Reading time9 min
Views39K


Хостинг неограниченного размера? Звучит как нечто фантастическое и невозможное по законам природы. Примерно как вечный двигатель. Но что, если такое возможно? (не вечный двигатель, конечно, а неограниченный хостинг).

Если подумать, ведь бесплатное хранилище неограниченного размера предоставляют десятки интернет-сервисов, от соцсетей до фотохостингов. Например, ограничение YouTube на размер одного видеоролика — 12 часов или 256 ГБ, но на количество видеороликов ограничений нет.
Читать дальше →
Total votes 59: ↑48 and ↓11+45
Comments112

Вакуум

Reading time27 min
Views4.6K

1

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

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

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

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

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

Читать далее
Total votes 19: ↑11 and ↓8+7
Comments7

Сравнение различных видов ML классификаторов в задаче распознавания сигналов

Reading time7 min
Views4.4K

Задача состоит в классификации гидроакустических сигналов. Сонары (гидролокаторы) посылают звук высокой частоты в определенном направлении и получают отраженную звуковую волну. По характеристике этой волны можно сделать вывод, от чего именно она отразилась – от морской мины или же от подводного камня, скалы. Используемый для решения задачи набор данных был разработан сотрудником аэрокосмического технологического центра Полом Горманом в разгар холодной войны. Для получения данных металлический цилиндр и цилиндрическая горная порода, оба длиной около 1,5 метров, размещались на песчаном дне океана.

Читать далее
Rating0
Comments1

«А вот все эти зубы — к чёртовой матери» — случай пациента

Reading time8 min
Views39K
Одним прекрасным утром мы взяли и удалили пациенту все зубы верхней челюсти. Для него это выглядело примерно как 10 лет мучений, потом пациент потерял сознание и все верхние зубы.

image

Затем проснулся, на часах — плюс четыре часа, во рту все зубы новые (импланты и временная конструкция).

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

Как можно довести зубы до такого состояния? С трудом. Как оказалось, нужно просто наблюдаться у своего единственного врача. У меня есть много гипотез, что же пошло не так, но мы не узнавали эту часть, поэтому давайте остановимся на объективных данных, то есть полученных инструментальными способами.
Читать дальше →
Total votes 74: ↑67 and ↓7+77
Comments65

Языки Data Mining и AI переживают бум

Reading time5 min
Views8.8K

Смартфоны много лет назад стали хитом, а за ними последовали языки программирования мобильных приложений. Достигший пика на третьей позиции Objective-C использовался только для iPhone. Сегодня ту же картину мы видим в Data Mining и искусственном интеллекте: языки программирования в этих областях переживают бум.

Ярчайший пример — Python, отвоевавший вторую позицию у Java. Благодаря этому возродился Fortran, но не только он. Подробности, которыми делимся к старту флагманского курса по Data Science, читайте под катом.

Читать далее
Total votes 16: ↑8 and ↓8+1
Comments4

Пишем дизассемблер виртуальной машины из игры Clock Tower (PS1/PC) для IDA Pro

Reading time16 min
Views6.2K

Всем привет. Тут такое дело: ещё одна моя реверсерская мечта сбылась - я написал процессорный модуль для IDA Pro с нуля, за два дня! Если вы когда-то тоже хотели написать свой модуль, но боялись начать - думаю, моя статья сможет помочь.

В качестве кода, который требуется дизасемблировать, будет выступать код виртуальной машины из очень крутого хоррора, который выходил сначала на SNES, потом на PS1, PC и Wonderswan - "Clock Tower - The First Fear". В игре имеется 9 концовок (sic!), атмосфера гнетущая, а в качестве главного злодея выступает "Scissorman" (человек с руками-ножницами). Заинтересовал? Тогда добро пожаловать...

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments5

Кому нужны скрытые сети? Заметка без романтических небылиц о даркнете

Reading time8 min
Views31K

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

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

Читать далее
Total votes 28: ↑23 and ↓5+27
Comments34

Как производятся «Ласточки» — поезда с распределённой архитектурой

Reading time8 min
Views29K


Как вы, возможно, знаете, наши крутейшие «Сапсаны» или Siemens Velaro мы покупали у немцев. Потому что никто в стране такое произвести целиком достаточно качественно просто не мог (ну, в смысле, сопоставимо с экономикой покупки). А вот «Сапсан-3» будет делаться уже на «Уральских локомотивах». Там же сейчас делают «Ласточки» с похожей архитектурой.

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

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


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

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

В общем, пойдёмте, покажу поезд, в котором локомотив распределён по всему поезду.
Читать дальше →
Total votes 55: ↑53 and ↓2+69
Comments46

Как байпасить reCaptcha V3 с помощью Selenium Python?

Reading time4 min
Views19K

*bypass - обход

Мы будем использовать библиотеку python Selenium для байпаса google reCaptcha v3. Следуйте пошаговой инструкции, чтобы получить результат.

Для примера мы будем использовать демо-версию Google reCaptcha api.

Здесь ссылка: https://www.google.com/recaptcha/api2/demo

Читать далее
Total votes 12: ↑10 and ↓2+10
Comments4

Собственный микроскоп из кубиков LEGO

Reading time3 min
Views11K
Сегодня мы хотим познакомить вас с проектом Lego Microscope. Цель этого проекта заключается в том, чтобы предоставить всем желающим инструкции и ресурсы по сборке собственного микроскопа из кубиков LEGO.
Микроскоп
Читать дальше →
Total votes 39: ↑38 and ↓1+55
Comments17

Information

Rating
Does not participate
Registered
Activity

Specialization

Game Developer, Web Developer
Middle
From 7,000 $
JavaScript
TypeScript
React
CSS
Node.js
Webpack
Twitter Bootstrap
Web development