18 May 2011

Надо входить в нормальный ритм

Наконец-то закончился двухнедельный deadline.

Надо отсыпаться, приводить нервы в порядок, разгребать информационные завалы, которые и в обычном ритме имеют место быть. 

Скоростные забеги на короткие дистанции сильно выматывают. 

Ты теряешь счет дням и не знаешь какой сегодня день недели. Потому что ты работаешь каждый день. Смотришь на недовольные рожи людей в воскресенье вечером (им завтра на работу) и тебе смешно, потому что тебе тоже на работу, но ты работал и сб, и вс, и тебе уже как-то глубоко по фигу. 

Постоянный нервный прессинг, когда раздражение вызывают не только всякие реальные проблемы, но и мелочевка, вроде неприлично длинного процесса линковки проекта. 
Отсутствие отдыха сильно бьет по качеству кода. Голова вроде работает нормально, понимаешь что нужно делать, но руки почему-то пишут другое, порождая идиотские ошибки на ровном месте. КПД падает нереально. В какой-то момент понимаешь, что надо прекращать что-то писать, потому что вреда проекту от всего этого больше, чем пользы. 

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

Самое страшное из того, что случается -- задачи и проблемы, на решение которых непонятно сколько может уйти времени. Какие-то необъяснимые, совершенно иррациональные вещи. Когда все может решиться за минуту, а может -- за три дня, которых у тебя совершенно нет. Вот твоя сборка на одном макете работает без всяких проблем. Переносишь на другой, абсолютно аналогичный макет, и она там на ровном месте падает в seg fault. Ррррр!
Во всех подобных случаях начинаешь переходить на работу в режиме метода научного тыка. 
И, что интересно, моя голова во всех подобных ситуациях работала, на удивление, хорошо, довольно оперативно выдавая годные решения, которыми довольно быстро латали внезапные форс мажоры... 

Нагрузку на мозг нельзя механистично посчитать часами, проведенными за компьютером. В голове, пусть даже и в глубоком бекграунде, постоянно предпринимаются попытки проанализировать ту или иную проблему. Бывает "ложишься спать", а потом в течении двух часов подрываешься буквально каждые пять минут, чтобы зафиксировать какую-то пришедшую в голову мысль. Обеспечить организму нужную порцию отдыха, крепкого и здорового сна, бывает предельно сложно, что самым фатальным образом сказывается на работоспособности.  

Алкоголь бывает помогает, а бывает что и нет. Часто это похоже на допинг, когда совершенно убитый получаешь ложный заряд бодрости, тратишь его, а потом оказываешься в еще более глубоком дауне. Злоупотреблять этим, очевидно, не стоит. 

***

Такое вот средство спец связи для не самых последних лиц государства. 




Фактически VoIP терминал. 

Под капотом два камня -- центральный процессор, какой-то самсунговский ARM, плюс Blackfin Bf-537 в качестве звуковой точки TDM/RTP. 

На ARM'е крутится Linux. Из периферии -- экран, AC97, две клавиатуры, одна из которых обслуживается восьмиразрядным MCU, а вторую, блин, надо обслуживать через PIO (нецензурная брань). Аппаратно многие вещи продиктованы не соображениями здравого смысла, а вещами совсем иного рода. 
Экран -- 7", 800x480. Углы обзора по вертикали на редкость дрянные. Сначала думали делать его сенсорным, но потом обломались.  
С поддержкой своей платформы у Samsung полный пиздец, и это на фоне общей атмосферы Linux разпиздяйства. Итого -- куча времени и сил, которые траться на решение самых элементарных вопросов. Чтение через гугл транслейт каких-то форумов, писанных иероглифами, самое обычное дело... 

На Blackfin'е используется проприетарная RTOS от Analog Device (в свое время были на развилке, она, либо Linux, все никак не доходят руки подробнее рассказать об этом нелегком выборе). Оба камня имеют Ethernet, по нему же ARM и управляет Bf-537. 

По итогам всего этого дела есть, как минимум, пара интересных девелоперских историй. Б-г даст мне силы, и может я их напишу их для этого блога.

Пока все. 

No comments:

Post a Comment