KivApple's blog
86 subscribers
396 photos
26 videos
10 links
Франция, роботы и программирование
https://eternal-search.com/
Download Telegram
Нативные языки набирают популярность в бекэнд-разработке. В этой сфере уже сделало себе имя детище Google — Go, а теперь ему дышит в спину Rust, который пока ещё не так известен в этой сфере, но я вижу у него большое будущее. Мощная система типов как у функциональных языков вроде Scala (а ещё развитая система макросов) и одновременно низкое потребление памяти и высокая производительность как у Go. И отсутствие болячек C++ в виде обилия UB, тяжелого наследия 90х и хаоса управления зависимостями.

А самое главное - под него уже есть несколько ошеломляющих своей гибкостью и функциональностью Web-фреймворков, самый популярный из которых имеет почти 23 миллиона загрузок на crates.io! Но какой же выбрать? Популярности мало, хотелось бы видеть тесты производительности. А их почему-то очень не любит выдавать Google по запросу "Фреймворк А vs Фреймворк B". Потому что их никто не пишет или потому что их никто не читает? 🤔 Я решил это проверить — так и родилась моя статья https://eternal-search.com/axum-vs-actix-vs-rocket.

Кстати, она имеет версию на английском языке, которой вы можете поделиться со своими забугорными коллегами!
Please open Telegram to view this post
VIEW IN TELEGRAM
Ping Master — робот для соревнований в номинации Arkanoid (робототехнический пинг-понг), разработанный нами в 2017 году и принимавший участие в конкурсах с 2017 по 2019 года, каждый раз совершенствовавшийся.

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

Больше технических деталей: https://eternal-search.com/ping-master
Сегодня я совершил маленькую победу над собой и встал в 7 утра
Недавно столкнулся с проблемой подружить веб-фреймворк Axum и библиотеку rust-s3. Собственно, задача сводится к двум простым эндпойнтам — загрузка файла в хранилище и генерация ссылки и скачивание файла из хранилища по ранее сгенерированной ссылке. Конечно же, хочется всё красиво - без временных файлов, без буферизования файла целиком в памяти, при этом в Rust есть как минимум несколько способов абстрагировать асинхронные потоки ввода-вывода... Так что пришлось подбирать библиотеки адаптеров между библиотеками 😊 В итоге оформился сниппет кода для двух самых главных операций работы с S3 с небольшими пояснениями по ходу дела:

https://eternal-search.com/ru/axum-s3
Я ненавижу ходить (ездить, летать, ползать) на работу.
😭😭😭
Помедитировал перед сном (забрасывал медитации с конца сентября), уровень тревоги с 8/10 до 3/10.

Конечно, надо будет продолжать копать в сторону смены проекта, работать над тем, что тебе совсем не нравится, это не дело.
Overlord 2 – один из двух роботов, собранных нами во Франции, в Тулузе. Как и Overlord, предназначен для участия в соревнованиях следования по линии шагающих роботов. На этот раз, речь идёт о Toulouse Robot Race. К сожалению, соревнования были несколько раз перенесены из-за ограничительных мер, связанных с пандемией Covid-19, и в итоге мы приняли участие лишь в тестовом забеге. Однако, наш результат превосходил лучший результат прошлых лет :-)

Робот оборудован Raspberry Pi 4 и Raspbery Pi Camera Module. Для низкоуровневого управления двигателями используется Arduino Nano, связанная с Raspberry Pi по последовательному порту.

Главным отличием от предыдущей версии робота является применение механизма Тео Янсена вместо механизма Чебышева. Более сложная конструкция требует деталей распечатанных на 3D-принтере, зато обеспечивает более эффективное и плавное движение. Таким образом наш робот способен перемещаться быстрее и с меньшим количеством вибраций.

https://eternal-search.com/ru/overlord2
Обсуждая таймменеджмент, мы с моей новой, русско-французской, психологиней пришли к модифицированному методу помидора.

Вместо таймера на телефоне — песочные часы. 25 минут, устраивающего меня дизайна (и цены), я так и не нашёл, так что буду одновременно запускать на 5 и на 30 минут. 5 минут прошли, пора работать, 30 минут прошли пора отдыхать. Повторить цикл (я, кстати, чередую задачи-помидорки из разных сфер, а-ля вытесняющая многозадачность). Может это даже к лучшему, начинать работу с отдыха 🤔

В отличии от таймера на телефоне - тактильность, осязаемость, необратимость и невозможность остановить ход времени.

Будучи программистом, хочется все решения автоматизировать, цифровизировать, засунуть в телефон, ноутбук, облако, написать своё мобильное приложение для борьбы с прокрастинацией вместо работы... А что если наоборот?

Кстати, какие лайфхаки самоорганизации знаете вы?
Please open Telegram to view this post
VIEW IN TELEGRAM