Перенес статью Embedding the Editor с mozilla.org на DevMo. Просто сейчас по работе надо было разобраться с этим самым editor’ом и статья запрошена на перенос. Ну, вот и сделал доброе дело.
Кстати, должен заметить, что это мощьная вещь, даже не смотря на все недочеты в архитектуре. И хотя архитектура не менялась коренным оразом, современный editor лишен практически всех недостатков из прошлого.
PS: Кому интересно, скоро смогу показать небольшой работающий редактор.
Пока релиза еще не было (намечен он на 29/11/2005), но больших изменений уже не будет. Вот мои впечатления.
На глаз работает быстрее, хотя, это скорее от того, что я на нее еще не понавешевал разных фенечек. Просто кучи новых приятностей. Например, она знает что такое SVG и canvas (пример). Вперед-назад, как и обещали, происходит очень быстро. А еще страницы начали рендериться по мере загрузки.
Отдельного спасибо заслуживают изменения у ей во внутре. Наконец-то разработчики подумали о братьях по разуму, то есть о других разработчиках. Большая куча непонятных вещей заменена понятными. Разработка расширений стала гораздо проще. Вот только-что наваял малюсенький примерчик. И работает ведь! И дальнейшая разработка этого примерчика не сложная. Не надо перепаковывать ничего, не надо переустанавливать расширение. Можно сделать текстовую ссылочку на папочку, где лежит распакованный екстеншн и все будет намана. Только Лису прийдется перезапускать (но это она делает тоже быстро). В общем, все гораздо лучше, чем было когда-то.
Есть в Антарктике самая редкая профессия на Земле. Переворачиватель Пингвинов. Может она официально как-то по-другому зовётся, но не в этом дело. Дело в том, что пингвин, если упадёт на спину, то не может самостоятельно встать. В нормальных условиях пингвин вообще-то никогда на спину не падает — то ли ему хвост мешает, то ли центр тяжести так расмоложен. Но в Антарктике, рядом с аэродромами, там где летают всякие самолёты-вертолёты пингвины так сильно задирают голову на звук, что некоторые из них возьмут да и брякнутся на спину без надежды встать самостоятельно.
И вот для этих то целей и есть Переворачиватель Пингвинов. После каждого взлёта или посадки он ходит вокруг аэродрома и ставит бедных пингвинов на ноги. Очень редкая и вместе с тем одна из самых-самых добрых профессий.
Первоисточник
Посмотрел только-что клип Kylie Minogue - I should be so lucky.
Почему-то эта музыка пробуждает во мне новогоднее настроение. Не празничное, а именно новогоднее.
Волею случая пришлось мне сделать большую глупость. Пришлось переписать все сетевое взаимодействие из Индикатора на потоках. Как-то с горем пополам отладил его на своей рабочей машине (WinXP). Но приложение должно работать на Win98. Как выяснилось позже, оно там не работает. Ладно. Пересел за 98. Нарисовал там Delphi. Поставил все необходимоеначал отлаживать. Дальше началась сказака под названием “Тысяча и один BSoD” по мотивам легенды о Бермудском треуголнике. Потоки то исчезают, то появляются. Отладке все это не поддается совершенно. Как только выпадаю по бряку в “сетевом” потоке, он теряется. Продолжение выполнение часто заканчивалось тем самым BSoD’ом. Если бряк на основном потоке, то дочерные не саспендятся и все разом благополучно сваливается в BSoD как только дочерный поток хочет что-то сказать основному потоку. На XP таких проблем вообще не было. Как-то там все тих мирно так проходило. Никто нигде не терялся. Ничего не отваливалось…
Я восхищаюсь гипотетическим программистом, которому удавалось нормально писать многопоточные приложения под Win98.
Но до этого имел место быть опус “О поисках Святого winsock2.dll”. Приложение долго вылетало по Runtime Error 217, который вылезал сразу после ошибки 1157 (это когда приложение не может выполняться, бо какой-то либы не нашло). Так вот. Сначала я перевернул полсети в поисках обновления сокетных либ (это единственная разница в требованиях можду этой и предыдущей версиями Индикатора) на Win98. Потом перекопал полсайта M$. Перевернул вверх дном ихний FTP. Нашел только обновление на Win95, которое очень упрямилось вставать на Win98. Ну, ниче… И не таких обламывали… В общем, выковырял я либы. Положил к приложению и тогда началась уже возня с потоками. Когда я увидел, что приложение с горем пополам начинает работать когда ему подложить весь комплект winsock2 (десятка два файлов), я задался вопросом “Обновления нету и либ нету… Как же так?”. Поиск дал неожиданный вариант. Все эти либы есть, но там, где их никто не найдет. В Win98 есть такой юморной момент. Сразу после установки у нее в PATH нету c:\windows\system. Но именно там лежат либы от winsock2. Так сложилось, что я именно их пользую для этого самого сетевого взаимодействия.
Вот такие две страшные сказки мне пришлось пережить…
Я пишу программы нараживая код. То есть реализовал одну фишку, потом другую и так аж пока программа не будет делать то, что нужно.
А вот Ням делает иначе. Сначала он пишет программу. А потом начинает из нее удалять куски аж до тех пор пока программа не начнет делать то, что от нее требуется.
Болят зубы. Вот не связывался со стоматологами - не болели. А теперь…
Равновесие нарушено и грядет катастрофа!
А нет, это не отсюда. Это из дргого пророчества.
Но все равно. Че-то не так…
Приветствую тебя, друг!
Сегодня всемирный день приветствий.