Сен 07

А что бы вы сделали, на месте Apple?


Стебные картинки про айпэд и холодильник все же (по моему скромному мнению) довольно далеки от истины. Сия картинка наглядно показывает, что у новых Samsung Smart PC клавиатура чуть менее, чем полностью скопирована с Apple Macbook.
Не совпадают размеры command/win, а так же правые <Shift>-<Return>-</>-<Delete> сделаны чуть длиннее, и немного отличается размером верхий ряд функциональных клавиш (Самсунгу пришлось добавить обязательные <Del> и <Pause>

Авг 05

OpenVPN & MikroTik

Как оказалось, все просто. Имеется, сервер на ubuntu Linux, который выполняет роль шлюза в некоем головном офисе, задача дешево и хорошо подключить удаленный офис.
В качестве клиента будет выступать MikroTik router board.
Сеть будет маршрутизуемая — офисы, как сидели в разных сетях, так и останутся, но после проброса туннеля будут видеть друг-друга.

Continue reading

Июл 29

Qt Http Post и File

Понадобилось загрузить файл из Qt, и хорошо бы чтобы он опознавался со стороны сервера как файл ($_FILES в php или Request.FILES в django)
По Qtшному экземплу не взлетел: все передается, но файл файлом не опознался, так и остался торчать в заголовках POST.
Проблема оказывается действительно есть, решения страшные, вроде ручной сборки заголовков

Continue reading

Июн 29

MySQL-python (MySQLdb) in Mac OS X

Послe установки mysql5 из macports

sudo pip install mysql-python

по-умолчанию ругается на mysql_config not found, если клиент mysql5 установлен из портов, надо просто добавить путь до mysql_config в глобальный PATH, т.е. просто добавить

/opt/local/lib/mysql5/bin/

в файл /etc/paths

Мар 23

1С 7.7 и MySQL

Внезапно!
Потребовалось сделать выгрузку в MySQL, всё решилось быстро и хорошо через ODBC

con = CreateObject("ADODB.Connection");
con_param = "dns=1c";
con.Open(con_param);
con.Execute("insert test set `text`='"+Текст+"';");
РекордСет = СоздатьОбъект("ADODB.Recordset");
РекордСет.ActiveConnection = con; 
РекордСет.Open("select * from test");
Пока РекордСет.EOF = 0 Цикл
	Сообщить(РекордСет.Fields("text").Value);
	РекордСет.MoveNext();                    
КонецЦикла;   
РекордСет.Close();
con.Close();

Устанавливаем MySQL ODBC Connector (x86 обязательно!) и добавляем базу в системный DNS.
На 2008 x64 добавлять через odbcad32.exe (иначе не видно драйвер x86)

Фев 29

Статичные туннели OpenVPN

Создаем ключ:

openvpn --genkey --secret static.key

Конфиг А:

dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key
remote a.example.com

Конфиг Б:

dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key
remote b.example.com

(отличаются только порядком адресов в ifconfig и опцией remote)

По вкусу добавить:
proto tcp — использовать TCP
port 1194 — использовать порт 1194
comp-lzo — сжатие трафика
route 192.168.4.0 255.255.255.0 — при поднятии туннеля добавить правило маршрутизации.

в одной из точек можно убрать опцию remote — тогда она будет ждать подключения второй.