Архив за ‘Кодинг’ категория

Нотки тревоги в российском образовании.

Октябрь 1st, 2009

На форуме ЦеСТ недавно появился топик. Спасибо sfstudio, что обратил моё внимание.

Вот такой мертворожденный проект появился по подготовке к сдаче ЕГЭ:

http://forum.centercest.ru/viewtopic.php?f=11&t=1009

Цитирую:
» Читать дальше: Нотки тревоги в российском образовании.

Функциональное программирование там, где оно не нужно.

Сентябрь 28th, 2009

В современном программистском мире появилась тенденция к изучению функциональных языков программирования. И на них сейчас пытаются выразить всё, что только под руку попадётся. Я называю это никак иначе как мозговым онанизмом.

Сразу оговорюсь: я не знаю парадигмы функционального программирования. И вряд ли её буду изучать до тех пор, пока мне это не понадобится. Но то, что, извините, вытворяют функциональщики, порой меня шокирует: решать элементарные задачи через, простите меня, жопу — это выше моих сил и нервов. Зато это повышает ЧСВ аффтаров до уровня over 9000, что очень настораживает и порой порождает сомнения в их адекватности.
Вот характерный разговор с товарищем ivansorokin (осторожно, русский мат).
» Читать дальше: Функциональное программирование там, где оно не нужно.

Патчим DokuWiki.

Сентябрь 4th, 2009

Совсем недавно всплыла проблема с навигацией в dokuwiki.

ПХПисты совсем обалдели и расхлябались! Суют свой быдлокод куда ни попадя, правильно на неправильно исправляют (ибо в предыдущей версии такого не было). Приходится всё за них переделывать.

Итак, у кого кривая навигация в dokuwiki наверху, смело применяем этот патч на файле inc/template.php:
» Читать дальше: Патчим DokuWiki.

Sequoia изнутри: заключение

Август 28th, 2009

Разбор полётов

В общем, сегодня решил, что ну её нафиг, эту Sequoia. Ибо я так и не нашёл в сети реализации класса, выполняющего бэкап данных СУБД ORACLE для Sequoia.
Разработчики много чего обещают, пророчат чуть ли не светлое будущее, а на самом деле ничего сверхнового и революционного в ней нет.
Изначально я думал, что разработчики написали свой парсер SQL-выражений под каждый движок, на деле же всё оказалось проще и прозаичнее: SQL-запросы тупо транслировались в базы.
Про атомарность транзакций я вообще молчу: в подобной архитектуре она в принципе не может быть реализована.
» Читать дальше: Sequoia изнутри: заключение

Sequoia изнутри #3

Август 27th, 2009

Пролог

В предыдущем посте я описал, на какие грабли пришлось наступить, чтобы заставить Sequoia создавать таблицы в RecoveryLog и запускать backends. Тем не менее, сама работа контроллера по-прежнему оставалась некорректной, и, как выяснилось, без правки исходников решить проблему никак не получалось.
» Читать дальше: Sequoia изнутри #3

Sequoia изнутри #2

Август 27th, 2009

Введение

Собственно, после первой неудачи с RAIDb1, изложенной в этом посте, я решил воспользоваться такой фичей, как RecoveryLog. Для этого ещё раз перечитывал туториал по созданию виртуальной БД.
» Читать дальше: Sequoia изнутри #2

Sequoia изнутри #1

Август 27th, 2009

Как бэ вступление

По работе возникла необходимость синхронной рабты с кластером БД (4 базы, в которых должны храниться одни и те же данные). Для этого я несколько месяцев подряд писать тулзу data_proc (коммерческая разработка), которая обрабатывает данные в поточном режиме и устойчива к connection-loss/database-failure ошибкам. Единственный недостаток — это хранение данных на локальном диске в виде журналов, объём которых достаточно велик, если база несколько часов находится offline.
Помимо data_proc у нас есть ещё куча других приложений, для которых пришлось писать балансировщик нагрузки для SELECT-запросов, с чем мы успешно справились. Тем не менее, вопрос балансировки нагрузки и кластеризации (с целью упрощения data_proc) остался, и мне предложили разобраться с C-JDBC, о чём я и буду сейчас писать.
» Читать дальше: Sequoia изнутри #1

Миграция на WordPress

Август 22nd, 2009

Итак, как обещал, пишу свои впечатления от миграции на WordPress.

Прежде всего хочу акцентировать внимание на то, почему я всё же решил «слинять» с LiveJournal. Окончательной причиной такого решения стала тотальная кривость движка ЖЖ, которая меня очень сильно поражает. Почему я для того, чтобы удалить запись, должен жать на 3 кнопки (править — удалить — согласен) вместо того, чтобы воспользоваться всего двумя (удалить — согласен). Зачастую даже путаешься в интерфейсе для того, чтобы совершить простейшую операцию — перейти из личного кабинета в блог и наоборот. Ну а также не удовлетворяют тормоза в работе, сильная перегруженность контента ЖЖ и ВНЕЗАПНО появившаяся реклама.

Тем не менее, недостатки, как выяснилось, у WordPress тоже в наличии, но они не такие большие.
Прежде всего претензии к плагинам, работающими с ЖЖ: ни lj-xp, ни lj-user работать нормально не хотели. Ну если в lj-xp всё не так страшно и ограничивается только мелкими патчами кода, неработающего на новой версии PHP, то о плагине lj-user можно сказать только то, что автор вообще не знал, чего писал. Это просто БЫДЛОКОДИНГ, и результат этого быдлокодинга тупо вешал движок WordPress при, казалось бы, элементаной операции обработки текста. Заведомо практически не зная PHP, я написал нормальный плагин lj-user, который не вгоняет в вечный цикл движок WordPress, и именно поэтому считаю стирание исконного автора из комментариев справедливым.

Именно поэтому я публикую исправленные версии плагинов у себя на сервере:
LJ CrossPost (lj-xp).
LJ User (lj-user).

В общем, надеюсь, вам эти плагины тоже помогут.

Низкоуровневая оптимизация в Java?

Май 25th, 2009

По работе пришлось столкнуться с парсером файлов. Нужно парсить относительно простые структуры любой вложенности. Собственно говоря, для этого возникла необходимость написать токенайзер (заранее извиняюсь, если правильное название этой штуке будет разборщик лексем).
Соответственно, без посимвольного разбора не обойтись. Вариантов получения символов два: либо из CharSequence, либо из InputStream. Когда был готов алгоритм, скорость разбора строки меня не впечатлила: всего около 100 строк в секунду.
Почему? Давайте разбираться.

Разбор полётов

Говнософт.

Апрель 19th, 2009

Надеюсь, все знают, что такое говнософт, чем он опасен и почему его не следует использовать.

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

К чему это? А вот, знакомимся с этим чудом человеческой мысли.

Сдаётся мне, что даже студент-эникейщик сделал бы лучше.

UPD: Как выразился один человек в камментах моего товарища:
на откат идет как минимум 50-70%. после этого, на оставшиеся 1 млн ген. подрядчик нанимает за 500 т.р. субподрядчика. из этих денег — 200 т.р. манагер, 150 т.р. накладные расходы, аренда и т.д. остается на 1-2 студенто-месяца. что вы еще хотите за такие деньги?
***ть, дайте мне 2.4 ляма, я вам за 6 месяцев нормальный софт напишу в новой квартире :) .