GATT профайл
Выходные провел за изучением возможности использования Bluetooth Low Energy чтобы посылать на комп номер активного слоя ZMK клавиатуры. И у меня получилось! Для начала я сделал простую клавиатуру с черырьмя кнопками и подключил к ней дисплей. Затем добавил кастомный GATT профайл и убедился что я вижу активный слой в приложении на смартфоне. Под конец создал простой cli на rust который выводит активный слой в терминале.
Теперь осталось прикрутить логику из cli в мой клавиатурный хелпер и я смогу видеть в реальном времени какой у меня сейчас слой и какие кнопки я нажимаю!
Lofi-girl
Lofi Girl (ранее ChilledCow) — французский YouTube-канал и музыкальный лейбл, основанный в 2017 году. На канале ведётся круглосуточная трансляция лоу-фай хип-хоп-музыки на фоне аниме-арта с девочкой, занятой учёбой или отдыхом. из википедии.
Сегодня заметил, что девочка на видео — левша. Меня в детстве пытались научить писать правой рукой, но из этого ничего не вышло: на доске я без проблем мог писать хоть правой, хоть левой, а вот в тетради — только левой...
Вперед на Луну!
Завтра планируется запуск пилотируемой миссии в сторону Луны. Высадка в этой миссии не предусмотрена - корабль только облетит вокруг луны и вернется на Землю.
Здорово, что несмотря на все сумасшедшие события, на этой планете еще есть люди которые делают такие вещи. Последний раз на Луне люди были более 50 лет назад. Здесь можно узнать подробнее о миссии.
Блеск и нищета float
Какое расстояние между соседними числами в float? Что будет если к числу с плавающей точной прибавить другое чесло с плавающей точкой? Зависит от значения, результат может равняться ожидаемому но в некторых случаях разница между результатом и исходным числом может быть нулевой а в некторых отличаться на несколько сотен!
#include <stdio.h>
int main(void) {
float x = 1e10f;
printf("x = %.0f\n", x);
printf("x + 1 = %.0f\n", x + 1.0f);
printf("x + 1000 = %.0f\n", x + 1000.0f);
printf("x + 1024 = %.0f\n", x + 1024.0f);
return 0;
}
x = 10000000000
x + 1 = 10000000000
x + 1000 = 10000001024
x + 1024 = 10000001024
Из-за особенностей хранения float при малых значениях точность представления чисел сопоставима с int а на больших значениях рассторяния между числами на численной оси увеличиваются и достигают довольно больших значений. Прям очень неожиданно может получиться если это не учитывать!