Не забитый лох, а интроверт.

Не хикка, а самоизоляция.

#glubina

2020.03.14 18:51

php.symfony.getCurrentUser()

Д – Дизайн

/**
 * https://github.com/symfony/symfony/blob/5.0/src/Symfony/Component/Security/Core/Authentication/Token/TokenInterface.php#L45-L53
 * Returns a user representation.
 *
 * @return string|object Can be a UserInterface instance, an object implementing a __toString method,
 *                       or the username as a regular string
 *
 * @see AbstractToken::setUser()
 */
public function getUser();

Н – Наслаждение

// Authorized
echo get_class($tokenStorage->getToken()->getUser());
// App\Entity\User

// Anonymous
echo $tokenStorage->getToken()->getUser();
// 'anon.'

О – Очарование

// https://github.com/symfony/symfony/blob/5.0/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php#L361-L377
protected function getUser()
{
    if (!$this->container->has('security.token_storage')) {
        throw new \LogicException('The SecurityBundle is not registered in your application. Try running "composer require symfony/security-bundle".');
    }

    if (null === $token = $this->container->get('security.token_storage')->getToken()) {
        return null;
    }

    if (!\is_object($user = $token->getUser())) {
        // e.g. anonymous authentication
        return null;
    }

    return $user;
}

#php #symfony #vostorg

2020.02.06 19:59

ThinkPad battery management in linux

После нескольких лет раздумий идея купить новую батарейку в ноутбук перестала казаться очень плохой и покупка состоялась.

Покупка новой батарейки за 50 евро омрачалась воспоминаниями о том как весело умирала старая батарейка с постоянной бесконечной зарядкой 99%-100%. Смерть весёлая, но бессмысленная.

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

Если ваш ноутбук постоянно подключен к адаптеру, то батарейка не начнет заряжаться пока заряд не упадёт ниже 30% и не будет заряжаться больше чем на 85%. В теории это должно продлить жизнь батарейки.

А если вдруг надо начать заряжать батарейку польностью, то можно менять профили зарядки примерно так:

# /etc/init.d/tpacpi-bat low
# /etc/init.d/tpacpi-bat high

Или отредактировать /etc/conf.d/tpacpi-bat и перезапустить сервис. Или прямо из косноли настроить, кто же вам запретит прямо из консоли настраивать то?

#tp #linux

2020.02.03 22:40

8bitdo n30 wireless mouse

С большим удовольствием попользовавшись прекрасной синезубой игровой мышкой razor orochi 2013 захотелось сделать всё что угодно чтобы никогда не пользоваться этой прекрасной синезубой мышкой. В общем-то не то чтобы всё очень плохо, но заряжать батарейки каждые 2 дня немного надоедает.

Внезапно в интернеты ворвалась мышь 8bitdo n30. Это коллаба 8bitdo (делают забавные геймады!) и Switch & Lever (годный канал!).

И… Выглядит, конечно, восхитительно! И вам искренне советую не покупать эту мышку! Ну, может чтобы купить и перепродать лет через 20 на ебае.

➕ внешний вид
➕ сенсор неплох
➕ это не синий зуб
➕ целых 4 боковых кнопки
➖ она слишком узкая и если вы привыкли класть 3 пальца на мышь — это очень неудобно.
➖ она слишком высокая и впивается в руку
➖ отвратительный сенсорный скролл
➖ странное аппаратное решение с крестовиной
➖ доставка с оригинального сайта заняла дней 50

На мышке есть сенсорный скролл и реализован он просто отвратительно — если оторвать палец с идеей чтобы оно продолжило по инерции немного прокручивать — оно продолжает и очень долго. У меня постоянно зумит страницу или переключает табы, или происходит ещё какая-то дикая дичь. Поэтому надо не открывать палец после прокрутки и ждать чтобы сенсор решил что надо отключать инерционность. Просто отвратительно. И, конечно же, никакой средней кнопки. Кому вообще нужна средняя кнопка, правда?

На крестовине по умолчанию 2 функции: горизонтальные кнопки назад/вперед и вертикальные кнопки — page up/page down.

С назад/вперед всё очевидно кроме того что назад — это стрелка влево, то есть дальняя кнопка, при том что нажимать “назад” нужно чаще чем “вперёд”. Мне кажется разумно было бы их инвертировать прямо на заводе. Но логика крестовины не позволяет.

Моя изначальная идея была избавиться от page up/page down кнопок и назначить на одну из них среднюю кнопку. Не то чтобы решение, но что делать.

В реальности же оказалась реальность и в мышке два hid устройства: мышь и клавиатура. Да… и вертикальные стрелки на крестовине — это кнопки клавиатуры. Даа…. То есть среднюю кнопку на них не назначить. Ну или мне пока непонятно как.

Я пока попробую привыкнуть к этой мышке и, если я не начну её продавать на ебае через месяц, в планах у меня на вертикальные стрелки повесить back/forward потому что на клавиатуре есть эти кнопки, а на горизонтальные стрелки повесить mouse3 и одну неиспользуемую какую-нибудь mouse8 или что-нибудь такое.

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

Если у вас есть вопросы по этой мышке или советы какую мышку можно купить вместо этой — пишите в комментариях! Мне очень важны ваши советы! <3 <3 <3

#dnodna

2020.01.05 13:08

Оперативная память в 2к19

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

И вот удивительное: если в 2к14 мне было непонятно зачем на ноутбуке целых 6гб оперативной памяти и что с ней делать в таком объёме, то в 2к19 даже с 8гб ноутбук лучше даже не включать. Хотя ничего не изменилось и каких-то новых удивительных возможностей не добавилось (только хром немношк разжирел).

Удивительный мир!

#vostorg

2019.12.16 15:17

JAVA the world!

https://cwiki.apache.org/confluence/display/solr/SolrPerformanceProblems
This page will attempt to answer questions like the following:
– Why is Solr performance so bad?
– Why does Solr take so long to start up?
– Why is SolrCloud acting like my servers are failing when they are fine?

How much heap space do I need?
The short version: This is one of those questions that has no generic answer. You want a heap that’s large enough so that you don’t have OOME exceptions and problems

#vostorg

2019.12.10 17:02

Драматический роман по следу почтового следа

Жизнь очень трагичная штука когда ты следишь за своей посылкой. Каждый день следишь не было ли вестей о том что происходит в жизни твоей желанной посылки. Трагичное ожидание неожиданного.

2019-11-20 09:53 Zhuzhou City, Zhuzhou International has received, pitcher: Changsha International
2019-11-20 23:19 Zhuzhou City, leaving Zhuzhou International, next stop Changsha International
2019-11-24 17:15 Beijing, Beijing Post International has been exported directly sealed
2019-11-26 10:42 Zhengzhou, delivered to air transport
2019-11-26 10:42 Zhengzhou, delivered to air transport
2019-11-27 06:00 Zhengzhou, Airlines
2019-12-03 06:18 Zhengzhou, delivered to air transport

Я ЖДУ ТЕБЯ ЖДУ ПОКИНЬ ЭТОТ УЖАСНЫЙ ЗХЕНГЗХОУ ПОЖАЛУЙСТА!!!!!!!!!!!!!

2019.12.05 01:23

M – Motivation

And just remember no one will ever be able to hate you more than you already hate yourself

#vostorg #audio #video

2019.11.13 21:07

А ты поклоняешься Зверю?

Жить сегодня крайне тяжело — такой большой выбор религий. Конечно же я не отклоняюсь от величайшего учения Дао-Какао, но нельзя избежать сомнений.

Но вот в википедии написано что я поклоняюсь Зверю :(.

https://en.wikipedia.org/wiki/Editor_war
The Church of Emacs, formed by Emacs and the GNU Project’s creator Richard Stallman, is a parody religion. While it refers to vi as the “editor of the beast” (vi-vi-vi being 6-6-6 in Roman numerals), it does not oppose the use of vi; rather, it calls proprietary software anathema. (“Using a free version of vi is not a sin but a penance.”)

С одной стороны мне хотелось бы узнать что по поводу поклонения Зверю сказано в великом учении Дао-Какао и что по этому поводу думает лично Шри Япутра, но очень страшно познать ответ посохом.

#vim

2019.10.31 14:31

php + json-schema

Я, конечно, понимаю что уже поздновато размораживаться, но, оказывается, существует волшебная штука json-schema которой можно валидироавть структуру json’а.

Но особенно прекрасно то что оно сущетсвует для php и что ещё более прекрасно — в php оно проверяет не json, а обычный \stdClass.

То есть если вам нужно проверить структуру сложного объекта, с проверкой типов, возможностью кастинга и использованием дефолтных значений — json-scheme может спасти вам здоровье, психику и остатки волос.

И оно даже соберет все ошибки, укажет в чем проблема и даст вам путь к неправильному элементу.

  1. https://mamchenkov.net/wordpress/2017/03/11/validating-json-against-schema-in-php/
  2. https://github.com/justinrainbow/json-schema
  3. http://json-schema.org/understanding-json-schema/

#php #json #vostorg

2019.10.16 16:58

alsa + pulseaudio

Кстати, прошлое решение проблемы нескольких источников звука в сабже отгнило.

Теперь нужно добавить в ~/.asoundrc следущее:

% cat ~/.asoundrc

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

Пользуясь случаем хочу послать лучи благодарности генте которая оберегает меня от systemd. Не знаю сколько ещё получится держаться, но если не gentoo то только funtoo.

#linux #alsa

2019.10.02 02:45

Browser: restore on demand

Объясните мне, не самому умному человеку на планете, зачем в 2k19 каждый браузер по умолчанию не загружает содержимое востановленных из сессии табов?

Я ещё могу, очень условно, понять что если бы сейчас был 1998, у людей вместо интернета диалап, а вместо оперативной памяти мегабайт 16 недоразумения. Ладно, могу понять, хотя даже в те времена такого не было.

Но почему в 2k19 браузер не может загрузить таб пока на него не нажмёшь мышкой? Для чего это? Почему если у меня открыт gmail, то для того чтобы узнать есть ли новые письма мне нужно на него не забыть нажать мышкой?

И ладно бы хром — все мы питаем тёплые чувства к крому. Но даже файрфокс… Файрфокс с каждым годом всё страннее и странее.

about:config > browser.sessionstore.restore_on_demand = false

#dnodna #browser

2019.10.01 23:52

Смешное в open-rc

Л – Логика

# rc-update remove chronyd
 * rc-update: invalid command `remove'
# rc-update delete chronyd
 * service chronyd removed from runlevel default

#vostorg

2019.09.22 12:44