Воронеж F3K 19.06.2010
Те, что снимал утром, действительно были разминочные. Но их не много (снято возле палаточного городка).И снимал я их втихаря и между прочим. А вот те которые после соревнований, там народ старается не меньше, чем на турах.
Все предупреждены и все хотят реально посмотреть на свои забросы. Так, что если и были неудачные, то это случайные срывы.
Еще раз убеждаюсь, что у многих после нормального разбега происходит почти полная остановка и весь смысл пробежки теряется.
ЗЫ
Давайте обсуждение забросов перенесем в соответствующую тему. (Там где замедленная съемка). Наверно так лучше будет.
Во, я наконец то добрался до компьтера.
По соревнованиям всё понравилось. Особенно погода. Были конечно и минусы, но их мало и думаю Коля и Руслан всё исправят, если будут проводить ещё раз.
Отдельное спасибо хочется сказать Ряховскому Олегу, который как обычно приютил меня на время прибывания в Москве и Андрею Звонилкину, который вёз нас в Воронеж и обратно.
Поздравления Олегу и Коле! Олег летал очень аккуратно и заработал эту победу. Я же наоборот летал слишком рискованно и в трёх упражнениях получил нули за посадки вне зоны. Ну что ж, сам виноват. Коля молодец. При том, что организовал соревнования ещё и призовое место занял - монстр!
Ну и немного фоток
Во, я наконец то добрался до компьтера.
Эммм, ну раз добрался, так может это, обновить f3k.ru/calc.zip ? Или это к Сергеичу?
Я там всего-то поменял
--- F3KScore.java.orig 2010-06-21 18:45:29.319012174 +0400
+++ F3KScore.java 2010-06-21 19:52:33.196137335 +0400
@@ -55,6 +55,8 @@
textArea.append("\tPenalty support.\n");
textArea.append("\tPrinting support (Result, Scorecards, Startlist) .\n");
textArea.append(" \n");
+ textArea.append("version 7a:\tShift competitors in groups between rounds.\n");
+ textArea.append(" \n");
textArea.append(" \n");
textArea.append("Functional description:\n");
textArea.append(" \n");
@@ -1752,14 +1754,17 @@
public CompetitorGroup(Competition comp, int group, int round)
{
groupList = new Competitor[400];
+ Competitor _groupList[] = new Competitor[400];
competitorCount = 0;
for(int c = 0; c < comp.GetCompetitorCount(); c++)
if(comp.GetCompetitor(c).GetGroup(round) == group)
{
- groupList[competitorCount] = comp.GetCompetitor(c);
+ _groupList[competitorCount] = comp.GetCompetitor(c);
competitorCount++;
}
-
+ int shift = (group+17)*round;
+ for(int c = 0; c < competitorCount; ++c)
+ groupList[c] = _groupList[(c + shift) % competitorCount];
}
}
Зато теперь оно хронометристов нормально тассует. Это нам, чтоб в Твери успеть уже со всеми-всеми полетать.
А то в Воронеже я в турах общался всего-то с 5-ю фиксированными человечками. А преимущественно все более с Олегом Шешеня, да с Русланом. И вижу, что у всех остальных такая же фигня.
И, кстати, зная особенности программы (без сделанных сейчас изменений) можно очень легко, при составлении register-листа, добиться чтобы тебя хронометрили примерно одни и те же люди. Ну вот так поганенько програмка в этом месте была устроена. А теперь, все ОК.
Еще раз дам ссылку на подправленный бинарь
Ну так может сразу на русский её перевести для полноты?
ЗЫ. Есть обновлённая таблица по КР после воронежского этапа
ага, и добавить в упражнение С возможность лететь более 3-х раз
З.Ы.
Вить, jar - это не бинарь, а как раз исходник.
😃
Ещё немного фото, хоть и с опозданием. Не разобрался ещё как тут и куда размещать. rcopen.com/…/4c20f7819970730077439396
Вот поэтому и не смотрю телевизор.Такого понараскажут…😵
Вить, jar - это не бинарь, а как раз исходник.
😃 Это вообще - zip. А вот внутри может быть хоть исходник, хоть байт-код, хоть вообще мидлет какой-нибудь 😃. Впрочем я не джавист.
А слово бинарь так, для простоты понимания остальными.
а откуда у вас исходники проги?
Reverse Engineering?
Total Commander замечательно входит в jar, как в папку… ну а дальше - дело техники
😃
так там что исходники тоже запакованы или вы их декомпилировали?
Внутри JAR-а лежат классы, а по сути байт-код с отладочной информацией. Распаковали в один каталог. Мой программист сказал
$ jad [какие-то ключики] <файл_с_мэйн>
и получил один большой исходный файл.
Мы в этом файле покопались, обнаружили, что программа не умеет хранить порядок следования пилотов внутри групп (не пишет его в файл), почему почти всегда располагает их в одном и том же порядке. Именно поэтому Калгин всегда был первым, либо в первой либо во второй группе.
Ну и, чтоб порядок с одной стороны менялся, а с другой был неизменным при SAVE/LOAD файла, ввели сдвиг списка пилотов внутри группы от одного раунда к другому. Состав заранее созданных групп не меняется, а вот порядок меняется от раунда к раунду.
Поправив код, мы его опять скомпилировали под JRE 1.5 (ну чтоб у всех заведомо пошел) все несколько раз проверили и выложили.
P.S.
А програмка объявлена freeware и я не нашел в хелпе никаких запретов что-либо в ней менять. Хотя я бы её лучше GNU-сделал, так надежнее.
понятно, декомпилировали значит. Думаю, лучше все таки автора сначала спросить надо.
Виталик, мы в России, а по нашим законам можно никого и не справшивать. Причем это не шутка.
ГК РФ, ч. 4, ст. 1280 - Декомпилирование программ для ЭВМ, п. 3:
- Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой
Т.е. если я хочу заглянуть под юбку Наташе, я могу сославшись на желание повзаимодействовать с её бойфрендом, на полных законных основаниях раздеть эту самую Наташу и поглазеть.
😎
У нас, еще много всяких фокусов, позволяющих не спрашивать согласия автора. Так что большинство традиционных лицензионных ограничений - обходимы. А F3KScore, поскольку не содержит в себе лицензионного соглашения и ссылки на оное - вообще не является программой для ЭВМ, по крайней мере в той мере в которой такие программы защищает закон 😃
Я почему и сказал, что я бы сделал GNU, там хоть нормальная лицензия есть, которая гаратнирует, что программа навечно останется свободной для использования и доработок, а не станет внезапно жутко платной.
Я пытался контактировать автора программы, Peter Jubel, он сказал, что не даст исходный код, потому как не хочет. Я думаю, времени и желания у него нет на доработки и возню с клиентами. Кучу замечаний и пожеланий, которую я ему отправлял, он проигнориривал, вернее, просто ничего не произошло.
Я позавчера, вдохновленный этой темой и увидев, что коллеги уже занимаются доработкой программы, взял, потратил пару часов, и тоже нашел декомпилятор, разгрыз программу, и второй день ее переделываю. Внутреннюю модель данных пока менять не буду, чтобы можно было старые файлы читать. Но может, в конце концов, кое-что и там поменяю.
По этому поводу вопрос - Виктор, расскажи подробнее для тех, кто на пронепоезде: как вы там выбираете хронометристов? Берете следующую группу пилотов в качестве хронометристов? А как быть в случаях, когда пилот летает в 2х группах подряд? Или это работает только для 2х групп?
По этому поводу вопрос - Виктор, расскажи подробнее для тех, кто на пронепоезде: как вы там выбираете хронометристов? Берете следующую группу пилотов в качестве хронометристов? А как быть в случаях, когда пилот летает в 2х группах подряд? Или это работает только для 2х групп?
У нас обычно первую группу в туре хронометрит следущая группа этого же тура. А вот последнюю - хронометрит первая. По сути берешь таб StartList и на нем прямо справо от того, кто сейчас летит, читаешь его хронометриста.
У нас пилоты что-то не летают в одном ТУРЕ (в терминах этой программы Round) в двух группах подряд 😃 А у вас разве не так?
Тот фикс, что я привел, работает и для случая трёх и более групп. Формат мы тоже трогать не стали, потому и сделали простейший сдвиг по модулю. Сделали так для того, чтоб при перезагрузке сохраненного файла этот порядок сохранялся и можно было понять, кто-кого хронометрил.
Виктор, так что насчёт русификации программы?
Было бы очень полезно и удобно.
Но может, в конце концов, кое-что и там поменяю.
Да там бдлиннн, все надо менять. Так код не пишут 😃 На один процесс тассования групп взгляни… Ужассс. Хоть автору и спасибо огромное! Он сделал большое дело.
Наверное потому он код и не дает, что стыдно. Нам, кстати тоже стыдно за наш фикс, но так наиболее безболезненно для гарантий работоспособности.
Виктор, так что насчёт русификации программы?
Муторно… Я уже на пару часов человека занял. Делал бы сам, ноу проблем, а так… Код-то я вижу и более-менее понимаю что там написано, но вот всякие сборки, тесты, изменения манифестов и.т.п… Я последнее место все больше в ворде и экселе программирую, в том смысле что бюрократ от АйТи.
Но! Тут у нас есть еще один отечественный программер, ненароком проболтавшийся 😃