Опять переезжаю.
Здесь русская версия блога. (кстати, там уже статей на четыре-пять больше, чем здесь)
Здесь английская версия (избранные переведённые русские статьи) блога.
Это последний переезд до того, как я наконец соберусь купить/оформить себе полноценный хостинг. То есть, ничего не гарантирую :).

В этой статье я вкратце расскажу об общих способах при подготовке различных учебных документов в LaTeX, а конкретно – о подготовке титульной страницы, вставке векторных рисунков (схем), вставке таблиц и вставке графиков, создающихся на основе подготовленных данных, занесённых или даже вычисляемых в электронной таблице.
Процесс будет рассматриваться со стороны Ubuntu/TeX Live, хотя всё рассказанное можно будет сделать и в Windows с использованием MikTeX и на Маке с использованием MacTeX. Также я затрону дополнительные open-source пакеты (версии которых, опять же, есть для всех операционных систем), которые помогут в процессе и опишу какие действия необходимо предпринять, чтобы получившийся в результате документ выглядел максимально близко к желаемому :). Это Inkscape, Gnumeric и пакеты pgfplots и pgfplotstable для LaTex.
Читать далее…


X-Task: «On your Client! Get XML! Get XSL! Do XHTML! Go!»
Вступление
Статья рассматривает преобразование XML в XHTML посредством XSLT на клиенте средствами JavaScript. К примеру, у вас есть какие-либо данные в виде XML, а вам требуется по какому-либо действию клиента (по клику на ссылке), оформить их в [X]HTML и динамически вставить в страницу. Это не так сложно, но по пути, как оказалось, встречается несколько подводных камней — в основном, относительно кросс-браузерности этого подхода и малой освещённости процесса в сети. Генерация XHTML-страниц средствами браузера (прямой запрос на XML файл, содержащий информацию о стиле) — это другая тема, она намного проще, и здесь затронута не будет.
Задача будет рассмотрена на банальном примере личного сайта. Дано: Файл с контактными данными (XML), некая главная страница (XHTML) и пять браузеров: Firefox 3, Opera 9.5, IE7, Safari 3, Google Chrome. На главной странице есть ссылка, при нажатии которой контактные данные преобразуются в несортированный список (UL) и отображаются в специально выделенной области прямо на этой странице. Это реальный рабочий пример, который я сейчас использую для создания своего сайта (ещё не выложенного).
Читать далее…

Я тут взял, да викифицировал основные статьи из этого блога. Там, на этом Wikidot есть подсветка синтаксиса, так что код стало читать удобнее. И подготавливать статьи в wiki тоже несколько удобнее, чем в html. И ещё там всё настраивается, только вот места пока поменьше чем здесь, но мне много и не надо :).
Так вот, я не буду ни в коем случае забрасывать этот блог, но статьи будут появляться там раньше, а потом уже переоформляться (из вики зачёт регэкспов да и просто копи-пэйста это сделать не так сложно) сюда. Я много раз переезжал из разных мест, но тут я всё же задержался и не думаю, что стоит бросать это место — просто будет два параллельных режима и всё.
Так что, если вы видите под заголовком справа кнопку
то это значит, что кликнув по ней вы увидите эту же статью, только викифицированную.
Вот так.


Задача
Установить на только что инсталлированный Ubuntu последнюю версию Trac, создать репозитории для нескольких проектов и настроить окружение соответственно. Структура проектов должна быть полностью корректной, установка максимально быстрой при минимальном количестве пакетов. Авторизация в репозитории и окружения Trac может быть общей, но позволяющей индивидуальную настройку для каждого проекта. Также, установка должна быть максимально независима от версий.
Читать далее…


Введение
Редактор Vim наиболее известен среди разработчиков в системах Unix — конкурент emacs, что-то вроде консольного IDE — этот редактор при должной сноровке и настройке (мне кажется, сноровке несколько меньшей и настройке более очевидной чем в emacs, но у последнего также есть мощная мультифункциональность — выбор за программистом) способен убыстрить и упростить многие процессы на этапах разработки не в ущерб таким удобствам как, например, авто-дополнение и навигация по проекту. Однако, если вы собираетесь использовать его для разработки на Python со всеми подобными удобствами — потребуются некоторые усилия: а именно, перекомпиляция…
Читать далее…

Закончил перевод основной части учебника по Python 2.5 (пока без краткого обзора по библиотекам). Перевод пока довольно-таки черновой, в некоторых местах вычитка была только на уровне стилистики и грамотности. Сам источник, к сожалению, тоже часто меняет стиль повествования. Однако, в ближайшее время (в течение трёх-четырёх дней) проведу полную вычитку и попробую продолжить дальше (учебник по Python 3.0 не сильно отличается, поэтому в него нужно будет внести только различия).
Также, благо есть повод, в разделе «Продукты» доступен «Краткий справочник по японскому языку» (также выложен на торренте), который ненароком вышел в 350 страниц толщиной и содержит больше информации, чем иногда содержат учебники.


Введение
Спешу поделиться результатами небольшого исследования, оказавшегося необходимым для текущего проекта. Рассматривается возможность связки Java и JSON, её преимущества и недостатки. Я расскажу о практической части, о теории больше поведают нижеприведённые ссылки (англ.).
Если кратко — JSON (JavaScript Object Notation) не является ничем более сложным, чем описано в его названии. Если вы можете описать сложно-структурированный объект на JavaScript — то о клиентской стороне JSON вы знаете практически всё. Серверная часть JSON занимается тем, что принимает каким-либо способом объект, записанный в нотации JavaScript и разворачивает данные таким образом (наверное можно сказать, десериализует), чтобы они стали доступны (или хотя бы понятны :) ) остальной части кода.
Читать далее…


Процесс разработки нашего проекта обладает одним минусом, свойственным многим J2EE-проектам: при изменении кода проекта и пересборке его сервер не сразу подхватывает обновку, а требует полного останова себя, очистки кэша, запуска себя по-новой и передеплойинга пакета.
Для того чтобы не делать это каждый раз ручками есть несколько простых способов: например, те же скрипты (batch’и для windows и shell-скрипты для linux). Но мне показалось более простым сделать так, чтобы делал это сам собирающий ant-скрипт (сценарий?): одно нажатие клавиши и все просходит автоматически…
Читать далее…


В предыдущей статье я представил на ваше рассмотрение небольшой кусок кода, который позволяет использовать три столпа ООП в JavaScript. Все это достигается довольно хитро и я, честно признаюсь, пока не слишком хорошо знаю, как это работает (остальное – конечно – знаю :) ) – в комментах меня вывели на чистую воду :). Тем не менее я позволил себе чуточку изменить функцию extend, дабы классы имели понятие о том, что такое статические константы (на самом деле константы конечно получились условные, но это думаю можно оправдать условностью их в самом JavaScript). Здесь я рассмотрю этот вопрос поподробнее и, видимо, буду расширять статью по мере его более глубокого понимания.
Читать далее…