Жизнь без валидного сертификата и браузеры

Внезапно оказалось что в прогрессином браузере вивальди очень заботятся о пользователях и как-то сайт с истекшим сертификатом не открыть. Зато есть параметр для командной строки чтобы это можно было обойти.

А в хроме есть просто ссылка внизу.

2021.10.27 18:53

день когда закончился сертификат

Здравствуйте, у меня сегодня заканчивается сертификат, вы не знаете как это починить? Может быть у вас есть знакомый программист который может мне с этим помочь?

Оставляйте, пожалуйста, ваши советы в комментариях.

2021.10.27 10:54

bash: пробел в начале строки и история

В большинстве линуксов в баше если перед командой поставить пробел, то она не попадёт в историю. Мне всегда казалос это очень нелогичным ведь:

$    ./remove_everything.sh

И ты никогда не узнаешь что произошло. Но как же на самом деле это удобно когда передаёшь в команду штук 100 айдишников и совсем не хочешь видеть это в истории.

Небезопасно, но удобно. Меньше трёх.

2021.10.26 12:16

php: get property name as string

Допустим у вас есть моделька

class Model
{
    public int $id;
    public string $title;

    public function getValue(string $property): mixed
    {
        return $this->$property;
    }
}

И вам очень сильно совсем надоело хардкодить проперти и ещё больше сильнее совсем надоело их рефакторить:

$model = new Model();
$model->id = 42;
$model->title = 'my title';

$id = $model->getValue('id');
$title = $model->getValue('title');

var_dump($id, $title);

То есть преккрасное убогое решение которое поможет вам обманывать вашу IDE: автодополнение и рефакторинг работают. Но не всегда, конечно, а только в контексте исполнения.

trait PropertyNameTrait
{
    public static function __property(): object
    {
        return new class {
            public function __get(string $property): string
            {
                return $property;
            }
        };
    }

}

/** @method static Model __property() */
class Model
{
    use PropertyNameTrait;

    public int $id;
    public string $title;

    public function getValue(string $property): mixed
    {
        return $this->$property;
    }
}


$model = new Model();
$model->id = 42;
$model->title = 'my title';

$id = $model->getValue($model::__property()->id);
$title = $model->getValue(Model::__property()->title);

var_dump($id, $title);

Конечно, можно добавить ещё немного магии, но у вас не получится аккуратно чейнить __get() в трейте и классе, так что это уже по желанию (мне не очень нравится, но пользоваться этим сильно более красивее). (ну и надо не забыть кидать фатал на 404, но мне лень писать эти проверки).

/** @property-read Model $__property */
class Model
{
    public int $id;
    public string $title;

    public function getValue(string $property): mixed
    {
        return $this->$property;
    }

    public function __get(string $property): mixed
    {
        if ($property === '__property') {
            return new class {
                public function __get(string $property): string
                {
                    return $property;
                }
            };
        }
        throw new Error("404: {$property}");
    }
}

$model = new Model();
$model->id = 42;
$model->title = 'my title';

$id = $model->getValue($model->__property->id);
$title = $model->getValue($model->__property->title);

var_dump($id, $title);

#php #magic

2021.10.20 13:50

Прощай, алса :'(

Заканчивается 2021, alsa удалена из системы. Немножко грустно. Слава богам что теперь есть pipewire который выступает фронтом для мерзкого pulseaudio.

#linux

2021.10.03 14:07

Single Board Computers 2021

Возникло у меня, знаете, желание завести дома некое подобие сервера. Ну какую-нибудь мелкую железку которая будет доступна по сети и сможет файлы там сохранять. Скриптик какой запустить раз в год. Ну то есть как бы не то чтобы очень нужно, но почему бы и нет.

Ну и опционально можно было бы какие-нибудь видеофайлы с него показывать да может какие-нибудь базовые эмуляторы накатить, так, чтобы не вечно в ноут пялиться (так себе замена конечно).

Ну и вот немношко погуглив отчаяние поглотило меня.


Что нынче вообще существует из разного железа

1. Xbox Series S~$400 — монстр производительности. Понятно, что продаётся скорее всего в ноль. Понятно, что с ним ничего в общем-то кроме игр сделать нелья (хотя там есть developers mode), но просто вот за $400 можно купить монстра.

2. Steam deck~$400 — сильно менее мощное железо, но тут есть дисплей, батарейка и геймпад. Как бы портативное устройство, а портативность это всегда дорого и беспощадно. К тому же обещают что будет полнценный компьютер с линуксом из коробки.

3. ThinkPad x230~$300 refurbished — точно такой же ноутбук как у меня, но в более лучшем состоянии. Как бы я на свой ноутбук не сильно жалуюсь и особенного смысла его менять не вижу.


То есть если посмотреть просто на существующее нынче железо — за условно небольшие деньги можно купить достаточно мощные устройства. Понятно, что как сервер их использовать идея так себе (а иксбокс очень врядли толком получится), но это не тысячи долларов за достаточно мощное железо.


Single Board Computers

Ну покупать игровую консоль или ноутбук как серверок смысла особенного нет, но ведь существуют SBC идеально для этого подходящие, что же у нас нынче есть из них?


1. Raspberry 42gb ~$40, 4gb ~$70, 8gb ~$100 — малина как бы мысль номер один и точка входа в поиск по умолчанию, но что-то очень странное с ценами.

Допустим, если взять самую простую модель с 2gb то цена $40 что как бы приемлимо, но надо купить ещё корпус с радиатором, блок питания, карту памяти и это сразу же +$35, что уже ~$75 по итогу. Интересно.

Если же всё же использовать малину не просто как ftp сервер, а ещё и как проигрыватель видео файлов, то есть смысл брать c 8gb, да и что такое 8gb в наши времена. Запустить скрипт с использованием webdriver и всё, 8gb уже и закончились целиком.

То есть за условные ~$75-135 появляется уникальная возможность купить трехлетнее устройство с процессором от 2015 года. Ой, а вы не знали что в малине процессору уже 7 лет? Ходят слухи что в 2022 будет обновление четвертой малины, но то такое — ещё дожить бы и непонятно что это будет и за какие деньги/

2. Pine64 QUARTZ64 Model-A 8GB SBC4gb $60, 8gb ~80 — но не малиной единой, есть же великолепные pine64 и у них есть что предложить в альтернативу. И да, устройство поновее малины, и процессору года ~3 всего, но при этом оно и слабее малины. Ну то есть вот слабее, да. И ещё и заказывать из азии. Мне нравится pine64 теоретически, но они даже пишут что линукс под их SBC ещё не готов, покупать нужно только если есть энтузиазм и вот это вот всё. И меня не то чтобы это прям сильно пугает, но лень.

3. Intel Atom / Celeron Mini PC$150-200+ — если с малиной легко получается перескочить порог в условные $135, то уже есть смысл посмотреть на что-то альтернативное и тут вполне неплохо выглядят некие mini pc. Понятно, что процессоры в них очень так себе, но зато интегрированное видео очень даже ничего. И это будет полноценный x86, а не плата на arm. Уже с корпусом и блоком питания, конечно же.


Ну и получается что можно взять что-то не очень за ~$75 или что-нибудь получше, но уже за ~$200. Но если сравнить мощность этого Mini PC на celeron и даже восьмилетнего полноценного ноутбука за ~$300, то перевес не в пользу celeron. По условной мощности разницы между ними будет не очень много, но ноутбук это всё же ноутбук, а mini pc просто развлечение.

И вот получается что если не покупать самую дешевую малину, то оптимальный вариант — купить refurbished office pc в относительно компактном корпусе и процессором которому больше 5 лет, но зато с полноценным процессором. С нормальной материнской платой куда можно втыкать нормальную память и вот это вот всё. Нормальный декстоп кароче.

Как-то вот так. Прямо ничего не хочется покупать, а подождать ещё лет 10.

2021.09.12 23:03

gentoo $ emerge @world

Удивительно, но с последнего обновления мира прошло меньше года. 2020 поистине удивительный год.

Ну, это получилось случайно, вы же знаете как это бывает. Ставишь один какой-нибудь питоновый пакет, он за собой тянет 50 других пакетов и случайно показывает конфликт.

Решаешь конфликт и хоп, неделя прошла и мир уже обновлён.

И вот что я хочу сказать: гента прошла огромный, ОГРОМНЫЙ путь. Да, в этот раз были какие-то адовые циклические нерешаемые зависимости, но это потому что libcrypt достали из glibc и сделали самостоятельный пакетом. Ну такое, обещали что никаких проблем, но всё же вы сами всё понимаете (вы же понимаете?). Не осуждаю.

Но вот что меня искренне удивило это то что как все конфликты были разрешены оно само собрало 444 пакета без единого разрыва. Раньше, сильно раньше, каждый 10 пакет фейлился и без --skip-first даже подходить к сборке мира нельзя было, а сейчас я вообще не пользуюсь этим флагом.

Прям неплохо, неплохо. Но 30 часов на компиляцию хрома всё равно доставляют.

#gentoo

2021.09.12 16:51

Предбудильник

Почему нет функции предбудильника? Ну типа чтобы за пару минут до будильника запела немношко какая-то птичка чтобы в случае если уже не очень спишь — будильник не заорал своим оглушающим воплем. Чтобы был шанс хотя бы один день сохранить остатки психики.

Или уже где-нибудь есть? Напишите в комментариях, заодно подпишитесь на этот блог и поставьте колокольчик!

2021.09.07 10:45

Воровство стихотворения про утро

В целом я не очень люблю стихи, но ничего более лучше передающего утреннюю боль мне видеть не доводилось.

Я встала утром рано
И вижу только тлен
Хоть светит солнце и птички поют
В моей душе темно
Жизнь не имеет смысла
Когда в ней смысла нет
Утро
Зачем

2021.08.27 11:59

Проявление неуважения к Любящему Великому Руководителю.

Однажды мне довелось работать в конторе которая переезжала из старого офиса в новый офис. Это было большое событие которому все очень радовались. В дни перед переездом на просторах старого офиса были слышна музыка, смех и улыбки на лицах сотрудников освещали пространство.

Дружный рабочий коллектив хотел отблагодарить Великого Руководителя за предоставленную возможность переехать в новый офис и продемонстрировать своё участие в общем деле и был объявлен Великий сбор денег — все сотрудники должны были отщепнуть от своей зарплаты совершенно незначительную часть денег на участие в обустройстве нового офиса.

Дружный рабочий коллектив решил купить в новый офис новую микроволновую печь ведь если 50 человек в едином порыве купят одну штуку микроволновой печи это продемонстиррует порыв единения и единение с порывом.

К моему великому сожалению мне моя индвидуальная натура не позволила принять участие в порыве демонстрации участия в общем деле переезда и едином порыве обустройства нового офиса.

На мой отказ пожертвовать малым во благо большего до моего сведения было доведено что я не веду себя как достойный член дружного колллектива, что я демонстирую неуважение к Великому Любящему Руководителю и впредь мне запрещено пользоваться микроволной печью купленной в коллективном порыве.

Вот так отвергнув коллектив меня отверг коллектив и отторгнул от коллектива и микроволновой печи. Ужасная травма и потеря.

2021.08.25 11:40

Саппорт и rest api

Время движется вперёд,
Бложик должен развиваться.
Мне пришлось придумать как
Посетителей привлекать!

НОВАЯ РУБРИКА! ЦИТАТЫ ИЗ ОБЩЕНИЯ С САППОРТАМИ! ПОЗНАВАЙТЕ МУДРОСТЬ!

It’s out of our capability to consult on REST API, other than giving you a link to our documentation

#support

2021.06.24 12:58

Jana Kratochvílová – Dlouhá bílá žhoucí kometa

Чешская электроника 80-х великолепна.

Если вы вдруг почему-то несогласны то Eva Hurychova — Chtela bych byt robotem

#music #electro_cz

2021.06.24 00:13

php.strict_types = 1

В похапе вводят строгую типизацию, но путь предстоит ещё крайне длинный. Судя по всему идти по нему можно будет всегда.

1. Что больше, единица или массив?

< ?php
declare(strict_types = 1);

$max = max(1, 2, ['array']);
print_r($max);
// Array
// (
//    [0] => array
// )

2. Бесконечный цикл это просто и удобно.

< ?php
declare(strict_types = 1);

for ($i = 0; $i < ['array']; $i++) {
	echo "$i.";
	if ($i === 10) { break; }
}
// 0.1.2.3.4.5.6.7.8.9.10.

Больно.

#php

2021.06.23 13:02

UI + scroll

Раньше интерфейсы были лучше.

Не в смысле что они были красивее — сейчас то они явно красивее. И не в том дело что раньше были какие-то более лучшие компоненты — люди все же потратили десятки лет чтобы научиться делать интерфейсы более быстрее.

И даже не в том дело что из-за желания поддерживать нежные теплые человеческие прикосновения каждый контрол сейчас в 5 раз больше чем он должен быть для использования на десктопе.

Раньше компьютером можно было пользоваться без мышки. Да, было не то чтобы неудобно, но можно. А современным софтом не то что без мышки — даже без скролла пользоваться невозможно. Почему-то считается по умолчанию что у всех есть всегда скролл. А вот у меня сейчас нет никакакого скролла.

Хорошо что хть до сих пор зачем-то отрисовывают скроллбары, но часто он 2 пикселя шириной и ему не нужно быть удобным — ему нужно быть просто красивым.

А дальше будет всё только хуже! Ура!

2021.06.23 11:14