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

2020.01.05 13:08

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

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

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

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

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

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

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.”)

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

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/

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.

2019.10.02 02:45

Browser: restore on demand

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

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

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

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

about:config > browser.sessionstore.restore_on_demand = false

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

2019.09.22 12:44

Аметистовые Вены – Последний танец 🎵

Сложно даже вспомнить что и когда было в последний раз на ревайнде! Восторг!

2019.09.11 16:09

recover linux from grub

Новая порция новостей про обновление мира! Ура! Дождались! Я знаю что вы переживали получится ли у меня написать ещё один пост на эту тему или конец, мир разрушен?!

Но нет, мир был на грани, но спасён. Не сразу, но спасён! Так получилось что это уже не первое обновление мира на моём локалхосте поэтому вспоминая весёлый опыт предудущих обновлений иксы были исключены из загрузки, а то знаете как это бывает: компьютер загрузился, а клавиатура не работает. Грустновато.

# rc-update del xdm default

Но удар в спину пришёл от mysql. После смены профиля и переноса библиотек в другие места mysql блокировал загрузку и даже не умирал по ttl. Как вы понимаете загрузочной дискеты нет, а интерактивный режим в openrc не работает.

Интересный факт: оказывается, если у вас есть андроид, otg кабель и usb flash — есть некоторый шанс что у вас получится сделать загрузочную флешку прямо из андроида! Восхитительно!

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

# loading grub
# press `c` to open internal console
# read content of this file:
ls (hd0,1)/
cat (hd0,1)/recover_how_to

# return to entries list in grub and press `e`
# append to `linux` line `init=/bash/sh`
- linux /boot/grub_vmlinuz_new root=/dev/sda1 acpi_backlight=video
+ linux /boot/grub_vmlinuz_new root=/dev/sda1 acpi_backlight=video init=/bin/sh

# boot to shell and remount root
mount -o remount,rw /dev/sda1 /
mount -t proc none /proc

# do your recovery magic

2019.09.08 20:50

gentoo@localhost # emerge @world || fix blocks

И снова здравствуйте! Не прошло и трёх лет (а нет, прошло) как мне очень захотелось обновить всё что катится, а всё что не катится покатить и тоже обновить. Пришло время моей gentoo сделать очередной rolling realise, знаете ли.

Вот уже третьи сутки пойдут скооро, а к заветному сабжу ещё даже не удалось подступиться, всё всякие зависимости и их блокировки, знаете ли rolling release всё же!


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

emerge -1av $(equery depends <package-name> | sed 's/-[0-9]\{1,\}.*$//')

Допустим случилось невероятное и у вас возник блок пакета, типа emerge в общем-то и не против поставить уже новую версию пакета, но старая версия очень уж нужна другим пакетам:

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-libs/readline:0

  (sys-libs/readline-8.0_p1:0/8::gentoo, installed) pulled in by
    >=sys-libs/readline-8.0:0= required by (app-shells/bash-5.0_p11:0/0::gentoo, ebuild scheduled for merge)
    ^^                  ^^^^^^                                                                                                                                                        
    sys-libs/readline:0/8= required by (app-text/hunspell-1.7.0-r1:0/1.7::gentoo, installed)
                     ^^^^^                                                                                                      
    (and 10 more with the same problems)

  (sys-libs/readline-7.0_p5:0/7::gentoo, ebuild scheduled for merge) pulled in by
    sys-libs/readline:0/7=[abi_x86_32(-),abi_x86_64(-)] required by (dev-db/sqlite-3.29.0:3/3::gentoo, installed)
                     ^^^^^                                                                                                                           
    (and 12 more with the same problem)

Вариантов решения такой проблемы как бы три:

1) Удалить пакет и забыть, а emerge там как-нибудь сам что-нибудь сделает, но такое можно сделать сильно невсегда

2) Форсировать обновление одного пакета игнорируя зависимости, но тоже такое:

emerge -1av --nodeps sys-libs/readline:0

3) Обновить вручную все те пакеты что требуют старую версию пакета. Вот именно тут приходит на пользу строка упомянутая выше. Она, конечно, не обновляет все пакеты которые требуют старую версию, зато она просто обновляет все пакеты которым нужен указанный пакет. ВО-С-ХИ-ТИ-ТЕ-ЛЬ-НО:

emerge -1av $(equery depends sys-libs/readline:0 | sed 's/-[0-9]\{1,\}.*$//')

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

- sys-libs/binutils-libs-2.32::gentoo (masked by: package.mask)
# If you still use one of these old toolchain packages, please upgrade (and
# switch the compiler / the binutils) ASAP. If you need them for a specific
# (isolated) use case, feel free to unmask them on your system.

Но на что же нам предлагают его обновить то?

[ebuild     U  ] sys-libs/binutils-libs-2.32-r1:0/2.32::gentoo [2.32:0/2.32::gentoo] USE="nls -64-bit-bfd -multitarget -static-libs" ABI_X86="32 (64) (-x32)" 20,431 KiB

Ага, то есть 2.32 плохо, а вот 2.32-r1 — это прям вот то что нужно, на острие!

Причём сам пакет замаскирован:

If you still use one of these old toolchain packages, please upgrade (and switch the compiler / the binutils) ASAP.

Affected packages: <sys -devel/gcc-5.4>, <sys-libs/glibc-2.28>, <sys-devel/binutils-2.32-r1>, <sys-devel/binutils-hppa64-2.32-r1>, <sys-libs/binutils-libs-2.32-r1>

Удивительный @world!

2019.09.06 03:30