?

Log in

No account? Create an account

Заповедник репрессивной психиатрии

А вот теперь пример безумия
metaclass
В мире жабы(в смысле языка програмирования) есть какая-то тонкая шиза, которая порождает миллиарды фреймворков.
Вот пример про логгирование. Ну блин, как можно столько наворотить на пустом месте?

Самая хохма там - это то, что некоторые упоминают использование логгеров через дополнительный уровень абстракции. Мне иногда для вывода в текстовый лог и на экран юзеру приходится делать обвязку, дословно дублирующую интерфейс логгера, и меня это напрягает, потому что это натурально тупая копипаста. А народ такое массово использует и не парится.

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

Опять обсуждают старую тему
metaclass
Ссылко
"Можно ли за бабки купить домашнего биоробота-женщину для готовки, ебли и изредка общения". В комментариях женщины, очевидно, возмущаются, но потом сходятся на том, что можно, но дорого.

Mercurial и ssh-нетривиальщина
metaclass
Завел удаленный репозиторий меркуриала через ssh. Немного поплясав с бубном, в связи с этим есть два вопроса:
1) Как это они умудряются через виндовый stdio пропихивать бинарные потоки данных? Оно же скотина, по-моему, их портит по жизни, подменяя контрольные символы по своему уразумению. Во всяком случае, линукс-стайл обработка для бинарных файлов под виндой у меня особо никогда не работала, или я чего-то не понимаю.

2) Как меркуриал заставить работать с ssh-клиентом, у коего командная строка отличается от plink? Как минимум там порт указывается как -port=N а не как -p N. А то plink не умеет сам passphrase для ключа отдавать - нужно pageant (то бишь ssh-agent, если по-простому) запущенным с загруженным ключиком держать. Да и вообще меня putty бесит, bitvise tunnelier аккуратнее и удобнее.

Да что же сегодня за день такой
metaclass
В ru_java пишут какие-то нелюдские ужасы то про абстракции логгеров, то еще про какие "паттерны" от которых голова пухнет, функциональная тусовка, похоже, коллективно решила подорвать мою трудоспособность, постами про насколько заебись все в ФП, DSL и прочих хаскело-окамлах, а долбаные клиенты выедают мозг мелочами вроде "забыли обновить прогу" или не-мелочами вроде "под цитриксом не работает устройство", хотя на самом деле устройство тут не причем, а змеи в виде System.AccessViolationException живут в коде расчета огибающей воспроизводимого звука, за каким-то хреном читающей числа не из managed буфера, а из памяти передаваемой мультимедия подсистеме.


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

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

Проект, кстати, в болото ушел из-за двух вещей: 1) неправильного выбора технологии обмена с веб-сервисом ("готовый" SOAP оказался совершенно не совместим с идеологией, нужно было тупо руками наклепать restful-сервис и не мучиться с этим design-by-committee-говном) и 2) кривой реализацией xml-based DSL для описания GUI. В один прекрасный момент требования к gui разошлись с возможностями DSL, а я, вместо того, чтобы переосмыслить архитектуру и сделать по другому - решил добавить костылик в виде описания конечного автомата для GUI в этом DSL.

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