17 дек. 2009 г.

Следующая версия будет 2.5

На сегодняшний день имеем такую ситуацию:
  • StarTeam — текущая версия Гедымина с более-менее проверенными изменениями. Именно из исходников из StarTeam ежедневно компилируется и выкладывается на сайт новейший gedemin.exe.
  • Trunk в SubVersion является урезанной копией исходников их StarTeam. Отсутствует FastReport 4, по причине авторских прав, архив Obsolete, рабочие версии документации, вспомогательные каталоги Test, Utility и т.п.
  • Периодически состояние Trunk фиксируется тэгами. Из коментария к тэгу должно быть понятно для чего он создавался. Судя по тэгам, номер текущей версии — 1.5.2.
  • Ветвь branches/gedemin-1.x содержит исходники Гедымина, без использования особенностей сервера Firebird 2.5. Я вручную перекидываю сюда некоторые правки из StarTeam.
  • Ветвь branches/gedemin-2.5 — экспериментальная разработка. Скомпилированный отсюда экзешник не будет работать с сервером версии меньше 2.5 (а временами, и вообще не будет работать :). В ближайшем будущем, после тестирования и доводки, ветвь будет объединена с Trunk.
Следующая версия Гедымина будет иметь номер 2.5 и будет работать только с сервером Firebird 2.5 или выше.

После 2.5 будет принято решение по целесообразности дальнейшего использования StarTeam. Скорее всего, откажемся от него в пользу SubVersion.

14 дек. 2009 г.

MSSQL и урезание лога транзакций

StarTeam, который мы используем для контроля за версиями исходников Гедымина, хранит данные в базе MSSQL. Каждые два года лог транзакций MSSQL начинает резко увеличиваться в размерах, пожирая все свободное пространство на диске. Решить эту проблему изнутри StarTeam невозможно. Каждые два года приходится лазить по компьютерным форумам в поисках магической последовательности команд:

isql -S (local)\STARTEAM -U GEDEMIN
1> backup log GEDEMIN with NO_LOG
2> go
1> backup log GEDEMIN with TRUNCATE_ONLY
2> go
1> DBCC SHRINKDATABASE(GEDEMIN)
2> go
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Как выяснилось, именно гигантский (в десятки Гб) лог и был причиной того, что сервис StarTeam перестал стартовать при запуске ОС. Очевидно, не успевал проверить свой лог в отведенное время и винда его просто срубала раньше времени.

То ли дело Firebird -- ни логов транзакций, ни проблем с ними связанных...

11 дек. 2009 г.

DUnit testing framework

Outlook of gedemin.exe compiled with DUNIT_TEST conditional symbol defined.

They are only first steps and only few tests exist, but more are coming.

9 дек. 2009 г.

Группа на январь 2010

Скорее всего, если удастся согласовать расписание работы учебного центра, следующая группа будет в двадцатых числах января 2010 г. Следите за объявлениями на сайте!

Gedemin 64 bit

TgsStream64 из модуля gsMMFStream позволяет работать с огромными объемами данных.
    ...
    function Seek(Offset: Int64; Origin: Word): Int64;

    property Position: Int64 read GetPosition
      write SetPosition;
    property Size: Int64 read FStreamSize;
    ...


В качестве нижележащего механизма хранения используется Memory Mapped File. В настоящий момент TgsStream64 используется в окне с логом операций, которое видит пользователь при загрузке настройки или данных из потока.

2 дек. 2009 г.

Роман "Паранойя" официально запрещен в Беларуси

Віктар Марціновіч піша ў сваім блогу:
Я узнал об этом здесь, в Таллине, на фестивале Black nights, где вчера представлял книгу кинопродюссерам и кинорежиссерам. Мой роман вошел в число 14 литературных произведений со всей Европы (Финляндия, Латвия, Эстония, Германия, Швеция и т. п.), которые были отобраны жюри для участия в специальной программе Books to films.

Не могу описать то чувство, которое испытываешь, когда заходишь в Интернет, почитать новости с родины, и натыкаешься на вот это, написанное ПРО ТЕБЯ, и глаза уже прочли, а голова отказывается сопоставить этого марцiновiча - с тобой, с тобой, с тобой:

http://nn.by/index.php?c=ar&i=32319

Не будем обманываться: "не рекомендован" в наших условиях - это самый серьезный и страшный запрет. Меня поставили в один ряд с... Я даже не знаю, мне не приходит в голову ни одна художественная книга, которой нельзя или нельзя было торговать. Ведь в романе нет ни Лукашенко, ни - даже КГБ (я стал первым? я стал Солженицыным наших дней? Как странно и смешно!)

И, конечно, обжигает вопрос:

ЗА ЧТО?

За трогательный мир героев, за этих "медведИн" (правильно так) и "лизоблюдца"? За их страх? За их любовь?

Они запретили любовь?

Я пишу это в уютном кафе и меня окружают сытые, довольные жизнью эстонцы, а чувство, которое доминирует сейчас во мне - все та же самая паранойя, "Паранойя", ПАРАНОЙЯ, и меня колотит, и я не попадаю по клавишам - точно также, как не попадал, когда писал сам текст романа.

И вот еще: ведь глупо запрещать! Ведь нужно теперь задраить интернет, нужно закрыть Управу, нужно запретить людям ездить в Москву, откуда роман привозят пачками. ЗАЧЕМ?

Зачем запрещать то, что невозможно запретить? Тем более если это - художественный роман с вымышленными персонажами? Если это - мой Минск, мой сказочный, холодный и страшный город?

Друзья! Френды и просто люди, знающие меня! Давайте сделаем так, чтобы об этом запрете узнало как можно больше людей! Давайте сделаем так, чтобы всколыхнулась Сеть! Чтобы услышали в Украине, в России, в Быхове! Потому, что дальше будут запрещать Гарри Поттера и Оруэлла, "Бесы" и "Механический апельсин".

Ведь, как мне написала одна читательница, сканы книги уже есть в Интернете и люди скачивают, а теперь будут скачивать еще больше!

И ведь как странен этот бой: это не бой за правду, это бой за ВЫМЫСЕЛ, за право человека выдумывать миры, как бы страшны и неприятны они не казались...

Завтра с утра я возвращаюсь в Минск после почти месячного отсутствия. Все, кто меня искал, все, кто звонил и утыкался в отключенный телефон - я жду Ваших звонков.

Мне страшно ехать обратно - это иррациональный и дурацкий страх, который каждый из Вас прекрасно знает. И, что бы ни произошло: завтра, через месяц, через год; с книгой, со мной, с Беларусью - вот так вот, таким вот подленьким шепотком, и пишется история. Дай Бог всем нам проснуться!

Или закрыть ту книгу, ту страшную и дурацкую книгу реальности, которую мы читаем уже столько лет!