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 Мб)
- Список возможностей редактора

[identity profile] psilogic.livejournal.com 2010-08-04 03:58 pm (UTC)(link)
ага, значит что-то типа CVS-а только на интернет-портале, понядно

пользуюсь я на работе консольным cvs.exe, а дома вообще zip-ом. причем, zip получается удобнее :)

про MinGW - чем он кошернее visual-студии? неужто под вайном работает?

[personal profile] no1u1w1w6c 2010-08-04 04:06 pm (UTC)(link)
>пользуюсь я на работе консольным cvs.exe
скорблю вместе с тобой. я бы не выдержал такое говно использовать.

>про MinGW — чем он кошернее visual-студии?
а) бесплатный (про кастрированый «экспресс» не надо, мы ж приличные существа);
б) поддерживает C99 и Cx00 частично, posix. а сраная студия C99 до сих пор не умеет — хуле, лидер технологий. про posix даже не мечтаю, чо.

[identity profile] psilogic.livejournal.com 2010-08-04 04:19 pm (UTC)(link)
[ скорблю вместе с тобой. я бы не выдержал такое говно использовать ]

я тут редко пользуюсь чем-то более сложным, чем commit/update. а эту функцию cvs.exe исполняет спокойно

[ про кастрированый «экспресс» не надо, мы ж приличные существа ]

нуу... а в MinGW приличный GUI с отладчиком есть?

[personal profile] no1u1w1w6c 2010-08-04 04:28 pm (UTC)(link)
>я тут редко пользуюсь чем-то более сложным, чем commit/update
это в основном потому, что даже сие цвс исполняет через жопу. я пока git не открыл для себя — тоже пользовался архивчиками и был доволен. теперь же первым делом пишу git init, даже если проект класса «привет, ебучий мир!»

>а в MinGW приличный GUI с отладчиком есть?
э… «приличный GUI с отладчиком» — это оксюморон. ну какой на винде вообще может быть отладчик, для начала? на системе, где штатно даже core dump не сделать? где ни штатного, ни нештатного valgrind нет? смищно. это раз.

гуя для отладчика — это примерно как хуй на лбу у пианиста: забавно, но бесполезно. это два.

gdb есть. это три. gdb везде есть, даже на кофемолке.

есть даже Qt Creator, где таки привинчены никому не нужные гуя, скриптуемые на гвидобейсике, кажется. это четыре.

зыж никогда не понимал, нахрена вообще отладчик нужен. ну, кроме того, чтобы глянуть в core dump, когда софтина рухнула. логи, да встроеный в софтину язычок для доступа к кишкам — решают.

[identity profile] psilogic.livejournal.com 2010-08-04 04:33 pm (UTC)(link)
[ зыж никогда не понимал, нахрена вообще отладчик нужен. ну, кроме того, чтобы глянуть в core dump, когда софтина рухнула. ]

ты к отладчику относишься как я к cvs - пользуешься корами и доволен :)

[personal profile] no1u1w1w6c 2010-08-04 04:40 pm (UTC)(link)
ага. баги в логике мне логи доставляют, а тезнические баги отлично ловит valgrind (не понимаю, как без него вообще что-то писать возможно; что приятно — valgrind вполне можно натравить на софтину, запущеную под вайном, и если она собрана MinGW — он подхватит отладочную инфу).

[identity profile] psilogic.livejournal.com 2010-08-04 04:53 pm (UTC)(link)
в студии есть свой valrind :)

основной плюс отладчика с GUI - минимальное время для ловли багов
а время - деньги :)

[personal profile] no1u1w1w6c 2010-08-04 05:00 pm (UTC)(link)
>в студии есть свой valrind :)
к сожалению, нет. то ублюдство, что там дают, даже на самокат не тянет, а ты его с «ламборджини» сравниваешь.

>основной плюс отладчика с GUI — минимальное время для ловли багов
неа. основной плюс отладчика с гуями — это помощь в имитации работы.
— чо делаешь?
— да вот, отлаживаю.
— а, ну-ну, молодец, работай дальше.

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

[identity profile] psilogic.livejournal.com 2010-08-04 05:13 pm (UTC)(link)
[ то ублюдство, что там дают, даже на самокат не тянет, а ты его с «ламборджини» сравниваешь. ]

неужели у "ламборджини" есть удобный GUI?
(кажется, я знаю ответ...)

[ а время, затраченое на поиск ошибок, только увеличивается ]

докажи =)

[personal profile] no1u1w1w6c 2010-08-04 06:06 pm (UTC)(link)
у «ламборджини» есть всё. потому что она — «ламборджини». %-)

>докажи
интересно, как ты это представляешь? %-)

[identity profile] psilogic.livejournal.com 2010-08-04 05:46 pm (UTC)(link)
по поводу отладчиков, кстати, вспоминается эпический срач у зомбиватора :)

фишка в том, что это сильно от разрабатываемой программы зависит - не везде отладчик поюзаешь. но там, где можно поюзать, он экономит время.

а про тупое тыцанье по брякпоинтам - это из разряда "зелен виноград" в басне Крылова :)

[personal profile] no1u1w1w6c 2010-08-04 06:11 pm (UTC)(link)
да нихрена оно не экономит. я ж тоже уже не первый десяток лет софт ваяю, и к идее «отладчик нахер не нужен» пришёл не сразу. отладчик — в традиционном понимании — это инструмент тупой обезьяны: обезьяна сидит и тупо пялится в долбаггер, ожидая Божественного Вдохновения. это заместо чтобы:
а) сразу делать много вкусных логов в софте (очень полезная привычка, кстати сказать; вообще, любой софт сложнее «привета» должен, ящитаю, иметь командную консоль a-la Quake, куда активно и срать);
б) при помощи оных логов быстро локализовать место ошибки и прибить оную путём чтения-правки исходника.

вот честно: сколько у меня было ошибок — отладчик мне помогал только наиболее продуктивно просрать время, тупо трассируя говнокод. но отучался я от него с матом, конечно, ибо пялиться в отладчик очень увлекательное занятие (как и многая другая бессмыслица).

[identity profile] psilogic.livejournal.com 2010-08-04 07:03 pm (UTC)(link)
Ты берешь худший случай и доказываешь, что он худший :) Трассировка - самое бестолковое использование отладчика, какое только есть. Для этого и GUI не надо.

А вот, скажем, отлов исключения ДО момента его выброса без перекомпиляции. Или edit-and-continue для ситуации, которую трудно воспроизвести. Или отлов момента переполнения буфера непонятно кем и непонятно, когда - после того, как тот же отладчик уведомил о переполнении и сказал ГДЕ.

[personal profile] no1u1w1w6c 2010-08-04 07:17 pm (UTC)(link)
>А вот, скажем, отлов исключения ДО момента его выброса без перекомпиляции
как я давно говорю, исключения не надо отлавливать, их надо логировать и сразу падать нахуй. натурально, если софтина ведёт аккуратный лог, то по нему вполне себе понятно, что произошло. отладчик снова не нужен.

>Или edit-and-continue для ситуации, которую трудно воспроизвести
а для этого у меня есть командная консоль и встроеный скриптовый язык. на котором я и стараюсь писать максимальную часть софта. опять отладчик не нужен.

>Или отлов момента переполнения буфера непонятно кем и непонятно, когда — после
>того, как тот же отладчик уведомил о переполнении и сказал ГДЕ.

как же вам тяжко-то без valgrind'а. а у нас этим занимается именно он. в том числе он умеет сообщать и про использование непроиниченых переменных (с чем компилятор справляется далеко не всегда), и про то, куда память проебалась и где она была выделена, и строить профили cache miss, и ещё over 9000 гитик. и всё это, заметим, без перекомпиляции или линковки специальных «отладочных» библиотек. достаточно догадаться не стрипать символы — и всё будет в лучшем виде. и снова — да — отладчик не нужен.

отладчик — это такой инструмент, который издалека кажется полезным, а вблизи оказывается гибридом ёжика и бензопилы: смешно, забавно, бесполезно и неудобно.

[identity profile] psilogic.livejournal.com 2010-08-04 07:26 pm (UTC)(link)
[ как я давно говорю, исключения не надо отлавливать, их надо логировать и сразу падать нахуй. ]

зачем нахуй? хую больно =) ты так весь код себе "излоггируешь" - получатся та же самая отладка по брекпоинтам, только через жопу

[ а для этого у меня есть командная консоль и встроеный скриптовый язык. на котором я и стараюсь писать максимальную часть софта. опять отладчик не нужен. ]

отладчик вообще не нужен. он только ускоряет процесс. это надо писать консоль, скриптовый йэзыг... а в нем тоже логи? а для логов еще один язык? :)

[ как же вам тяжко-то без valgrind'а. а у нас этим занимается именно он. ]

"у нас" этим отладчик студии занимается - "именно он!" (C)

ежиком тоже надо уметь пользоваться :) а если в молодости был травмирующий опыт ... тогда канэшна, "все бабы бляди!" :)

[personal profile] no1u1w1w6c 2010-08-04 07:46 pm (UTC)(link)
>ты так весь код себе "излоггируешь" — получатся та же самая отладка по
>брекпоинтам, только через жопу

не весь, а ключевые места. их не так много, на самом деле. у тебя виндовз головного мозга (не в обиду): там не принято, чтобы программы рассказывали военные секреты. а у меня юникс головного мозга: я считаю, что программа должна срать в логи как можно больше. причём юникс головного мозга у меня случился задолго до того, как я первую *nix-систему увидел. %-) отчасти это наследие DOS, где мелкий жоп часто приводил к весёлому ребуту.

>"у нас" этим отладчик студии занимается — "именно он!"
это опять ВГМ. у больных ЮГМ мнение другое: один инструмент для одной задачи. поэтому тот же valgrind состоит из нескольких программ, например.

кстати: не подскажешь, как мне у студии добыть хотя бы инфу по cache misses? нененене, покупать 3rd-party тулзы не предлагай, ты сказал, что оно это умеет.

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-04 20:23 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-04 20:33 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-04 20:52 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-05 07:42 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-05 10:16 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-05 10:32 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-05 11:08 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-05 11:29 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-05 11:42 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-05 12:01 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-05 13:02 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-05 13:16 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-05 15:53 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-05 16:08 (UTC) - Expand

[personal profile] no1u1w1w6c 2010-08-04 07:48 pm (UTC)(link)
ах, да, забыл:

>это надо писать консоль, скриптовый йэзыг...
ровно один раз. и потом спокойно таскать из проекта в проект. как я и делаю, тащемта.

[personal profile] no1u1w1w6c 2010-08-04 07:18 pm (UTC)(link)
ах, да, чуть не забыл: в настоящих ОС core dump — возможность штатная. мне кажется, иметь слепок упавшей программы намного удобней, чем пыриццо в отладчик, зная, что она сейчас всенепременно наебнётся.

[identity profile] psilogic.livejournal.com 2010-08-04 07:28 pm (UTC)(link)
ну ты же наверное фкурсе что в винде есть своя разновидность коредампа - подъем отладчика на ассерт или падение

которая не засирает диск мусором :)

[personal profile] no1u1w1w6c 2010-08-04 07:37 pm (UTC)(link)
ага. при условии, что оный отладчик там ваще есть. в нормальной же ОС я могу получить от человека корку и спокойно её посмотреть у себя. и человеку при этом не надо ставить какие-то непонятные инструменты, всё уже есть из коробки.

проще говоря: в игрозапускалке тупо на одну возможность меньше. причём на возможность удобную: кородампов мне в ней охуеть, как не хватает.

[identity profile] psilogic.livejournal.com 2010-08-04 07:05 pm (UTC)(link)
любые логи - это трата времени на их подготовку. отладчик не запрещает делать логи, но, блЯгодаря ему, логи делаются только когда реально необходимы.

и, кстати, логи в окно отладчика - очень полезная штука :)

[personal profile] no1u1w1w6c 2010-08-04 07:11 pm (UTC)(link)
>любые логи — это трата времени на их подготовку
а любой код — это трата времени на его набор, ага.

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

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

[identity profile] psilogic.livejournal.com 2010-08-04 07:15 pm (UTC)(link)
[ а любой код — это трата времени на его набор, ага ]

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

[ что забавно — я с годами пришёл ко мнению, что логи необходимы всегда. ]

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

[ особенно когда программа работает хуй знает где, да ]

особенно когда программа работает чуть ли не у меня на хуе =)

[personal profile] no1u1w1w6c 2010-08-04 07:22 pm (UTC)(link)
>а логи — с каким-то другим методом для той же цели.
сначала полезно цель определить. как я написал, я не рассматриваю логи как «отладочный инструмент».

>студенческих printf
отчего же «студенческих»? думаешь, если у тебя watch window, это не тот же самый printf? да тот же самый, тащемта.

хотя да — я, конечно, использую gdb. как post mortem debugger.

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-04 19:30 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-04 19:39 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-04 20:19 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-04 20:26 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-04 20:30 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-04 20:35 (UTC) - Expand

(no subject)

[identity profile] psilogic.livejournal.com - 2010-08-04 20:53 (UTC) - Expand

(no subject)

[personal profile] no1u1w1w6c - 2010-08-05 07:31 (UTC) - Expand

[personal profile] no1u1w1w6c 2010-08-04 04:07 pm (UTC)(link)
кстати, под вайном отлично работает: я так продажный софт разрабатываю. для венды, ага.