psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2010-07-30 01:08 am
Entry tags:

Bard 0.1.3

Долгими зимними вечерами продолжаю ваять "Bard". Готова очередная бета: версия 0.1.3.

Учтены многие пожелания и нарекания френдов. Те, что еще не учтены, можете не повторять, у меня все записано и распланировано до версии 0.2. Но, если найдете новые баги - очень хорошо.

Эта версия - серьезный шаг, поскольку полностью переработано "ядро" - хранение промежуточных редактируемых данных. Переработка позволила сделать операции Undo/Redo практически мгновенными, понаделать легко и просто "preview" - но ценой отказа от немедленного save после каждой операции. Как следствие, autosave и autobackup убраны, теперь работа с файлом выглядит совершенно "стандартно": можно закрыть без сохранения и т.п.

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

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

Что касается испытаний для Wine, то пока все плохо. Первая попытка поставить убунту провалилась - инсталлятор линукса сначала показал 731% прогресса исполнения, а потом заявил, что отсутствует root file system или что-то в этом роде и предложил исправить дело в "partitioning menu", которое вызвать никак нельзя. На этом все и зависло. Я воспользовался инсталлятором убунты поверх винды (wubi.exe) и сказал ставить ее на свободный диск F. Там NTFS, подозреваю, что проблема в этом - хотя я надеялся, что инсталляшка по крайней мере сформатирует тот диск. Ан нет. Интересно, FAT32 ее устроит?

- Полный список изменений на странице загрузки
- Прямая ссылка для скачивания инсталлятора (11 Мб)
- Список возможностей редактора

[personal profile] no1u1w1w6c 2010-08-05 12:01 pm (UTC)(link)
>катаклизму надо ставить тем, кто создает такие структуры
так вот чтобы сие понять, и надо на кэш посмотреть. вот убираем одно поле — и в кэш помещается 9e+3 всего. добавляем — и лезут промахи. вполне себе жизненная ситуация.

>релиз будет исполняться valgrind-ом, а не сам по себе?
а что такое «сам по себе»? O_O это тогда и без ядра ос, и без беблиотек? %-)

valgrind — это инструменталка. соответственно, ей скармливается то, что потом пойдёт «в печать». valgrind это исполняет и прилежно рапортует. если рапорт годный — «в печать» и идёт as is. если негодный — пилится дальше.

>либо у юзера будет работать быстро, либо со всякой трассировкой аллокаций
а при чём тут valgrind на стороне юзера? O_O

инструменталит софт девелопер, натурально. разница в том, что инструменталит он не некий непонятный код, собраный в «отладочном режиме», а самый что ни на есть боевой, который потом в неизменном (если повезло, и багов нет) виде пойдёт юзеру. таким макаром мы точно знаем, что проверяем именно юзерский вариант софта. ибо ты, думаю, не менее меня в курсе, как опции компилятора могут повлиять на забагованность.

конечно, остаются баги самого valgrind'а, но я за несколько лет ни разу на них не натыкался. а вот на «плавающие» ошибки, которые в «отладочном» варианте отсутствуют, а при сборке с -O3, например, в полный рост есть — это было не раз.

а вообще — ты не устал? мне уже как-то поднадоело срацца. давай объявим ничью. %-)

[identity profile] psilogic.livejournal.com 2010-08-05 01:02 pm (UTC)(link)
[ вполне себе жизненная ситуация. ]

структура размером > 4K - не вполне жизненная :)

[ а что такое «сам по себе»? ]

без присутствия каких-либо следов валгринда на релиз машине

[ инструменталит софт девелопер, натурально. разница в том, что инструменталит он не некий непонятный код, собраный в «отладочном режиме», а самый что ни на есть боевой, который потом в неизменном (если повезло, и багов нет) виде пойдёт юзеру. ]

...в заинструменталенном (читай: тормозящем) виде.

пиздец.

[ мне уже как-то поднадоело срацца. давай объявим ничью. ]

я думал, мы вроде как не на победу чьей то точки зрения, а просто пиздели :) кое-что новое для себя по ходу узнал - о красноглазых :)

[personal profile] no1u1w1w6c 2010-08-05 01:16 pm (UTC)(link)
>структура размером > 4K — не вполне жизненная
а вот несколько структур, которые ВНИЗАПНА! не помещаются в кэш парой полей — вполне жизненная.

>без присутствия каких-либо следов валгринда на релиз машине
натурально, так.

>…в заинструменталенном (читай: тормозящем) виде.
лолщито? я уже устал повторять, что релизный код — тот же самый, который гоняется под valgrind'ом. считай, что valgrind — это такой супервизор-частично-виртуализатор, только заточеный не на шуструю эмуляцию a-la vmware или vbox, а на сбор всяких данных об исполняющемся «родном» коде.

>я думал, мы вроде как не на победу чьей то точки зрения, а просто пиздели
ну да, если бы на победу — я бы раньше заебался. просто откровенно повторяться начинаем.

>кое-что новое для себя по ходу узнал — о красноглазых
и это для тебя было новостью? %-)

зыж я бы тебе предложил просто поставить valgrind, почитать доки и поиграться с ним. тогда масса непоняток пропадёт.

[identity profile] psilogic.livejournal.com 2010-08-05 03:53 pm (UTC)(link)
OK, завязываем. Я почитал доки по валгринду, там пишет, дескать, он готовый код переводит в псевдокод, инструментирует и переводит обратно в код. И что исполнение такого кода может быть в 4-5 раз медленнее. Все равно что дебажную версию от visual studio распространять.

[personal profile] no1u1w1w6c 2010-08-05 04:08 pm (UTC)(link)
>Все равно что дебажную версию от visual studio распространять.
ну вот при чём тут распространение? у тебя какое-то непонятное убеждение, что valgrind неведомым образом «пристёгивается» к программе и живёт вместе с ней. откуда? O_O

я ж уже не раз пояснял, что это эмулятор-супервизор, и код, который он жуёт, как раз и есть обычный выход обычного компилятора, без спецзаглушек и спецмодулей. gcc -O3 shit.c → valgrind ./a.out → cp a.out ~happyuser/release. при этом средний пункт ничего не добавляет, не убавляет и смело может быть опущен: код от этого не меняется. valgrind всё делает в реальном времени. может, от этого у тебя непонятка — тебе показалось, что он сначала превращает бинарь в неведомую ёбаную хуйню, а потом пристёгивает свой рантайм? ни разу, всё «на лету», во время исполнения и исключительно в памяти.

именно поэтому valgrind можно натравить на любой «нативный» x86/x64 бинарь (даже на виндовый софт, который стартует через вайн, и не обязательно его собирать gcc).