Hatred's Log Place

DON'T PANIC!

Sep 23, 2011 - 1 minute read - programming

Изменение версии в многомодульном Maven проекте

Что бы одним махом изменить версию в многомодульном проекте, достаточно использовать плагин versions, подключив его к корневому pom:

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>1.2</version>
            </plugin>

Установить версию после этого можно командой: mvn versions:set -DnewVersion=1.0.0-SNAPSHOT

или аналогичным образом.

Подробнее:

Sep 1, 2011 - 1 minute read -

JavaMail: кодировка темы сообщения

Делается так:

MimeMessage message = new MimeMessage(mailSession);
message.setSubject(subject, "utf-8");

сообщение в этом случае должно быть типа MimeMessage, потому как в интерфейсе Message нет метода setSubject() с аргументом, указывающим кодировку.

Но можно сделать и так:

Message message = new MimeMessage(mailSession);
message.setSubject(MimeUtility.encodeText(subject, "utf-8", "Q"));

Для тела сообщения кодировка задаётся вместе с mime-типом:

message.setContent(bodyText, "text/plain;charset=UTF-8");

Jul 17, 2011 - 1 minute read -

Впервые в гонке

16 июля позвали сходить в гонку на яхте “Аккорд” в качестве откренки :) Сходил, понравилось, но ничего не понял: пока идешь от поворота до поворота, всё тихо и спокойно и как будто бы ничего не происходит, но как только поворот или, не дай божа, постановка или снятие паруса - суета, мелькание конечностей, ругань и прочая эмоция на неправильные действия. Не совсем понял, как перебираться с борта на борт, так что бы никому не помешать при повороте.

Не прошло и без аварии: сцепились с яхтой “Факт” из Славянки: проходили рядом, они свалились с волны, зацепили своим гиком, что-то порвали, произошло всё быстро, но даже если бы могли уйти влево - там тоже яхта шла.

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

Все фото: http://sfyc.ru/photo/2011/kubok-sem-futov-2011/gonki-flota/?p=1&rpp=12

Jul 14, 2011 - 1 minute read - programming

JBoss, JDBC: Closing a connection for you

Если узреете у себя такие исключения:

2011-07-14 17:11:14,652 INFO  [org.jboss.resource.connectionmanager.CachedConnectionManager] (http-localhost%2F127.0.0.1-8080-1) Closing a connection for you.  Please close them yourself: org.jboss.resource.adapter.jdbc.jdk6.WrappedConne
ctionJDK6@6ae0286d: java.lang.Throwable: STACKTRACE

Или около того, обратите внимание на этот документ: http://community.jboss.org/wiki/WhatDoesTheMessageDoYourOwnHousekeepingMean

А так же ознакомьтесь со следующей темой на форуме: http://community.jboss.org/thread/73267

А если коротко: если вы получаете подключение из пула, всегда обрамляйте работу с ним в конструкцию try/catch/finally примерно следующего вида:

Connection conn = null;
try
{
    // работа с базой...
}
finally
{
   try
   {
       conn.close();
   }
   catch (Throwable ignored)
   {
   }
}

Jul 2, 2011 - 8 minute read - туризм

Град и молния

Маршрут (запланированный): Владивосток-Красноармейский-Ручьи-С-З-З отрог-Читинза-С-В отрог-Базы отдыха-Красноармейский-Владивосток

Маршрут (пройденный): Владивосток-Красноармейский-Ручьи-С-З-З отрог-Читинза-родник-Партизанск (Каменка)-Партизанск (станция)-Владивосток

Участники:

  • Александр Дроздов
  • Екатерина Кравченко
  • Дима Киртока
  • Олег Галимов
  • Иван Горбач
  • Оксана Карнаух
  • Александр Вишневский

На 18-19 июня запланировали поход, долго думали куда понести свои тушки вместе с рюкзаками - нужно перед Камчаткой группу малость схаживать. Первым вариантом был Голец, но прикинули, что на общественном транспорте слишком мало нам времени даётся, можем не успеть. Следующим вариантом становится Читинза (она же Скалистая) в Партизанском районе, на нём и останавливаемся. Кинули клич в рассылке, для желающих разбавить наш коллектив. В среду (15 числа) в клубе составляем раскладку, смотрим что по палаткам, котлам, распределяем коллективное имущество.

Выезд запланировали на пятничной партизанской электричке в 20.07. Сбор, как обычно, в третьем вагоне с конца.

Jun 26, 2011 - 10 minute read - linux туризм maps

Готовим растровую карту для навигатора Garmin GPSMap 62s/64s

UPD 2013-11-16: обновил список программ, добавил информацию об автоматической обрезке рамок, добавил информацию о создании многослойного JNX. Убрал текст помеченный как удалённый. За остальными подробностями - в историю изменения страницы. Вики всё же :)

UPD 2024-11-15:

Задача: сделать растровую карту для навигатора Garmin GPSMap 62s.

Инструменты:

  • GDAL 1.8.0. С версии 1.10.0 научился конвертировать привязки OZI Explorer в виде .map + растр (.png, .gif и т.п.) в geotiff, рекоменду обновляться.
  • map2jnx 1.7.8. В последних версиях QLandkarteGT идёт в комплекте + уже с моими патчами для задания различного scale-factor для разных слоёв. Скачёк версии с 0.2.4 до 1.7 (или даже 1.6) случился как раз из-за включения в состав QLandkarteGT.
    • QLandkarteGT задепрекейчена в пользу новой программы от автора - QMapShack
    • map2jnx, что бы не конфликтовать по имени, из комплекта QMapShack переименован в qmt_map2jnx (QMT - QMapTool - внешний тул из комплекта QMapShack для привязки карт). Текущая версия - 1.17.1 (ноябрь 2024).
  • QLandKarteGT или QMapShack - нужны для просмотра.
  • NEW: geocrop
  • NEW: ozi2map, опционально, если у вас GDAL младше 1.10.x и есть куча растров привязанных в OZI Explorer (.gif, .png, .jpg и т.д.)

Исходные карты в формате OZFX3 (Ozi Explorer) с готовой привязкой. Если нет привязанных карт, можно почитать тут как это сделать самому. Теперь можно брать любые озиковские привязки (кроме OZFX2 и новых шифрованных OZFX3), но только если у вас версия gdal больше 1.10.0, иначе можно воспользоваться утилитой ozi2map.

Jun 25, 2011 - 1 minute read - туризм maps

OZFX в GeoTIFF

NOTE: Данный способ конвертации подходит только для карт старого, некриптованного формата OZFX3 и не подходит для карт формата OZFX, OZFX2 и для нового зашифрованного OZFX3.

Оказывается сию процедуру в Linux можно сделать при помощи утилиты gdal_translate из библиотеки GDAL: gdal_translate -of GTiff 200k–n57-01_ozf.map 200k–n57-01.tiff

Получается нормальный валидный tiff. Проблема, что геоданные о привязке не всегда перевариваются другими программами, хотя и сохраняются, вот, к примеру, фрагмент вывода gdalinfo:

Coordinate System is `'
GCP Projection = 
PROJCS["unnamed",
    GEOGCS["Pulkovo 1942",
        DATUM["Pulkovo_1942",
            SPHEROID["Krassowsky 1940",6378245,298.2999999999998,
                AUTHORITY["EPSG","7024"]],
            AUTHORITY["EPSG","6284"]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433],
        AUTHORITY["EPSG","4284"]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",159],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",500000],
    PARAMETER["false_northing",0],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]]]
GCP[  0]: Id=1, Info=
          (110,92) -> (312850.595383564,6212735.20674275,0)
GCP[  1]: Id=2, Info=
          (1325,93) -> (344034.004166507,6211493.42884751,0)
GCP[  2]: Id=3, Info=
          (2544,89) -> (375221.866305868,6210477.54231118,0)
GCP[  3]: Id=4, Info=
          (100,1538) -> (311242.069242769,6175640.4309,0)
GCP[  4]: Id=5, Info=
          (1326,1542) -> (342693.733518233,6174392.90643577,0)
GCP[  5]: Id=6, Info=
          (2557,1535) -> (374149.759678358,6173372.32291538,0)
GCP[  6]: Id=7, Info=
          (91,2985) -> (309639.985652898,6138547.1302834,0)
GCP[  7]: Id=8, Info=
          (1328,2989) -> (341358.837088592,6137294.02823664,0)
GCP[  8]: Id=9, Info=
          (2568,2983) -> (373081.95597641,6136268.88603608,0)

Задел на будущие думы.

UPDATE 2013-11-18: в статье post/2011-06-26_14.58_gotovim_rastrovuju_kartu_dlja_navigatora_garmin_gpsmap_62s рассматривается вариант конвертации с исправлением ошибки в формате геоданных.

Jun 23, 2011 - 1 minute read - programming

PhotoDocNG на SoftPedia

Как-то упустил сей момент, но программа PhotoDocNG, вышедшая из-под моего пера, внезапно оказалась востребованной и используемой и доброжелатель под ником Sincerely опубликовал её на софтпедии:

http://www.softpedia.com/get/Multimedia/Graphic/Digital-Photo-Tools/PhotoDocNG.shtml

Можно и по шампанскому :)

Jun 2, 2011 - 1 minute read - programming c++

Qt Creator Plugins Docs

По мотивам рассылки qt-creator@qt.nokia.com, подборка документации по написанию плагинов для Qt Creator’а:

Для примера можно поглядеть различные плагины на гиториусе: https://gitorious.org/search?q=qt+creator+plugins

Если будет появляться новая информация, буду дополнять пост.