Архив рубрики: Из жизни

Сюда тащатся заметки из ЖЖшки

PHP: определение языка пользователя сайта

В ранние годы, чаще всего определяли языка пользователя на основании его IP. Да и до исх пор так часто делают. И всё чаще ошибаются из-за широкого распространения VPN и всяческих аномайзеров. Поэтом правильнее будет полагаться на стандарт W3C, согласно которому браузер должен передавать на сервер в заголовке HTTP заполненую переменную HTTP_ACCEPT_LANGUAGE. Собстевенно в PHP оно попадает в $_SERVER[‘HTTP_ACCEPT_LANGUAGE’]. Далее остается распрасить переменную с сортировкой по «весам»:

        if (($list = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']))) {
                    if (preg_match_all('/([a-z]{1,8}(?:-[a-z]{1,8})?)(?:;q=([0-9.]+))?/', $list, $list)) {
                        $language = array_combine($list[1], $list[2]);
                        foreach ($language as $n => $v)
                            $language[$n] = $v ? $v : 1;
                        arsort($language, SORT_NUMERIC);
                    }
        } else $language = array();

Получаем массив вида:

Array
(
    [ru-ru] => 1
    [ru] => 0.8
    [en-us] => 0.6
    [en] => 0.4
)

RGB лента + Raspberry Pi

На днях собрал себе очередную игрушку на raspberry pi для загородного дома. А именно по датчику движения в коридоре будет включаться RGB лента, цель которой дать освещение достаточное для «дойти до выключателя». Не, я конечно натыкал и «проходных» выключателей аж 3 штуки, но всё равно иной раз приходиться идти до них, нащупывать их в темноте, попутно спотыкаясь о валяющуюся на полу пилу, циркуляру и электрокосу 😉 Пока правда собрал «на коленке», для проверки работы ленты. Получилось примерно так:

Лента самая китайская на контроллере WS2812b, 5V , 60 диодов на метр, 5 метров (1300р). Блок питания S-100W-5 (1000р).

Схема подключения:

Результат выложил на Гитхаб: https://github.com/donpadlo/rgb_led_effect

alsa : нет звука

Потратил минут 20 чтобы собрать сборник рецептов почему может не быть звука в терминале Ubuntu

1) Проверить нашла ли alsa вашу звуковую карту вообще

aplay -l

2) Установить/переустановить alsa и pulseaudio

sudo apt install alsa-base pulseaudio

3) Проверить регуляторы звука, может быть просто в mute

sudo apt install alsa-base pulseaudio

4) Перезагрузить настройки

sudo alsa force-reload

5) Посмотреть туда ли вставлен джек

hdajacksensetest

6) Переинициализировать

alsactl init

Как много нам открытий чудных (с)

А вы знали, что ячейку в Excel можно разделить диагональной линией? Вот так:

Для этого достаточно в свойствах ячейки в «границах» щелкнуть по середине окна (там где точка оранжевая). Ну соответственно в связи с этим открываются возможности для всяких извращений типа с заголовками типа:

Линию подчеркивания закрасить белым цветом

1С: просмотр содержимого временных таблиц в отладчике

Часто при отладке хитромудрых конфигураций необходимо подсмотреть содержимое временных таблиц. Начиная с платформы 8.13 это можно посмотреть прямо в отладчике. Пусть например временные тблицы у нас находятся в переменной МенеджерВТ. Нажимаем Shift-F9,  вводим МенеджерВТ, нажимаем расчитать, проваливаемся в значение «Временные таблицы запроса» и видим названия временных таблиц:

Далее зная имена таблиц, можно получить содержимое каждой из них или по индексу или по имени:

МенеджерВТ.Таблицы[0].ПолучитьДанные().Выгрузить()