понедельник, 17 октября 2016 г.

Поиск близлежайших объектов в postgis

Есть postgis, в ней база OSM. Нужно получить точки, находящиеся рядом (ближе 50 метров) с заданной точкой с координатами 132.77883 и 43.17676:

  select osm_id,ref from planet_osm_point where st_distance(ST_Transform(way,4326),  ST_GeographyFromText('SRID=4326;POINT(' || '132.77883' || ' ' || '43.17676' || ')')) <=50;

Пояснения:
ST_Transform(way,4326) - геометрия в planet_osm_point хранится в поле way хитрым образом, но т.к. координаты в postgis-е хранятся в меркарторе (SRID=900913), а функции вычисления растояний работают с WGS84 (SRID=4326), а так же и наши координаты  132.77883 и 43.17676 тоже в WGS84, то нужно меркартор трафнсформировать в WGS84.

суббота, 28 февраля 2015 г.

Ставим tox

на ubuntu 12.04:

sudo add-apt-repository ppa:v-2e/tox
sudo apt-get update
sudo apt-get install utox
 

На android:

https://repo.tox.im/android/antox.apk

Windows:

https://github.com/notsecure/utox-update/releases/download/0.0.1/utox_runner.zip

среда, 22 октября 2014 г.

Ошибка установки dotnet4.0 в wine64

На amd64 с помощью winetricks пытаемся ставить dotnet40:
winetricks dotnet40
DВ результате получаем ошибку вида:

 "Same or higher version of .NET Framework 4 has already been installed on this computer."
 О том, что такая или более свежая версия dotnet4 уже установлена. После чего установка не может продолжиться.

Чистка реестра в wine не помогает.

Что нужно сделать:
1. Создаём 32-х битное окружение wine (директорию .wine32_new создавать перед этим не нужно!):
export WINEPREFIX=/home/ваш_пользователь/.wine32_new
export WINEARCH=win32
winboot
2. Чистим реестр:
wine regedit
Удаляем каталог v4 в HKEY_LOCAL_MACHINE/Software/Microsoft/NET Framework Setup/NDP/

После чего можно ставить с помощью winetricks:

winetricks dotnet40

воскресенье, 5 октября 2014 г.

Не работают несколько приложений с pulseaudio

Долго не доходили руки победить эту странность.
Пытался и так и эдак - запускал пульсу как демона, крутил dmix и т.п.

Оказалось всё проще:
Демон музыки mpd был запущен под своим пользователем и запускал свою собственную пульсу, которая конфликтовала с пульсой пользователя.
Если посмотреть список запущенных процессов на предмет pulse, то должны получить:

root@sky:/home/Serega# ps aux|grep puls
Serega    4629  1.1  0.3 809848  7160 ?        S<l  09:47   0:28 /usr/bin/pulseaudio --start --log-target=syslog
Serega    4636  0.0  0.1  95964  2652 ?        S    09:47   0:00 /usr/lib/pulseaudio/pulse/gconf-helper
root     26119  0.0  0.0  14844   884 pts/4    S+   10:29   0:00 grep --color=auto puls




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

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

До этого пытался pulse запускать как демона, но в документации пульсы не советуют этого делать (хотя кажется логичным такое решение).

Ну и на последок, у меня пульса скисла под моим пользователем. Пришлось снести её конфиги для конкретного пользователя:
rm -rf /home/Serega/.pulse
rm -rf /home/Serega/.pulse-cookie

После этого она заново их создала и всё заработало.

Более того, при проигрывании любых звуков через что бы то ни было - программа pavucontrol должна отображать это на вкладке "Проигрывание". Иначе проигрывается через что-то другое (напрямую через алсу, или через свою пульсу?).

Ещё советуют прописать в конфигах для алса-приложений использование пульсы:

Serega@sky $ cat /home/Serega/.asoundrc
pcm.pulse { type pulse }
ctl.pulse { type pulse }
pcm.!default { type pulse }
ctl.!default { type pulse }


Эти записи необходимы для перенаправлений запросов к альсе на пульс. Однако может случиться, что пульс будет пытаться подключиться к альсе, а она перенаправлять на пульс и пульс не будет стартовать.
У меня это возникло из-за опции:
pcm.!default { type pulse }

Однако опция:
ctl.!default { type pulse }
Оказалась очень удобной, т.к. по умолчанию для утилит регулировки громкости алсы выбирает регулировку пульсы (проверить можно запустив alsamixer).
Благодаря этому можно управлять громкостью пульсы в косносли с помощью команд:
amixer set 'Master' 500+
и
amixer set 'Master' 500-

Для отладки пульсы можно использовать следующий метод:
killall pulsaudio
pulsaudio -vvvvv

Успехов!

среда, 23 июля 2014 г.

Ошибка отправки письма через sendEmail: invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332

На Debian sendEmail может не отправлять письма, ругаясь следующим образом:

invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332

Чтобы обойти эту ошибку, можно указать опцию:
  -o tls=no

пятница, 11 июля 2014 г.

Настройка свежеустановленной системы Debian


Настройка сети 

динамическая

статическая


auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 172.21.251.32
        netmask 255.255.255.0
        gateway 172.21.251.1



===== Установка локали =====

  apt-get install console-cyrillic
  dpkg-reconfigure locales
  /etc/init.d/console-cyrillic start

===== Установка временной зоны =====

  dpkg-reconfigure tzdata

===== Переключение альтернатив =====

Список всех переключателей:
  update-alternatives --get-selections

==== Смена версии Java =====

javavm:
  update-alternatives --config java
Firefox java plugin:
   update-alternatives --config mozilla-javaplugin.so

Установка ПО

Установка Firmware


Установка дополнительного пакета с firmware (внутренних прошивок железок). Чтобы скачать нужный архив, пройдите по ссылке.

Добавление старых библиотек

Иногда бывает нужны другие версии библиотек (например для установки firebird2.0.x на Debian 7.1).
В Debian 7.1 в системе стоит libstdc++6, чтобы доставить 5-ю версию нужно дать команду:
  apt-get install libstdc++5

Установка Zabbix

Подключаем репозитарии 

  wget http://repo.zabbix.com/zabbix/2.2/debian/pool/main/z/zabbix-release/zabbix-release_2.2-1+wheezy_all.deb
  dpkg -i zabbix-release_2.2-1+wheezy_all.deb
  apt-get update

Устанавливаем агента

  apt-get install zabbix-agent



 

Настройка безопасности java-аплета в Ubuntu

Взято тут.
  1. Запускаем в консоли jcontrol
  2. Добавляем наш сайт в разрешённые
  3. Перезагружаем страницу или браузер.