Ноя 16

Hate!

Раньше IE был программой для скачивания браузера из интернета, но благодаря Enhanced security configuration, теперь он даже и этого не может.
I HATE MICROSOFT!
А если из проводника уберут FTP?

Окт 06

Двухэтапная авторизация django

Понадобилось сделать подтверждение авторизации через SMS… Подумалось, и придумалось вот что:
Переделывать полностью систему авторизации было влом, да и вообще хотелось бы обойтись «малой кровью», поэтому решено было переделать django’ый декоратор login_required — чтобы не только спрашивал логин и пароль, но и активировал сессии через SMS

Идея будет такая:

  1. В профиле пользователя сохраняем телефон и флаг использования SMS-авторизации.
  2. Переписываем декоратор login_required, чтобы после авторизации отправлял на активацию сессии
  3. Заменяем во всех views from django.contrib.auth.decorators import login_required на наш декоратор
  4. ???
  5. PROFIT!

Использован вот этот SMS-шлюз (ибо как-то уже пробовал и работает)
модуль для работы с онным скачать тут
Continue reading

Сен 23

Конвертация таблиц MySQL в UTF8

Джанга в очередной раз создала кучу таблиц в latin1, а вручную уж очень не хотелось

#!/bin/bash
host="127.0.0.1"
database=$1
pwd="password"
user="user"
tables=`mysql -h $host --user=$user --password=$pwd $database -e "show tables;" -s -r -N`
for table in $tables
do
	echo "Converting $table"
        #тут можно так же optimize table и что там еще
	mysql -h $host --user=$user --password=$pwd $database -e \    
           "alter table $table convert to character set 'utf8';"
done
Сен 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)