?

Log in

No account? Create an account
 

Короче, эта неделя выдалась на редкость редкостной. Началось с того,…

About Уничтожить всех уродов

Previous Entry 29 июл, 2011 @ 13:51 Next Entry
Короче, эта неделя выдалась на редкость редкостной. Началось с того, что в понедельник, по дороге домой, я уронил мороженое на асфальт - и это было очень обидно.

Во вторник у меня сбойнул внешний жёсткий диск, на котором я храню все свои проекты (я бы хранил их на сервере в нашей локалке, если бы был уверен, что нечто такое, из-за чего пришлось восстанавливать все учётки, больше не произойдёт). Сбойнул так, что я программу как бы сохранил, что от её main.c осталось пустое место - размер тот же, название то же, а внутри не то чтобы нули - сам файл даже открыть не получилось. Ни скопировать, ни удалить. В отчаянии я перебрал несколько разных утилит, но помог старый добрый chkdsk, причём со второго раза - и в куче файлов типа FILE100500.CHK я обнаружил один, внутри которого осталась моя программа (а работал я над нею с прошлой осени, практически).

Восстановил файл и решил - а перенесу ка я всё дерево каталогов на локальный винт, в самом деле. У меня же RAID! Ну, перенёс. Пару существенных изменений в код добавил. И через полчаса у меня сдох комп, причём практически невосстановимо - на материнке выгорели силовые цепи понижатора напряжения питания процессора (из-за перегрева и почтеннейшего возраста электролитических конденсаторов, в полном составе решивших уйти на заслуженный отдых).

В среду я получил новый компьютер, неким чудом (при помощи аналогичной материнской платы) вытащив с RAIDа весь мой софт, поставил обновления и стал осваивать ненавистную Windows 7. Я привык к Windows 2000 и не менял бы её ещё лет сто, если бы не эта авария... в общем, переустановил рабочие инструменты, и решил убедиться в их работоспособности -- перекомпилировал проект, залил в дивайс и... не работает!

Путём последовательного разбирательства обнаружил, что если на старом компе все те же инструменты порождали файл с прошивкой размером 153Кбайт, то новая машина - при прочих равных - уже 170Кбайт. И эта прошивка абсолютно неработоспособна.

Тайно надеюсь, что дело в какой-то несовместимости старого софта с Windows 7 (НЕНАВИЖУ! НЕНАВИЖУ! но вынужден терпеть) - ставлю обновления, заплатки и всё такое. Проблема ещё и в том, что трафик ограничен 200 мегабайтами в день на человека - а один лишь апдейт для рабочего софта весит порядка 600Мб.

И вот уже пятница, а я всё ещё никак не могу справиться с этой сволочью. А жежешечка - это мелочи. Я и без жежешечки себя неплохо ощущаю.

P.S. Чтобы мало не казалось - дивайс, над которым работаю, подключён к последовательному порту. Старый добрый COM-порт, да. Во время работы программа выдаёт туда кучу всяких полезных сообщений. А вот глючная прошивка бросает туда один сплошной мусор... и вот сижу я, никого не трогаю - и вдруг мышиный курсор начинает по экрану не просто елозить, а летать туда-сюда, хаотически нажимая на кнопки, вызывая меню и так далее. Я в шоке - новый комп, и уже такую заразу подхватил? Или, быть может, BOFH развлекается с удалённым десктопом? Все догадки оказались неверны - оказывается, Windows 7 всё ещё помнит о былом существовании мышек на COM-порту и каким-то образом она решила, что мусор от глючной платы - это правильные сообщения от мышки. Сам бы не увидел -- никогда бы не поверил, что так бывает.
Оставить комментарий
[User Picture Icon]
From:metaclass
Date:Июль, 29, 2011 10:17 (UTC)
(Link)
Ну системы контроля версий же и бэкапы регулярные.
Какие такие "проекты на внешнем диске" в 2011 году?
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 10:30 (UTC)
(Link)
Ничего такого нету и бэкапить, по сути, некуда - разве что хранить несколько копий по разным местам
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 10:32 (UTC)
(Link)
а на внешнем винте для того, чтоб можно было отстегнуть и в кармане утащить
[User Picture Icon]
From:metaclass
Date:Июль, 29, 2011 10:47 (UTC)
(Link)
Mercurial. Держать три рабочие копии (которые содержат всю историю работы каждая) - на рабочем компе, носимом винте и дома. По завершению работы синхронизировать.
Риск потерять что либо сильно снижается, хранится история, видны сделанные изменения, итд.
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 11:51 (UTC)
(Link)
почитал описание работы

до чёрта дополнительной ручной работы.. ндэ
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 11:52 (UTC)
(Link)
если уж делать всё вручную, то проще просто архивировать
[User Picture Icon]
From:metaclass
Date:Июль, 29, 2011 12:22 (UTC)
(Link)
Не, там, если работать одному над исходниками, без коллег - то вся работа сводится к hg ci / hg push / hg pull / hg up.

Я сначала архивировал, потом перешел на Subversion, потом на Mercurial. Меркуриал оказался наиболее удобен.

[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 12:30 (UTC)
(Link)
удобнее всего, когда система контроля версий не просто встроена в IDE (как, например, сделано в Xilinx ISE - хотя там и не "контроль версий", а именно что архивирование целиком, снапшотами), а работает тихо и незаметно. Как один большой сплошной undo. Вот так было бы круто

а руками каждый раз в консоли что-то вбивать, даже такое короткое - .. в конце концов, забудешь или забьёшь на это дело
[User Picture Icon]
From:metaclass
Date:Июль, 29, 2011 12:54 (UTC)
(Link)
Не, один сплошной undo плохо - когда нужно сделать кусок работы, желательно завершенный и его закоммиттить, откомментировав, что ты делал - это сильно вправляет мозги.
Промышленная разработка софта без систем контроля версий просто не бывает.
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 15:14 (UTC)
(Link)
а у меня исходники и так наполовину из комментов состоят - потому что через полгода я не пойму, что и как делал
[User Picture Icon]
From:a_bronx
Date:Июль, 30, 2011 19:45 (UTC)
(Link)
Комменты к коммиту -- это не то же самое, что комменты к коду. В исходниках ты пишешь, как оно работает, а в комменте к changeset-у -- какой этап работы закончен. Появляется возможность сравнивать предыдущие версии и восстанавливать не только логику программы, но и последовательность твоих решений, которые привели к этой логике.
(Удалённый комментарий)
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 15:13 (UTC)
(Link)
дык вот переносной и сбойнул

но у меня появилась мысль. Ведь эт самое можно запилить в Makefile и либо автоматицки делать обновление репозитория во время каждой сборки, либо (или и то, и то) принудительно вызывать чем-нибудь типа make rep

Да и в меню Tools оболочки можно встроить... уже попроще будет
(Удалённый комментарий)
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 17:31 (UTC)
(Link)
Есть, но понадобится много-много выпилывания руками фигурных фигурок. Я и так много времени потерял после "аварии", мне работать надо
(Удалённый комментарий)
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 17:41 (UTC)
(Link)
вот у меня примерно та же мысль - VirtualBox и ниипёт... только я мой лицензионно чистый дистр Винтукея посеял - а диск-то кошерный был, с голой граммой... :(
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 17:34 (UTC)
(Link)
В смысле, наверняка можно соорудить нечто из Eclipse + компилятор (готового решения точно нет) или чего-нибудь эдакого + компилятор, но это если бы у меня был голый энтузязизм и много лишнего времени.

И, собсно, раньше "ненормальная"операционка проблем не вызывала. Совместимость, ёбы.
From:ex0_planet
Date:Июль, 29, 2011 17:49 (UTC)
(Link)
w2k в виртуалку и полетели
[User Picture Icon]
From:kincajou
Date:Июль, 29, 2011 18:29 (UTC)
(Link)
дистр не найти. Я его, дурак, забыл рипнуть - да так и осталось

но, вроде, всё то же самое работоспособно и в 32-битной ХР
From:ex0_planet
Date:Июль, 29, 2011 18:31 (UTC)
(Link)
msdn'овские имиджи в самзнаешькакой бухте еще плавают вроде.
правильные md5 можно найти в инете.
[User Picture Icon]
From:blackraven77
Date:Июль, 30, 2011 17:17 (UTC)
(Link)
У меня как-то подключённый к COM-порту GPS опознался как мышь и стал люто бешено возюкать курсором. О, я писал об этом.
(Оставить комментарий)
Top of Page Разработано LiveJournal.com