![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Дорвался, стало быть, мой измученный Джавой организм до языка Цэ-пэ-пэ. Дорвался и написал самостоятельно и с нуля Программный Продукт (сокращенно - пи-пи).
Проверил, протестировал, еще раз перепроверил - в связи с нелегкими временами тестера на мой продукт нет, приходится самому. Работает мой пи-пи, любо-дорого посмотреть.
Послал заказчику. Работает и у заказчика. Ну, то есть они не сразу разобрались, потом наехали по причине того, что не поняли, получили пояснение, поняли, поставили, запустили... работает! Работает пи-пи, черт его побери!
А потом вдруг хлоп-шлеп, нет, больше не работает. С одними файлами работает, с другими - не-а, не работает. Полезли разбираться. Долго ли коротко ли сказка сказывается, но разобрались. Не работает с файлами больше 10 килобайт, если верить заказчику. Ну, так они тестировали - 1 килобайт, 10, 100... Последний - не работает. Глючит пи-пи, ерунду выдает на выходе.
Полез смотреть пи-пи. Нашел проблему. Так и есть, длина файла мною объявлена как uint16_t. 64 килобайта и не килобайтом больше.
Сижу. Думаю. С чего я такой идиот-то, черт меня побери?.. Еще подумал. Вспомнил! Вспомнил и понял!
На Спектруме, при его страничной памяти на 64 килобайта, шестнадцати бит хватало для описания максимальной длины файла. Угу, на Спектруме... Да-да 15 лет тому назад... uint16_t, он же dw на ассемблере... Нет-нет, совершенно честно, в 1994-м...
Свой пи-пи я, конечно, поправил. Но интересно, сколько еще подобных неосознанных флэш-бэков в моем коде?..
Проверил, протестировал, еще раз перепроверил - в связи с нелегкими временами тестера на мой продукт нет, приходится самому. Работает мой пи-пи, любо-дорого посмотреть.
Послал заказчику. Работает и у заказчика. Ну, то есть они не сразу разобрались, потом наехали по причине того, что не поняли, получили пояснение, поняли, поставили, запустили... работает! Работает пи-пи, черт его побери!
А потом вдруг хлоп-шлеп, нет, больше не работает. С одними файлами работает, с другими - не-а, не работает. Полезли разбираться. Долго ли коротко ли сказка сказывается, но разобрались. Не работает с файлами больше 10 килобайт, если верить заказчику. Ну, так они тестировали - 1 килобайт, 10, 100... Последний - не работает. Глючит пи-пи, ерунду выдает на выходе.
Полез смотреть пи-пи. Нашел проблему. Так и есть, длина файла мною объявлена как uint16_t. 64 килобайта и не килобайтом больше.
Сижу. Думаю. С чего я такой идиот-то, черт меня побери?.. Еще подумал. Вспомнил! Вспомнил и понял!
На Спектруме, при его страничной памяти на 64 килобайта, шестнадцати бит хватало для описания максимальной длины файла. Угу, на Спектруме... Да-да 15 лет тому назад... uint16_t, он же dw на ассемблере... Нет-нет, совершенно честно, в 1994-м...
Свой пи-пи я, конечно, поправил. Но интересно, сколько еще подобных неосознанных флэш-бэков в моем коде?..
no subject
Date: 2009-04-21 03:00 pm (UTC)no subject
Date: 2009-04-21 05:33 pm (UTC)no subject
Date: 2009-04-21 05:38 pm (UTC)no subject
Date: 2009-04-22 08:00 am (UTC)no subject
Date: 2009-04-24 08:00 am (UTC)В общем, запомню, кому нельзя заказывать софт.
no subject
Date: 2009-04-24 08:57 am (UTC)Софт не продаю и на заказ не делаю, так что можете не волноваться, гражданин потенциальный заказчик.
Не из Мозиллы пишете? Если из нее - сотрите, там тоже мои потенциальные баги. И в магазинах карточкой не платите, там тоже мои программы могут оказаться :(
no subject
Date: 2009-04-24 09:01 am (UTC)... я очень надеюсь, что в процессинговом софте Вашего кода нет. Хотя... ту программу, которая умудрилась провести транзакцию, не распечатав чека вообще... да, знакомый почерк.
no subject
Date: 2009-04-24 10:46 am (UTC)Это насчет "изобретать свои". Незнание, соединенное с апломбом - плохое сочетание.
Строго между нами - перед тем, как начать критиковать чужой код, надо хоть раз его увидеть. Иначе выходят глупые нападки неизвестно на что. А если и у самого знаний не хватает ("изобретать свои"), так и вовсе глупо. Что мы и имеем честь наблюдать в комментариях к данной заметке :(
no subject
Date: 2009-04-24 11:03 am (UTC)Делать бинарный многоплатформенный протокол - дело... ну, скажем так, для того, чтобы на это замахиваться, нужны ОЧЕНЬ веские основания.
Я уже 12 лет имею дело с программистами, и, увы, стиль мышления 90% их изучил досконально. Мне не обязательно видеть код, достаточно увидеть одну характерную ошибку.
no subject
Date: 2009-04-24 11:24 am (UTC)Вообще - скучный и бестолковый наезд. Знания о продукте ноль целых, ноль десятых. Знания о причинах тех или иных решений - ноль целых, ноль десятых. Одна нехарактерная ошибка (была бы характерная - не было бы смысла о ней писать, удивляясь самому себе) - и товарищ Апломб все обо мне знает. К сожалению, не зная при этом про stdint.h и считая его моей разработкой :(
Писькозакидательство и шапкомерянье "я уже 12 лет..." не пройдет - мой опыт наверняка не меньше и наверняка не хуже, снова облом. Мои соболезнования (и чтобы больше карточкой, да в магазине - ни-ни!)