inicio mail me! sindicaci;ón
Everything NUMB3R5

Кача

В прошедшие выхожные (19-20 июля) впервые посетил такое замечательное лётное место как Кача. Как говорится - тепло и мухи не кусают. Ветер там нужен западный ±45°

Так вот, приезжаем в субботу утром в Качу, динамик слабый, но дует с очень правильной стороны, народ стоит на старте и щупает воздух - кто носом, кто куполом. Слабоватая погода стоит. Но наконец решается один пилот и доказывает что воздух таки "держит". Тут же выхожу я и за мной идут ещё пара пилотов. Минут через 30 тот слабый динамик что был и тот стихает. Кто-то садится в немецкой балке и потом вдоль склона пытается впрыгнуть в бриз по-альпийски, остальные доползли до старта. Но недогруженный купол оказался кстати, и я ещё часа три покружился вдоль склона. Но когда в последнем повороте сам просел чуть не до земли, решил что хватит, ибо если хочется сесть на старте, то настало самое лучшее время.

При такой погоде доступны были где-то 3км склона, но при более интересное погоде боюсь предположить, но думаю что эта цифра составляет примерно 5км.

Не моя сегодня погода


Летать сегодня не случилось и провёл время весело клея Волли. Если кто вдруг обзавидовался - клейте тоже сами по выкройке.

Раньше я ничего не клиеил из бумаги, да и вообще, так что изначально голова у Wall-E была приклеена мной вверх тормашками, так же как и левая ладонь. Но оказалось что слюна парапланериста - есть хороший растворитель для ПВА! А может это всё кока-кола, которую я пил в процессе, виновата... В любом случае могу смело сказать: "Осторожней, у Волли голова на соплях держится!" :)

Тренировки в Черкасской Лозовой

Хорошо полетал в эту субботу в Черкассой Лозовой. Хоть некоторые пилоты и рассказывали что я не смогу стартовать в хороший ветер на немного недогруженном Amigo (на самом деле я в нижнний предел вилки как раз попадаю), но всё это ложь. В реальности купол вёл себя на старте весьма адекватно.

Но купол весьма резвый и быстрый, так что далеко не всегда получается то что хочется.

Шпаргалка по Erlang

Не для всех школьные и институтские годы прошли бесследно. И жажда писать шпарагалки не оставляет некоторых людей. Эта шпаргалка вполне себе может оказаться полезной для начинающих Erlang-программистов, так как в ней приведены базовые сведения о синтаксисе языка и некоторые другие, но тем не менее важные вещи.

Хитрый порядок сортировки Vs ANSI SQL

Сортировка в SQL - дело простое. Чего уж там говорить, добавляем ORDER BY [Field] (A | DE)SC и дело в шляпе. Но вот представьте, вдруг вам понадобилось вывести результат в следующем порядке поля Field: 1, 3, 2, 5, 4. Тут уж ASC и DESC окажутся бессильными. Но что делать когда совсем не хочется логику сортировки выносить за рамки SQL? Вот такая ситуация у меня однажды и случилась (да чего уже врать - два раза по однажды).

Однажды суровой Харьковской зимой приходит на моё имя тикет, мол клиент хочет что бы статьи на его сайте сортировались, да не просто так, а хитро-хитро, и привёл пример: 1, 3, 2, 5, 6 - вот так вот хочется сортировать, а иногда сортировать иначе. Пригорюнился я, да делать нечего. Сортировать так сортировать, хитро так хитро. Засучил рукава, отложил Реверси и закипела работа. Сразу нарисовались три варианта реализации:

  • Сортировку вынести в Java-код
  • Сделать дополнительное поле в таблице и по нему сортировать
  • Заколдовать MySQL что бы он сам всё делал
Вариант с Java-кодом не похож на способ действия настоящего хакера, так что он остался, как говорится - "на крайняк". Дополнительное поле выглядит гораздо интересней, да вот под задачу не подходит, так как порядок от случая к случаю меняется. Остался только один путь, и как истинный джедай, поковырявшись волшебной палочкой в интернете, нашёл хорошее решение:
SELECT a.name, a.description FROM articles a ORDER BY FIELD(a.type_id, 1, 3, 2, 5, 6)

Дальше уже было всё менее интересно: содержимое ORDER BY FIELD стало формироваться динамически, клиент подарил нам радость своей улыбкой. А у меня осталась тоска в сердце - а ведь работать будет только на MySQL.

Второй раз история повторилась уже летом. Другой клиент, другой проект, другая задача, а вот сортировка по-прежнему- хитрая-хитрая. Но теперь-то мы знаем что делать! Но увы, Orcale != MySQL, и СУБД наотрез отказалась понимать экзотический запрос многозначительно выкрикнув что-то вроде "ORA-01234: Ахтунг, случилась ошибка!". Делать нечего - надел ласты и костюм и занырнул в интернет, да поглубже. И вот, при помощи разговорника удалось вымолвить на аборигенском диалекте:
SELECT a.name AS NAME, a.description AS DESCRIPTION FROM articles a ORDER BY DECODE(FIELD, 1, 3, 2, 5, 6)

Клиент опять улыбается, а у меня опять тоска - ну почему ANSI SQL не предусмотрел такие вещи?

Понедельник в воскресенье

Однажды утром завтракая, я выкинул исключение:

org.junit.ComparisonFailure: expected:<[Sunday]> but was:<[Понедельник]>

Но если серьёзно - для теста были благоприятные условия, и из него проклевался большеглазый и не оперившийся exception, который, пользуясь случаем, я посадил в баночку с формалином.

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

Знакомство с Erlang

Что же такое Erlang. Большинство программистов могут сказать лишь то, что Erlang является языком программирования, немногие скажут что это функциональный язык и лишь малая часть когда-то занималась или занимается разработкой на этом языке. Признаюсь сразу - разработкой коммерческого ПО на Erlang я пока не занимался, но искренне надеюсь что мне выпадет такой шанс, и разумеется я им воспользуюсь
Для меня знакомство с этим замечательным языком началось с книги Joe Armstrong "Programming Erlang: Software for a Concurrent World". Читать книги технического содержания практически всегда бывает сложно. Но эта книга - одно из немногих исключений из правила. И усваивается это произведение очень легко и с заметной скоростью. Но педантам врядли стоит рекомендовать эту книгу, так как материал выдаётся порциями и постепенно, так что польза как от справочника окажется не очень большой.