понедельник, 29 апреля 2013 г.

Linux: терминал

Почему-то в терминале перестала работать клавиша Delete. Вместо того, чтобы удалять символ, рисует тильду (~).

Решение такое: в ~/.inputrc добавить строку:

"\e[3~": delete-char

воскресенье, 14 апреля 2013 г.

Debian: устанавливаем I2P

Захотелось тут подключиться к I2P. Нет, мамаша, дети могут не выходить. Нет, не весна. Просто совпало. В общем, установка всего этого богатства расписана тут. Вкратце:

1. Выполняем команду:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EB2CC88B

2. Создаём файл /etc/apt/sources.list.d/i2p.list со строками:
deb http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu natty main 
deb-src http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu natty main

3. Выполняем команду:
sudo apt-get update

4. Инсталлируем требуемый софт:
sudo apt-get install i2p

Дальше конфигурируем способ запуска роутера командой
sudo dpkg-reconfigure i2p
прописываем в браузере прокси для HTTP - 127.0.0.1:4444, и для HTTPS - 127.0.0.1:4445, и вроде как всё.

Но этого оказалось мало.

Во-первых, захотелось, чтобы эта штука жила на отдельном компе, который у меня "сервер" для всяких tor-ов, торрентов и т.п. Выяснилось, что по умолчанию i2p-роутер сконфигурирован так, чтобы принимать клиентские подключения только с 127.0.0.1. Однако, если зайти в админку,
http://localhost:7657/i2ptunnel/edit.jsp?tunnel=0
то можно там изменить настройки точки доступа на сетевой интерфейс 192.168.xxx.xxx.

Во-вторых, захотелось, чтобы Opera пользовалась этой штукой хитро: на обычные сайты ходила по-прежнему через tor, а на сайты с именами вида *.i2p - через этот новый i2p-роутер. Оказывается, нужно отредактировать файл ~/.opera/override.ini примерно так:
[Overrides]
...
i2p

...

[i2p]
Proxy|Use HTTP=1
Proxy|HTTP server=192.168.xxx.xxx:4444
Proxy|HTTPS server=192.168.xxx.xxx:4445

Вот тогда стало всё ок.

четверг, 11 апреля 2013 г.

SQL Server: Показать разрешения пользователя на объект

Оказывается, просто:
EXECUTE AS LOGIN = 'WanidaBenshoof';
SELECT * FROM fn_my_permissions('AdventureWorks2012.HumanResources.Employee', 'OBJECT') 
    ORDER BY subentity_name, permission_name ;  
REVERT;
GO

вторник, 9 апреля 2013 г.

Windows: MiKTeX и расстановка переносов

Обнаружилось, что древний(?) MiKTeX 2.6 не расставляет переносы.

Как оказалось, проблема решается следующим способом:

1. В файле \tex\generic\config\language.dat нужно найти и раскомментировать (или добавить, как повезёт) следующие строки:
\russian  ruenhyph.tex  
=russian

2. Зайти в папку \tex\generic\ruhyphen и скопировать в папку \texmf\tex\generic\hyphen все файлы вида ru*.tex и enru*.tex.

3. Зайти в папку \miktex\bin и выполнить команду:
initexmf --dump
И вот тут начинаются чудеса.

4. Команда из предыдущего пункта ругается LaTeX source files more than 5 years old! и ничего не делает. Как выяснилось, это обходится так:
- открываем файл \tex\latex\base\latex.ltx
- находим там строку \ifnum\count@>65 и меняем её на \ifnum\count@>100

5. После этого читерства команда из п.3 выполняется без ошибок.