|
29 июл, 2011 @ 13:51
|
---|
Короче, эта неделя выдалась на редкость редкостной. Началось с того, что в понедельник, по дороге домой, я уронил мороженое на асфальт - и это было очень обидно.
Во вторник у меня сбойнул внешний жёсткий диск, на котором я храню все свои проекты (я бы хранил их на сервере в нашей локалке, если бы был уверен, что нечто такое, из-за чего пришлось восстанавливать все учётки, больше не произойдёт). Сбойнул так, что я программу как бы сохранил, что от её main.c осталось пустое место - размер тот же, название то же, а внутри не то чтобы нули - сам файл даже открыть не получилось. Ни скопировать, ни удалить. В отчаянии я перебрал несколько разных утилит, но помог старый добрый chkdsk, причём со второго раза - и в куче файлов типа FILE100500.CHK я обнаружил один, внутри которого осталась моя программа (а работал я над нею с прошлой осени, практически).
Восстановил файл и решил - а перенесу ка я всё дерево каталогов на локальный винт, в самом деле. У меня же RAID! Ну, перенёс. Пару существенных изменений в код добавил. И через полчаса у меня сдох комп, причём практически невосстановимо - на материнке выгорели силовые цепи понижатора напряжения питания процессора (из-за перегрева и почтеннейшего возраста электролитических конденсаторов, в полном составе решивших уйти на заслуженный отдых).
В среду я получил новый компьютер, неким чудом (при помощи аналогичной материнской платы) вытащив с RAIDа весь мой софт, поставил обновления и стал осваивать ненавистную Windows 7. Я привык к Windows 2000 и не менял бы её ещё лет сто, если бы не эта авария... в общем, переустановил рабочие инструменты, и решил убедиться в их работоспособности -- перекомпилировал проект, залил в дивайс и... не работает!
Путём последовательного разбирательства обнаружил, что если на старом компе все те же инструменты порождали файл с прошивкой размером 153Кбайт, то новая машина - при прочих равных - уже 170Кбайт. И эта прошивка абсолютно неработоспособна.
Тайно надеюсь, что дело в какой-то несовместимости старого софта с Windows 7 (НЕНАВИЖУ! НЕНАВИЖУ! но вынужден терпеть) - ставлю обновления, заплатки и всё такое. Проблема ещё и в том, что трафик ограничен 200 мегабайтами в день на человека - а один лишь апдейт для рабочего софта весит порядка 600Мб.
И вот уже пятница, а я всё ещё никак не могу справиться с этой сволочью. А жежешечка - это мелочи. Я и без жежешечки себя неплохо ощущаю.
P.S. Чтобы мало не казалось - дивайс, над которым работаю, подключён к последовательному порту. Старый добрый COM-порт, да. Во время работы программа выдаёт туда кучу всяких полезных сообщений. А вот глючная прошивка бросает туда один сплошной мусор... и вот сижу я, никого не трогаю - и вдруг мышиный курсор начинает по экрану не просто елозить, а летать туда-сюда, хаотически нажимая на кнопки, вызывая меню и так далее. Я в шоке - новый комп, и уже такую заразу подхватил? Или, быть может, BOFH развлекается с удалённым десктопом? Все догадки оказались неверны - оказывается, Windows 7 всё ещё помнит о былом существовании мышек на COM-порту и каким-то образом она решила, что мусор от глючной платы - это правильные сообщения от мышки. Сам бы не увидел -- никогда бы не поверил, что так бывает.
|
Ну системы контроля версий же и бэкапы регулярные. Какие такие "проекты на внешнем диске" в 2011 году? Ничего такого нету и бэкапить, по сути, некуда - разве что хранить несколько копий по разным местам а на внешнем винте для того, чтоб можно было отстегнуть и в кармане утащить Mercurial. Держать три рабочие копии (которые содержат всю историю работы каждая) - на рабочем компе, носимом винте и дома. По завершению работы синхронизировать. Риск потерять что либо сильно снижается, хранится история, видны сделанные изменения, итд. почитал описание работы до чёрта дополнительной ручной работы.. ндэ если уж делать всё вручную, то проще просто архивировать Не, там, если работать одному над исходниками, без коллег - то вся работа сводится к hg ci / hg push / hg pull / hg up. Я сначала архивировал, потом перешел на Subversion, потом на Mercurial. Меркуриал оказался наиболее удобен. удобнее всего, когда система контроля версий не просто встроена в IDE (как, например, сделано в Xilinx ISE - хотя там и не "контроль версий", а именно что архивирование целиком, снапшотами), а работает тихо и незаметно. Как один большой сплошной undo. Вот так было бы круто а руками каждый раз в консоли что-то вбивать, даже такое короткое - .. в конце концов, забудешь или забьёшь на это дело Не, один сплошной undo плохо - когда нужно сделать кусок работы, желательно завершенный и его закоммиттить, откомментировав, что ты делал - это сильно вправляет мозги. Промышленная разработка софта без систем контроля версий просто не бывает. а у меня исходники и так наполовину из комментов состоят - потому что через полгода я не пойму, что и как делал Комменты к коммиту -- это не то же самое, что комменты к коду. В исходниках ты пишешь, как оно работает, а в комменте к changeset-у -- какой этап работы закончен. Появляется возможность сравнивать предыдущие версии и восстанавливать не только логику программы, но и последовательность твоих решений, которые привели к этой логике. дык вот переносной и сбойнул но у меня появилась мысль. Ведь эт самое можно запилить в Makefile и либо автоматицки делать обновление репозитория во время каждой сборки, либо (или и то, и то) принудительно вызывать чем-нибудь типа make rep Да и в меню Tools оболочки можно встроить... уже попроще будет Есть, но понадобится много-много выпилывания руками фигурных фигурок. Я и так много времени потерял после "аварии", мне работать надо вот у меня примерно та же мысль - VirtualBox и ниипёт... только я мой лицензионно чистый дистр Винтукея посеял - а диск-то кошерный был, с голой граммой... :( В смысле, наверняка можно соорудить нечто из Eclipse + компилятор (готового решения точно нет) или чего-нибудь эдакого + компилятор, но это если бы у меня был голый энтузязизм и много лишнего времени. И, собсно, раньше "ненормальная"операционка проблем не вызывала. Совместимость, ёбы. w2k в виртуалку и полетели дистр не найти. Я его, дурак, забыл рипнуть - да так и осталось но, вроде, всё то же самое работоспособно и в 32-битной ХР msdn'овские имиджи в самзнаешькакой бухте еще плавают вроде. правильные md5 можно найти в инете. У меня как-то подключённый к COM-порту GPS опознался как мышь и стал люто бешено возюкать курсором. О, я писал об этом.
|
|