- @0xd34df00d: *c++ *programming *stuffОказывается, 1% размера .so-шников можно сэкономить, если просто тупо повыкидывать везде лишний namespace Plugins.
- @0xd34df00d: *говно *programming *qtТипичные Gtk-авторы и их КОСТЫЛИ: ithappens.ru6 months ago; 40 replies
- @0xd34df00d: *opensource *programmingЖуйк, зацени документацию по написанию темок, скажи, что в ней плохо, и вообще реально ли по такому написать, собсна, тему?
leechcraft.org - @0xd34df00d: *opensource *programmingДело в том, дорогой жуйк, что есть одна библиотека. Ее разработка в апстриме ведется в SVN-репозитории, в который у меня нет прав на запись. Я тоже хочу разрабатывать эту библиотеку, допиливая патчи и тестируя ее функциональность в личкрафтах. В то же время я привык к гиту, и просто попиливать ее в папочке, куда svn чекаутнул репу, иногда делая svn diff и отсылая им патчи, тоже не охота. Во-первых, как-то это меньше свободы, во-вторых, патчи могут не принимать очень долго, и ваще, SVN говно.
Вопрос: каковы best practices при разработке/доработке подобных вещей?
Я подумываю поднять git-репу на гитхабе, куда периодически мержить прогресс из апстрима, и в которой уже вести разработку. Таким образом, можно будет и личкрафты, например, сделать зависимыми от именно этой либы на гитхабе, с моими добавлениями и патчсетами.6 months ago; 23 replies - @0xd34df00d: *programming *идиотыЭто ж как надо проектировать API для работы с MUC'ами, чтобы setRoomSubject была, а аналогичного геттера не было, и нужно было ручками парсить message'ы, приходящие от комнаты. Учитывая, что от комнаты приходит строка, уже содержащая вещи типа «0xd34df00d установил(а) тему:», то это совсем как-то печально.
Пиздец.6 months ago; 20 replies - @0xd34df00d: *programming[21:19:17] Скунс: moonhawk: а что, у всех нормальных проектов есть хотя бы UML, я уж не говорю про IDEF/ERD
Дискасс. - @magog: *leechcraft *Qt *programmingВот по личкрафтам я могу отслеживать свое развитие в плане программирования на Qt. Начинал с таких простых вещей как реализация full screen. Потом был импорт из FireFox закладок, истории и rss. Потом я написал свой первый плагин, используя наработки @zetoke, Kinotify. Далее был маленький плагин для Poshuku для работы с сервисом хранения закладок (ReadItLater (www.readitlaterlist.com)) и сделал этот плагин так, что не составляет особой сложности добавить свой сервис. Этот плагин я полностью написал сам. Параллельно влез даже немного во внутренности личкрафтов — в XmlSeettingsManager — добавил свой хендлер для QListView. И теперь я пошел еще дальше — теперь пишу плагин для Azoth: Acetamide — это будет irc-клиент. И в планах полноценный плагин для работы с web-блогами а-ля livejournal.com. Очень приятно смотреть на dev.leechcraft.org таски решенные тобой. Повышает ЧСВ =). А вообще — это классно на примере одного проекта видеть как ты развиваешься. Видеть как меньше приходится переписывать после проверки дедфудом. Это офигенно. Да. Вот так. Жаль только, что когда ты повышаешь свой уровень и начинаешь работать над более-менее серьезными вещами, то уже нету времени на исправление мелких багов или запиливание мелких фич. И очень не хватает таких каким был я : еще не погрузившимся в Qt очень глубоко и которому были даже простые таски сложны и интересны. Было бы вообще годно, если бы личкрафты пилило еще парочку человек с разным уровнем. Что бы были высокого уровня — для организации взаимодействия с xorg. Низкого — для мелких задач, типа добавления контекстного меню в Tab++ и среднего — что бы реализоваывать плагины, плагины для плагинов ии плагины для плагинов для плагинов.7 months ago; 24 replies
- @jtootf: *programming *OOD *fpвопрос, спровоцированный собеседованием в соседней комнате: если взять за основу C++ и набор паттернов GoF, как может выглядеть ответ на вопрос "каким образом нужно изменить семантику языка, чтобы в данном паттерне (как отдельной архитектурной единице) пропала необходимость"? так, например, паттерн Strategy не имеет ценности в языке с поддежкой HOF — а Visitor заменяется паттерн-матчингом по ADT. приглашаю к обсуждению7 months ago; 81 reply (+9)
- @0xd34df00d: *programming *c++Все-таки у clang гораздо более информативные сообщения. Сравните няшный i.imgur.com и ужасный i.imgur.com
- @magog: *история_успеха *programming *qt *мысли_в_слухРано или поздно каждый программист понимает, что каждый день он занимается только тем, что применяет уже ранее полученные знания. Он перестает развиваться, а стоит на одном и том же уровне. Никто и никогда в проекте, который он делает на заказ, не будет экспериментировать: у нас с вами нету шанса на ошибку и времени на попытки. А как же тогда изучать что-то новое?
У новичков здесь возникает в чем-то похожая проблема: изучать языки и библиотеки по сухой документации, какой бы она прекрасной ни была, после некоторого этапа уже не так здорово и увлекательно, как при написании собственного проекта, желательно, хоть как-то полезного и используемого в реальной жизни.
(продолжение в комментах)7 months ago; 11 replies - @0xd34df00d: *programming *gitВот завел я отдельный бранч под перепиливание IM'а с Gloox на QXmpp, а в master'е старая рабочая версия.
Уже почти перепилил, оно уже почти работает ( wave.google.com — все, что осталось, для восстановления работоспособности), но я еще не уверен в том, что оно няшно и безглючно, поэтому вопрос в том — пушить ли бранч, в котором я перепиливаю, в remote, насколько это принято?
Pros:
• Другие люди смогут это заценить до мержа в мастер и пофиксить чо, есличо.
• Я не просру эту работу уж точно.
Cons:
• +1 публичный бранч, неудобно, не сделаю уже git branch -d gloox2qxmpp, когда смержу.
Дискасс. - @magog: *programming *gitЕсть репозитории на гитхабе, полученный путем форка личкрафтов. Есть домашний комп. Есть рабочий комп. К домашнему есть доступ по ssh. Часто дома что-то находится в процессе разработки и не годно для коммита. На работе хочу это доделать и потом пушнуть. Либо на работе что-то не доделал, надо пушнуть, что бы из дома забрать и доделать. Собственно нужен совет как это организовать грамотно. Не хочу пушить в основную ветку, потому что в ней тогда получается много говно-коммитов, которым там вообще не место. Как вариант рассматривается схема следующая: master branch, devel branch, transfer branch. devel используется для текущей разработки. transfer — что бы переносить говнокоммиты из дома на работу. в master попадают коммиты, которые проверены лиддевом. тоесть чистый и правильный кот. Жду аргументов и советов как организовать. ВСе должно быть через инет — никаких флешек и прочее
- @0xd34df00d: *c++ *programmingКомбинировать разные стратегии владения не так уж и страшно.
Я попаду в ад.7 months ago; 11 replies - @0xd34df00d: *говно *qt *programmingДа после втыкания в этот чужой код у меня ЧСВ так выросло, что лопнуло просто и растеклось по всей общаге.
- @0xd34df00d: *stuff *qutim *programming *говноОт говнокода в мумбле хочется блевать. Иногда даже больше, чем от говнокода в кутиме.
- @0xd34df00d: *programmingЖуйк, я, возможно, совершенно не понимаю сути SSL, но разъясни мне, как решается следующая проблема.
Есть личкрафты и есть sync-сервер. У сервера есть сертификат и подключение происходит через SSL, дабы все было хорошо.
Теперь, ведь если злоумышленник подправит URL сервера (или даже DNS, чо уж там, записи для sync.leechcraft.org подменить) и заменит сертификат на клиентском компе, то клиент будет коннектиться к нехорошей машине злоумышленника и думать, что все хорошо.
Что я не понимаю?7 months ago; 68 replies