to post messages and comments.

← All posts tagged программирование

У меня новый любимый саундтрек для отладки

youtu.be

Я до сих пор на работе. Лифт уже отключили.

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

То чувство, когда отлаживаешь программу долго и мучительно, а оказывается что беда была в > вместо >=.

Я что спросить хотел, как с такого рода ошибками в более других чем C языках дело обстоит? Сразу отмечу что статический анализатор ничто не сказал потому что ошибка алгоритмическая. Что там хаскель? Что теоретически можно придумать чтобы в torth сделать лучше?

Писал программу, с помощью которой можно что-то делать. Что-то программой обрабатывается довольно долго, поэтому я перетащил это с питончика на opencl, сиречь на видеокарту.

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

И вот я решил пооптимизировать ещё немножко, и в видеокарту данные не такими пакетами засовывать, а другими (пачками по n таких). Оптимизация удалась... В 100 раз! Для пачек по 10! И знаете что? С пачками по 1 то же самое!

Это странно ещё и потому что я напихивал программу измерениями времени операций, и у меня получалось что треть времени кушает одна операция, треть — другая, и треть — третья. И они все тут остались! Ну две изменялись, а третья-то нет!

Магия.

Жесть как люди обленились. Программированием теперь называют подбор параметров OpenCV и встроенных шагалок ROS. Цитата с гиктаймс (орфография сохранена с RSS, автор мог уже поправить):

Другой неприятной стороной было то что в качестве мозгов в основном использовались — если не ардуино, то STM32. Мне же хотелось занимтаься программированием. Научить робота бегать за мячиком, обходить препятсвия, передвигаться по открытомй пространству. То есть то, для чего надо больше чем ардуина.
Я вот чому-то не вижу никаких проблем реализовать описанное как на stm32, так и на ардуино (которые, для справки, бывают и на ARM, и на x86, и довольно неслабыми).

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