Иллюстрация про опенсорс, да.
В 2018 году я довольно-таки неплохо оптимизировал AES в RIOT OS — сэкономив 8 КБ флэша (на микроконтроллерах это огромная экономия, в некоторых случаях она позволяет использовать в проекте микроконтроллер на ступеньку ниже уровнем, например, с 64 КБ флэша вместо 128 КБ) без сколь-нибудь ощутимой потери производительности.
https://github.com/RIOT-OS/RIOT/pull/10037
Паралелльно я там же почистил реализацию AES в LoRaWAN — выкинул собственную лоравановскую, бездумно кем-то туда втащенную, и переключил на только что оптимизированную мной RIOT'овскую. Получив меньший размер кода, двукратный прирост производительности (sic!) и вишенкой на торте ещё и решение проблемы с тем, что лоравановская реализация конфликтовала с райотовской, в результате чего их нельзя было использовать одновременно.
https://github.com/RIOT-OS/RIOT/pull/10124
То есть в сумме:
• минус 8 КБ в размере кода
• плюс два раза в производительности
• решение проблемы несовместимости двух реализаций
Однако в совершенно другой ветке по совершенно иному поводу я немного посрался с разработчиком, впихнувшим в RIOT вместо драйвера акселерометра лютейший и неработающий говнокод, и мейнтейнерами, пустившими это аж в релизную версию (с очевидностью, не проверяя в работе и вообще не глядя в код).
В результате за мою токсичность мне было высказано «фи!», а дальше всё обсуждение заглохло, потому что у меня прекрасно работал мой форк, времени на дискуссии в интернете не было, а мейнтейнерам проекта в целом было до лампочки.
В принципе, оно бы так и померло, если бы в 2021-м кто-то не пришёл с жалобой, что у вас тут вообще-то LoRaWAN и родной AES не дружат, а потом другой человек не вспомнил, что проблема три года как решена.
https://github.com/RIOT-OS/RIOT/issues/16293
Ну то есть три года простой, понятный и очень эффективный патч просто покрывался пылью.
@sforsecurity
Post #988
4.3K

- 👍 95
- 👎 3