Как включить запись HRV (RR-интервалов) на часах Garmin?

Для этого необходимо подключить часы к ПК. Часы определяться как съемный диск. На этом диске необходимо найти папку NEWFILES, которая может быть как видимой, так и скрытой. И поместить в нее этот файл настроек (cкачать). Все, после отключения от ПК, все последующие тренировки будут содержать информацию о вариабельности сердечного ритма.

Файл настроек поддерживает следующие модели часов Garmin и лично проверен на forerunner 620, 735xt, 935:

  • Forerunner 620
  • Forerunner 630
  • Forerunner 645 and 645 music
  • Forerunner 920XT
  • Forerunner 235
  • Forerunner 735XT
  • Forerunner 935
  • epix
  • fenix 3
  • fenix 3 HR
  • fenix 5 series
  • Edge 520*
  • Edge 820**
  • Edge 1000
  • Edge 1030

На часах The Fenix 5, Forerunners 935 и 645, и Edge 1030 есть настройка, названная «Log HRV», которая делает тоже самое.

Китайцы такие китайцы

Примерно 150 человекочасов пришлось потратить мне и коллеге, чтобы понять, почему не работает одна из частей разрабатываемого нами устройства. Все оказалось в том, что часть транзисторов, установленных на плате, была не той проводимости. Вроде бы и ерунда, если бы не одно но: эти транзисторы из одной катушки, они имеют одинаковую маркировку на корпусе и должны иметь pnp структуру. Было взято 20 штук подряд, из которых 7 оказалось npn. Сложно описать свои эмоции.

Не работает конструктор форм в Visual Studio 2019

САБЖ. Оказалось, что это не баг, а фича. Конструктор форм для .net core проектов еще в разработке и доступен в виде расширения. И решения этой ошибки ровно два:

  • Создавать проект не под .NET core, а под .NET Framework
  • Установить расширение по ссылке выше для Visual Studio и пользоваться им.

Новые фичи Python 3.8

Оригинал тут — https://realpython.com/python38-new-features/
И тут я тоже был — https://khashtamov.com/ru/python38-overview/

Сегодня 14 октября релизнулась новая версия Python 3.8. Рассмотрим новые всякие штуки в нем:

  • Использование выражений присваивания для упрощения кода;
  • Применение только позиционных аргументов в функциях;
  • Использование f-строк для простой отладки.

Морж в комнате: выражения присваивания

Самое большое изменение в Python 3.8 — это введение выражений присваивания. Обозначается он новой конструкцией (которая, правда, может быть знакома вам со времен Pascal) как (:=) без скобок. Этот оператор обычно называют моржовым оператором, т.к. напоминает глаза и клыки моржа (наркоманы херовы).

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

>>> walrus = False
>>> print(walrus)
False

В новой версии Python такое же действие возможно, используя моржовый оператор:

>>> print(walrus := True)
True

Тоже просто присваиваем переменной значение и сразу печатаем его на экране. Стоит помнить, что моржовый оператор просто упрощает некоторые действия, все можно сделать и без него. Он только делает некоторые конструкции более удобными, и иногда может более четко описать код.

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

Почему не запускается отладочный сервер Django?

Продублирую сюда же свой вопрос по python и django и своей же ответ на него с тостера.

Создал новый проект django в новом виртуальном окружении, пытаюсь запустить отладочный сервер
python manage.py runserver
и получаю вот такое:

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "d:\python\123\envv\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "d:\python\123\envv\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "d:\python\123\envv\lib\site-packages\django\core\management\base.py", line 336, in run_from_argv
    connections.close_all()
  File "d:\python\123\envv\lib\site-packages\django\db\utils.py", line 219, in close_all
    for alias in self:
  File "d:\python\123\envv\lib\site-packages\django\db\utils.py", line 213, in __iter__
    return iter(self.databases)
  File "d:\python\123\envv\lib\site-packages\django\utils\functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "d:\python\123\envv\lib\site-packages\django\db\utils.py", line 147, in databases
    self._databases = settings.DATABASES
  File "d:\python\123\envv\lib\site-packages\django\conf\__init__.py", line 79, in __getattr__
    self._setup(name)
  File "d:\python\123\envv\lib\site-packages\django\conf\__init__.py", line 66, in _setup
    self._wrapped = Settings(settings_module)
  File "d:\python\123\envv\lib\site-packages\django\conf\__init__.py", line 157, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "c:\Users\milssky\AppData\Local\Programs\Python\Python37-32\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'testtinymce'

Какой-то загадочный модуль, который питон пытается найти в новом виртуальном окружении (!) в новом джанго проекте (!!).

В итоге все же нашел, откуда растут ноги. В реестре лежал ключ DJANGO.Setting, который указывал на файл настроек приложения testtinymce. Ключ удалил, все заработало. Просто ищем по всему реестру слово django и смотрим на результат, удаляем ключ с настройками и дело в шляпе.