• Жизненный цикл: как Apple отказалась от PowerPC в пользу Intel
    0
    Забыл написать — я про Mac Mini 2018 года это написал в предыдущем комментарии.
  • Жизненный цикл: как Apple отказалась от PowerPC в пользу Intel
    0
    Справедливости ради уточню. SSD у Mac Mini действительно распаян, но есть возможность подключения внешнего через USB-C. А вот память — обычные SO-DIM (в моем вроде как от Samsung). Подлезть и поменять сложно, но реально. На Fixit есть инструкция. Да, это не для обывателя, но при большом желании установить самому памяти по-максимуму реально.
  • Древности: домашний минидиск и баллада о гробиках
    +2
    А я вот как раз из этого поколения. Моя стойка включает деку 20-ти летней давности, минидиск 15-ти летней, сетевой плеер, CD плеер, и усилитель. Все от одной фирмы, полная приемственность дизайна. Несмотря на размер, смотртся очень эстетично. Хотя таких людей, наверное, действительно немного.
  • Я перегорел, уже как 2 года
    +1
    Зря вы так про энтерпрайз. Магия там есть, просто она в алгоритмах, а не в инструментах. Новые бизнес- процессы, снижение стоимости владения системой, повышение точности прогнозов, переход к обработке больших данных — только самые яркие примеры, с которыми я сам сталкивался за последний год. Но да, для решения этих задач может использоваться очень старый инструментарий.
  • Логистика. Часть 1. Оптимизация авиасообщения по направлениям и формирование расписания
    +1
    Вам же не зря про слоты написали. Это же бызнес-логика самих аэропортов, которую вы не учитываете. Не могу сказать про Россию, но в Европе, если авиакомпания сама будет сокращать рейсы и тем самым опускать пунктуальность ниже плинтуса, то на следующий сезон она просто лишится своих парковочных мест в тех аэропортах, где она была не пунктуальна. В Америке ситуация другая — там авиакомпании часто сами владеют терминалами.
  • Комментарий из публикации, перенесённой в черновики.
  • Интеграционные тесты на Flutter — это просто
    0
    Спасибо за статью! Я из текста не смог понять (так как сам такие тесты ещё никогда не делал), они запускаются на эмуляторе или на реальном Андроид-устройстве? Если на реальном, то возможно ли их запускать на реальном iOS, например, на реальном iPad? Если да, то легко решается задача создания видео для приложения. Само видео можно писать штатными средствами macOS, но мне пока не хватает автоматизации сценария. И вот тут этот инструмент мог бы и пригодится.
  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    +1

    Спасибо, интересная идея, обязательно поэкспериментирую.

  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    +1

    В самом общем случае, вариантов три, как мне кажется.


    1. Выше в комментариях о первом варианте упоминали. Готовые стандартные беспроводные датчики (типа Zigbee или zWave) и соответсвующий контроллер, подсоединенный к raspberry pi плюс OpenHUB на нем же. Но придется, наверное, прописать свой сценарий взаимодействия с датчиками для OpenHUB. Но тут я не специалист. С точки зрения железа — тривиально, с точки зрения софта нужно будет под себя настроить OpenHUB. Но может быть дорого.
    2. Второй вариант — взять тот же ESP8266. Я был уверен, что ESP8266 очень требователен к питанию, но в комментариях выше утверждают, что он будет просто от двух пальчиковых батареек работать. Для него придется писать или свою прошвку, или скрипт для какой-либо существующей прошивки, плюс небольшую программку для raspberry pi, чтобы данные собирать. То есть с точки зрения железа — относительно легко, с точки зрения софта — нужно программировать, но всяко дешевле, чем первый вариант.
    3. Связка "Микроконтроллер + радиомодуль". Это как у меня. В этом случае Вы можете взять мою плату и слегка подшаманить прошивку. Для вашей задачи нет смысла напаивать магнитный датчик и контур его обслуживания (что уменьшает расход батареи), но придется на микроконтроллере включать часы реального времени, что повышает расход батареи обратно. Также можно взять мою базовую станцию, и как есть подсоединить по USB к raspberry pi. Также взять в качестве шаблона мой серверный модуль и его доработать. Но в целом этот вариант самый сложный как с аппаратной, так и с программной точек зрения.
  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    +1

    Ну почему же только "помахать паяльником и код пописать"? История началась с того, что я установил "более или менее стандартные и дешевые сенсоры", только они случайно назывались zWave, а не Zigbee. Это проприетарное решение не заработало. Уверенности, что заработает другое проприетарное решение, у меня не было. Из комментариев выше я вижу, что есть как качественные, так и не качественные zWave решения. То же самое касается и Zigbee. Чтобы больше не играть в лотерею, я сделал свою открытую платформу, гду полность контроллирую каждый ее аспект (как аппаратный, так и программный). OpenHAB да, хорошее решение. Только слишком избыточное в моем случае.

  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    0

    Тут Вы очень точно подметили, что опыта в данной области у меня нет :) Я по образованию инженер-математик, и работаю в области, очень далекой от электроники. Учусь в том числе и на хабровских статьях. В последние несколько лет вижу, что на Хабре есть небольшая оппозиция ESP8266. Я уже использовал ее в нескольких проектах и этот модуль мне нравится. У меня уже скоро как год работают часы в связке STM32 + ESP8266, и работают стабильно. Но в данном случае ESP8266 не завелся. Было ограничение на размер, так как нужно было втиснутся в имеющийся корпус. Отсюда ограничение на доступные модули. И те, которые я попробовал, в моих условиях работали нестабильно. А вот RFM69 завелся сразу. Может, поэтому и получилось сделать плату красивой, так как проблем с компонентами не было и было больше времи для дизайна.

  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    +1

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

  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    0

    Да, RFM поддерживает AES-128. Если шифрование включено, есть незначительные огранчения на длину пакета, но для меня они были не критичными. Шифрование активируется очень легко, я с ним поигрался, но не стал делать за ненадобностью.

  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    0

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

  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    0

    А что означает сокращение "КАЛ"?

  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    0

    Чтение инструкции к Z-Wave датчику не помогло, к сожалению. В доме оказалось 3 места, где сигнал от датчика доходил до контроллера очень условно — даже на абсоютно свежих батарйках могло быть до 25% потерь, что неприемлемо. Устанвка дополнительных zWave повторителей в эти места не помогла. Поэтому подстройку времени пробуждения я даже серьезно и не рассматривал.

  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    0

    В режиме передачи я померять не смог, так как сама передача много меньше секунды. Поэтому ориентируюсь на паспортные значения RFM69 — от 16 до 130 mA в зависимости от режима и мощности. Но RFM69 хорошо в этом плане оптимизирован — всю подготовку (буферизациу) передаваемого пакета можно выполнить в Standby моде (1.5 mA), запутить передатчмк по готовности и сразу выключить по окончании передачи. Плюс я сильно оптимизировал потребление микроконтроллера (низкая частота, тактирование только нужной перифирии, подтяжка портов)

  • Самодельные беспроводные оконные датчики: STM32L051 + RFM69 + Android
    0

    Датчики фирмы Vision, модель VIS_ZD2102. Контроллер — Aeon Labs Z-Stick Gen5. Я, когда их покупал, тоже читал про устройства zWave, которые работают хотя бы год от одной батарейки. Но в моем случае это была какая-то катастрофа. Самые дальние датчики переставали работать через 2 или 3 месяца. Остальные — примерно через полгода. Наверное, сильно зависит от конкретного производителя.

  • Приготовься к введению в России социального рейтинга
    +7
    Спасибо за статью. Как человек, опубликовавший несколько приложений на F-Droid, я всеми руками приветствую популяризацию как этичных приложений, так и маркетов для них. Ещё пара полезных вещей на F-Droid: Vanilla Music — ещё один очень адекватный аудио-плеер, Ghost Commander — двухпанельный и очень функциональный файловый менеджер, Simple Gallery — фото галерея, прекрасно совместимая с Open Camera, ConnectBot — качественная SSH консоль. И в качестве рекламы, кому нужен калькулятор по типу Маткада, обратите внимание на мою microMathematics.
  • Что внутри аэропорта: центры управления
    +2
    Кстати, хороший пример. В Сингапуре, например, три линии метро полностью беспилотные. Работают как часы. Но вот судя по рекламе в этих же самых беспилотных вагонах, диспетчерская у них не маленькая. В кадре мелькают несколько рабочих мест. То есть люди там вроде как есть, только в другом месте сидят. Ну и на платформе по-прежнему человек дежурит. Впрочем, на пилотируемых линиях человек на платформе тоже есть.
  • Что внутри аэропорта: центры управления
    +2
    Верно. Поэтому развитие и идет медленно. Те системы, которые сейчас представлены на рынке, в основном ориентируется на консолидацию данных из различных источников (полетные планы, данные авиакомпании, радары, данные сторонних агентов типа заправки, антиобледенения). То есть направление A-CDM — аiport collaborative decision making. Или автоматизируют рутиные операции типа расчетов интервалов безопасности. Но и движение в направлении более сложных алгоритмов оптимизации также имеется, особенно для аэропортов, где трафик растет, но вот возможности построить новую полосу нет. Диспетчера в этом движении играют роль гаранта безопасности.
  • Что внутри аэропорта: центры управления
    +1
    И да, и нет. С технической точки зрения вы правы. И Боинг, И Аэробус в этом направлении даже работают. Я слышал про исследовательские проекты в этом направлении, но фактими подтвердить не могу. Как план Б, некоторые диспетчерские центры (например, Лондон) увеличивают горизонт работы радаров, чтобы самолеты раньше замечать. Евроконтролл в рамках Евровы вводит различные системы обмена данными между собой и аэропортами, что также увеличивает горизонт планирования. Ложка дегдя — это сами национальные организации управления движением. Например NATS в Англии — это очень крупный и уважаемый работодатель. DFS в Германии — то же самое. И эти же организации на базе своего опыта организует консалтинг по всему миру. Желающих учиться на диспетчера много больше, чем мест. Мне кажется нереальным, что подобные монстры захотят самосократиться :) А вот измениться могут, но только если это будет экономически выгодно.
  • Что внутри аэропорта: центры управления
    +3
    Или вот еще одна проблема. Слава Ктулху, редкая. Аэропорт назвать не могу, но у них одна из полос используется для взлета гражданских бортов. Она же используется военными, база которых расплолагается на окраине этого же аэропорта. Примерно как в Перми, но не Пермь :) Так вот, военным же не все законы писаны. Они легко могут запланировать посадку условного Фантома «навстречу» взлетающему гражданскому борту, что для гражданского диспетчера автоматически означает 10 мин. интервал безопасности между этими событиями. То есть емкость полосы значительно падает, что приводит к значительным задержкам взлета. Поможет ли тут ИИ? Вряд ли. Скорее, нужен хороший консалтинг, то есть опять же люди.
  • Что внутри аэропорта: центры управления
    0
    В общем, пока обучение и труд диспетчеров дешевле, чем разработка ИИ, которое эти проблемы может эффективно решить.
  • Что внутри аэропорта: центры управления
    +15
    Я разрабатываю ПО для подобных центров, а именно системы управления взлетом и посадкой. Специализируюсь именно на алгоритмах планирования последовательности взлета и посадки. Причин, что пока от люднй не избавиться, несколько:
    1. Нет канала телеметрии между бортом самолета и диспетчерской. Весь обмен информацией только голосом по радио. Да, диспетчер видит на радаре номер борта, положение, высоту, скорость. Но не знает, какой маневр в данный момент выполняет бортовой компьютер и, поэтому, не может 100% предсказать, где будет борт через 5 минут
    2. Непредвиденные и случайные задержки при отправлении. Опаздавшие пассажиры, действия пилотов, действия наземных служб. Самая точная функция для их описания — это rand.
    3. Если полоса работает на взлет и посадку одновременно, то флуктуации в поведении взлетающих бортов имеют влияние на приземляющихся. Как правило, в негативную сторону, то есть растет очередь посадки. Но до басконечности она расти не может, так как емкость секторов ожидания посдки ограничена.
    4. Есть приоритетные борта. Например, трансатлантические и азиатские линии в Лондоне, которые подходят с ограниченным объемом топлива и долго ждать посадки не могут.
    5. Могут быть политические проблемы. Например, Сингапур. Страна маленькая, поэтому с некоторых направлений (Куало-Лумпу) чуть ли не до самой посадки самолеты ведут диспетчера другой страны.
    В общем, пока обучение и труд диспетчеров
  • Как работает Flutter
    +2
    Спасибо за замечательную статью. Я только-только закончил портирование одного из моих приложений на Flutter. Уже был готов выкатить обновление на Google Play, но на этапе финального тестирования обнаружил огромную проблему. А именно, на некоторых реальных устройствах (у меня это безымянный китайский планшет и ASUS пятилетный давности) производительность рендеринга составляет пару кадров в секунду. О 60 fps речи даже близко нет. То есть все работает, но пользоваться приложением невозможно. И это не только у меня. В трекере Flutter есть очень древняя запись с большим числом комментариев: github.com/flutter/flutter/issues/11861. Ее пару недель назад закрыли, но последнее обновление ситуацию не улучшило. Вы что-нибудь слышали об этой проблеме? Есть идея, почему такая проблема вообще появилась? Ведь, пока такие подножки остаются, говорить о применении Flutter для продуктивной разработки очень сложно. А жаль, так как и идея, и реализация в целом на очень высоком уровне.
  • Google Analytics и GDPR: а нужно ли согласие пользователя?
    –1
    Спасибо за обзор! Хочу добавить пять копеек как бы со стороны простого пользователя. У меня в домашней сети стоит центральный DNS с широчайшим списком блокировок аналитических, телеметрических и рекламных сетей. На всех устройствах включая мобильные — Firefox с максимальными настройками приватности и блокировкой всех сторонних печенек. На десктопах дополнительно Ghostery и AdBlock. Сайт, который в таких условиях не работат, закрывается навсегда. Например, я уже полностью отказался от РБК из за этого. Естественно, таких как я мало и они погоды не делают. Но, судя по комментариям на Хабре таких людей все больше и больше. То есть все больше и больше людей делают осознанный выбор за отказ от любого слежения. Немного грустно оттого, что владельцы сайтов и мобильных приложений смотрят только на букву закона и принципиально отказываются учитывать подобных пользователей.
  • Что мне не нравится в Windows 10
    0
    Гибернация на Линксе в теории есть, но на практике может зависеть от связки «модель ноутбука-дистрибутив». Это естественное следствие сильной фрагментации всей экосистемы Линукса. Например, у меня ноутбук Fujitsu E-серии и Федора: гибернация работает из «коробки» просто великолепно. Uptime системы более 100 дней — это норма.
  • Использование C++ и шаблонов с переменным количеством аргументов при программировании микроконтроллеров
    +1
    Спасибо за статью, с интересом посмотрел Ваш код. Но все-таки согласен с предыдущим комментарием. HAL, быть может, не так эстетичен, в нем есть баги, но я бы тоже не стал говорить о его сложности. В Вашем варианте тоже есть неприятная особенность — у Вас используемые порты и аппаратно-зависимые константы «размазаны» по всему коду как и в НAL. На малых проектах не проблема. По вот на больших… Основная фишка STM32 — фактическая многозадачность на операциях ввода-вывода за счёт DMA. Вот и представьте читабельность Вашего кода на проекте, где 4-5 разных интерфейсов (типа SDIO для карты памяти, I2S для звука, SPI для дисплея, USB и USART для чего-нибудь еще) работают асинхронно с задействованием 10 или более прерываний. В этом случае имеет смысл полностью отделять слой аппаратной конфигурации (порты, устройства ввода-вывода, прерывания, регистры) от бизнес-логики. И вот здесь С++ поверх HAL или CMSIS, а не вместо их — очень мощный инструмент. Посмотрите, если интересно, наш проект github.com/den-makarov/stm32async.
    В нем мы пытаемся на С++ разработать слой аппаратного описания ресурсов контроллера и слой асинхронного управления этими ресурсами.
  • Проблема перехода на зимнее и летнее время для отдельно взятой скайп школы
    +7
    Спасибо за статью! Я не буду предлагать никаких решений, просто вкратце расскажу про похожую проблему моего болота. Итак, привет из области управления воздушным движением! Есть три основных субъекта: диспетчерские службы (плюс международные регуляторы типа IATA, ICAO, Eurocontrol), экипажи самолётов и авиакомпании (наземные службы, аэропорт). Так как авиакомпании и сам аэропорт работают с пассажирами, то они, как правило, используют локальное время. Если полёты круглосуточные, то в ночь, когда время переводится, возникают интересные моменты. Например, борт может начать руление в 02:00 локального времени, 15 минут рулить и взлететь чуть позже, например в 01:15 (это когда время назад переводят). Ни пилоты, ни диспетчера проблем с этим не имеют, так как у них на всех дисплеях и документах UTC, а не локальное. То есть диспетчерские службы используют только UTC. Весь обмен данными между диспетчерскими службами и экипажами также в UTC. Поэтому в ПО для диспетчерских служб мы никакой конвертации времени не делаем, даже на серверах часовая зона — всегда UTC. ПО для аэропортов внутри также использует UTC, но там, где в него поступают данные (от других систем, или пользователь что-то вводит ручками) и где пользователю что-то показывается, вот именно там и происходит преобразование к локальному времени. То есть в сам момент перевода стрелок ядро такой системы продолжает работать в реальном времени (UTC), а вот у пользователя на экране время вдруг перескакивает на час назад или вперёд. Вот так и живём :)
  • STM32 fast start. Часть 1 ПО, материалы, Cube MX
    0
    Прошу прощения за битую ссылку. Вот правильная: github.com/den-makarov/stm32async
  • STM32 fast start. Часть 1 ПО, материалы, Cube MX
    0
    С С++ все очень хорошо. Выше уже написали про динамическую память. Я же добавлю, что семантика перемещений (С++11) позволяет создавать классы, описывающие регистры, прерывания, и прочее железо с очень читабельным и удобным синтаксисом. Посмотрите, например, github.com/den-makarov/stm32asyn
    Это достаточно мощная С++11 библиотека (на базе HAL), которая в первую очередь предназначена для реализации фонового (через DMA) асинхронного ввода-вывода. Есть SPI, USART, ADC, SDIO. Единственное ограничение — она отлажена пока только на STM32F4. За счёт того, что все железо описывается и инициализируется в одном месте, поддерживается динамическая смена тактовой частоты контроллера. Есть очередь событий, которые генерируются по прерываниям. То есть асинхронные операции через DMA генерируют прерывания, они, в свою очередь, события, а основной поток уже занимается обработкой и диспетчеризацией событий. И все это на С++. Присоединяйтесь!
  • Flutter. Плюсы и минусы
    +1
    Спасибо, развернуто и понятно написали. Так уж получилось, что все свои приложения я писал на Джаве, Котлин никогда серьёзно не рассматривал, так как по сути это та же самая VM, только синтаксис птичий. Поэтому фраза «компилируется в нативный код» меня и заинтриговала. Вот и пытаюсь разобраться. И, вроде, действительно привлекательно выглядит, чтобы на эту технологию переходить. Я автор микро-Математики (https://github.com/mkulesh/microMathematics) и просто пытаюсь понять, стоит ли её портировать на Flutter и насколько это сложно. Явные плюсы — производительность и iOS, но трудозатраты большие, что пугает.
  • Flutter. Плюсы и минусы
    +1
    Спасибо за статью, можно вопрос «от чайника»? Вот и Вашей статье, и в других статьях по Flutter всегда подчеркивают, что исходный код Dart компилируется в нативное приложение. Для iOS понятно. А что есть «нативное» для Андроида? Это действительно исполняемый файл Линукса или все-таки байт-код для виртуальной машины Андроида? Если это исполняемый файл Линукса, то как реализована платформенная зависимость х86/х86_64/arm и есть ли возможность прицепить сторонние динамические библиотеки (*.so)? Как реализованы права доступа к аппаратным ресурсам? Если я запустил такое приложение из под root, у приложения автоматически полный доступ по всему? Я всегда считал, что виртуальная машина — это есть одновременно и сердце и главное преимущество Андроида, а тут выглядит как шаг назад обратно к машинному коду. Или я ошибаюсь?
  • Зачем приложению пульта Д/У знать моё местоположение?
    0
    Спасибо за статью! И это Вы ещё IP трафик своей системы не проверяли, там все несколько интересней! Я разрабатываю аналог этого приложения для Onkyo, полностью с открытым исходным кодом. Сетевой протокол с Pioneer несколько похожий, поэтому есть небольшой шанс, что моё приложение заработает и с Вашим аппаратом. Если интересно, попробуйте: github.com/mkulesh/onpc
  • Обзор свободного ПО для Android
    +4
    Если кому вдруг понадобится свободна система компьютерной алгебры с открытым сходным кодом, то могу порекомендовать свою, которая также доступна на F-droid: f-droid.org/packages/com.mkulesh.micromath.plus
  • В ближайшем будущем Германия планирует отказаться от угля
    0
    ВЭИ — имелась ввиду «возобновляемая электроэнергетика». Опечатка вышла.
  • В ближайшем будущем Германия планирует отказаться от угля
    +1
    Я, честно говоря, тихо офигел, когда впервые эту петицию увидел. Я полностью за отказ от ископаемого топлива. То есть я за то, чтобы не только запускать все наработки по ВЭИ в эксплуатацию, но и целенаправленно увеличивать объем НИОКР в этом направлении. Это делается. И, вроде бы, ещё и политический компромисс в кои-то веки наметился. Но нет, некоторым личностям нужно обязательно шапкозакидательством заниматься. Хотя, наличие таких петиций может заставить политиков выдержать свои 20-летние планы :)
  • В ближайшем будущем Германия планирует отказаться от угля
    +1
    Вот вы, уважаемые хабровчане, все технические вопросы обсуждение… А немецкая молодежь по этому поводу настолько возбудилась, что даже петицию на change.org выставили:
    www.change.org/p/kohleausstieg-bis-2030-verbrennung-bis-2038-ist-keinkonsens-fridaysforfuture-alled%C3%B6rferbleiben-kohleausstieg-2030-regsprecher-svenjaschulze68

    Вольный сокращенный перевод Вашего покорного слуги: «Мы, прогрессивная немецкая молодежь, взбешены. Мы против. За те долгие 20 лет, что Германия будет продолжать жечь этот проклятый уголь, климат изменится и все умрут. Это неприемлемо. Требуем отказаться от угля до 2030 года, то есть в течении 10 лет».

    Кстати, уже больше 60 тысяч человек подписались. Вот так и живём.
  • [Спрашивайте — ответим] про интеллектуальную собственность и защиту данных
    0
    Спасибо за подробный ответ. Я примерно так и подозревал. Но Ваш ответ расставил все точки над «и».