Решил поделиться тем, как я изобретаю свой ляс изучаю устройство различных форматов изображений и алгоритмов сжатия в процессе ожидания заказанных мою плат.
Конкретно на данном скрине я костылю изучаю png-zlib-deflate. Получается довольно неплохо. По крайней мере, я наконец-таки понял, как работает алгоритм Хаффмана. До этого было представление в лишь общих чертах.
Для вывода декодированного изображения традиционно (для меня, разумеется) использую связку ppm+Nomacs. Формат изображений ppm настолько прост, что мне гораздо проще в очередной раз построить очередной ляс написать его реализацию, чем реализовать вывод картинки в окне в каком-либо тулките. Nomacs - отличный просмотровщик картинок. Для моих целей подходит ещё и тем, что он отслеживает изменения файла и при перезаписи автоматически обновляет картинку на экране. Таким образом, на скрине виден декодированный моим лясом кодом png из одной статьи с хабра.
Код пишу на сишке иначе сишные дырени закончатся и местные тролли сдохнут с голоду в Geany. Собираю код обычным мейком в urxvt. Не использую «продвинутые» IDE просто потому что лень в них разбираться.
Обычно слева расположено окно программы с документацией. Как правило это Qpdfview с даташитом на какую-нибудь микруху, но в данном случае это Firefox с RFC1951 на алгоритм Deflate.
asmCalc - самопальный калькулятор, который я когда-то навелосипедил написал в контексте изучения Tcl/Tk. Потом я немного увлёкся и добавил там ещё ассемблерных вставок для доступа к cpuflags. Изначально хотел сделать его как обычный калькулятор, но чтоб он мог одновременно отображать значения в двоичном, десятичном и шестнадцатеричном представлении. В процессе написания немного (даже слишком немного xD) увлёкся ассемблером и в итоге все операции сделал ассемблерными вставками. Хотя больше я использую этот калькулятор для «визуализации» данных, когда нужно видеть, как выглядят биты у того или иного числа.
Скрин выкладываю, разумеется, для набития скора, поэтому жду ваших клоунов, дизлайков и фейспалмов, а также традиционных заявлений про ШГ. А писать свою реализацию того, для чего есть уже готовые библиотеки - так вообще уууу… А если серьёзно, то хочется просто разбавить галерею скринами рабочего процесса, т.к. скринов «просто рабочего стола», я уверен, многие из вас повидали достаточно и, возможно, будут рады, увидив что-то другое.









