Автор: bevice

OpenOCD & OSX & FTDI-CoLink

Если установлены драйвера FTDI VCP (Virtual Com Port) OpenOCD к Colink не подцепится — канал A уже используется.
Или выгрузить кекст или поправить
/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
на предмет комментирования секции подключения канала А:

                <key>FT2232C_A</key>
                <dict>
                        <key>CFBundleIdentifier</key>
                        <string>com.FTDI.driver.FTDIUSBSerialDriver</string>
                        <key>IOClass</key>
                        <string>FTDIUSBSerialDriver</string>
                        <key>IOProviderClass</key>
                        <string>IOUSBInterface</string>
                        <key>bConfigurationValue</key>
                        <integer>1</integer>
                        <key>bInterfaceNumber</key>
                        <integer>0</integer>
                        <key>idProduct</key>
                        <integer>24592</integer>
                        <key>idVendor</key>
                        <integer>1027</integer>
                </dict>

ну и перезагрузить кекст.

Админка по-умолчанию для всех моделей

В процессе разработки часто требуется по-быстрому зарегистрировать в админке все модели,
на мой взгляд, самый простой и быстрый способ:
добавить в admin.py:

from django.contrib import admin
import models
 
#Функция возвращающая список моделей в модуле
def list_models(module):
    import inspect
    from django.db import models
    classes = []
    for name, obj in inspect.getmembers(module):
        if inspect.isclass(obj) and issubclass(obj, models.Model):
            classes.append(obj)
    return classes
 
#Регистрируем все модели
for model in list_models(models):
    admin.site.register(model, admin.ModelAdmin)

OpenSSL self-signed cert

Выжимка из http://www.akadia.com/services/ssh_test_certificate.html

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

openssl genrsa -out server.key 1024

Создаем CSR (Запрос на подпись сертификата)

openssl req -new -key server.key -out server.csr

В Common Name должно быть полное доменное имя, это важно.
Создаем самоподписанный сертификат:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Mikrotik PEAP & FreeRADIUS

Настройка EAP/PEAP у микротика несколько отличается от настроек обычной точки доступа, прежде всего тем, что Mikrotik сам может из сертификата и EAP сделать PEAP
Если же этого не требуется (например FreeRADIUS и сам вполне может справиться), то настройка сводится к:

  • Подключению RADIUS сервера (с service=wireless)
  • Определению Security-profile с
    • Authentication Types: WPA EAP/WPA2 EAP (authentication-types=wpa-eap,wpa2-eap)
    • EAP Accounting (radius-eap-accounting=yes)
    • EAP Methods: passthrough (eap-methods=passthrough)

Остальные шаманства — на RADIUS-сервере, хотя можно и без шаманств, в той же ubuntu-server все настроено из коробки, только clients.conf поправить и пользователей сделать.

Mikrotik hotspot Uptime-Limit

В догонку к предыдущему посту
Счетчик общей длительности сессий пользователя:

sqlcounter uptimecounter {
    counter-name = Uptime-Total
    check-name = Uptime-Limit
    reply-name = Session-Timeout
    sqlmod-inst = sql
    key = User-Name
    reset = never
    query = "SELECT ifnull(sum(time_to_sec(timediff(acctstoptime,acctstarttime))),0) FROM radacct WHERE username like '%{%k}'"
}

Подключить модуль в секции authorize
Аттрибут Uptime-Limit в стандартных справочниках есть, если что — добавить не сложно.
Время сессии в секундах.

Mikrotik hotspot + Radius + счетчики (трафика?)

Собсно ничего сложного в этом нет.
Настройка Radius+MySQL стандартна:

apt-get install freeradius freeradius-mysql mysql-server

добавить базу, залить таблички из /etc/freeradius/sql/mysql/schema.sql
подключаем базу к freeradius правя /etc/freeradius/sql.conf и раскомментируя загрузку модуля sql.conf в radiusd.conf
раскоментируем модуль sql в
/etc/freeradius/sites-enabled/default (или в том, что используется) в секциях authorize authenticate и прочих закомментированных местах (мануалов тысяча, даже чуть больше), все стандартно.

Читать далее

Мелочь

Дожидаемся завершения процесса и выключаем компьютер:

#!/bin/bash
pid=$1
while kill -0 $pid 2> /dev/null >/dev/null
do
  sleep 1
done
shutdown -h now

Kinamania.com

Не так давно Павел Гринёв (aka Kinaman) запустил таки сайт о страшных, но ностальгичных 90х.

Тем кто провел детство в эту ужасную эпоху — крайне рекомендуется посетить ресурс:
kinamania.com

А еще можно посмотреть его замечательный фильм «Проклятие серого слонёнка»

Windows, COM, 1C и Python

Пролог

Потребовалось сделать выгрузку из 1С в куда-то еще. 1С версии 8.2, но подобным же образом можно получить данные из 7.7, 8.0, 8.1 и думается 8.3 — только названия документов другие.
Данные будем получать через COM — на сколько я знаю, у 1Сников это довольно распростаненный способ, и документации довольно много.
Для работы с COM на питоне потребуется модуль win32com — установка ничем необычным не отличается.

Для напримера, из стандартной конфигурации 1C Бухгалтерия 2.0 забирать список выставленных счетов и отправлять на некий сайт.
Читать далее