И это всё МОЁ

Привет всем! Решил я перейти на Линукс. Взял новенький ноут, с предустановленным на нем Линуксом (так сказали). При включении -


«Press ESC in 1 seconds to skip sturtup.nsh, any other key to continue»
Shell>


Не кидайте камнями, плиз, а расскажите, что делать, чтобы Линукс установился)
Спасибо!









 ,








И это всё МОЁ

Автор pgModeler предлагает собрать бинарник из сорцов, либо купить готовый бинарь с правильными патчами? Правильная логика рассуждений?


Вот новость от февраля 2013 года: https://habr.com/ru/post/170045/


Сайт проекта: http://www.pgmodeler.com.br/ > https://pgmodeler.io/









 ,








И это всё МОЁ

Речь про оболочку из этой статьи:
https://zen.yandex.ru/media/id/5ed9000e4b66e3773810a24d/staryi-deepin-5ee8c9ad3a87650634833681


Оболочка мне показалась красивой









 








И это всё МОЁ

Привет, ЛОР.
Недавно я написал свою реализацию Redux на Kotlin и уже пост фактум столкнулся с интересной особенностью, мне надо понять, проблема в том как я спроектировал конечное приложение, или в моей реализации на Kotlin есть баг. В общем, нужно проверить как ведёт себя оригинальный ReduxJS в такой ситуации и потому я здесь (Сам я в JS не шибко силён).


Ближе к делу:
Речь идёт о middleware, функции next внутри него и возможности диспатчить новые action непосредственно из Middleware (насколько я понял из документации вызов next и dispatch в одной ветке никаких правил не нарушают). Так вот, допустим у меня есть такая конструкция.


Action A
Action B
Action C
Action D

middleware1 который превращает A -> B вызывая next
middleware2 который превращает B -> C вызывая next И! одновременно с этим дергает dispatch(ActionD)



Какое поведение ожидаю я:
Сначала полностью пройдет цепочка для A -> B -> C


C попадет в Reducer, поменяется состояние и только потом через все Middleware и в конечном счёте Reducer полетит событие D.


На самом деле происходит совсем не так: В моём случае событие D летит по всем Middleware ещё до того как событие C достигнет редюсера. Повторюсь, возможно бага в моей реализации и я просто хочу понять, как оно в эталоне, которым для меня является JS. Надеюсь доступно объяснил и надеюсь на вашу помощь.









 , ,








И это всё МОЁ

Привет, ЛОР!


Предлагаю идею: рядом с кнопкой «Показать удалённые комментарии» запилить кнопку «Показать все комментарии». Как и её соседка, она будет показывать всю простыню комментариев в теме, но со следующими отличиями:




  1. не будет показывать удалённые;




  2. будет доступна не только звездоносцам, а всем (возможно, даже анонимусам, но тут надо смотреть, как это отразится на нагрузке на сервер);




  3. не будет превращаться в тыкву при отправке темы в архив.




Сейчас есть лайфхак — временно выставить в своём профиле 500 комментариев на страницу. Но это костыль, не очень удобный, и не работает в эпик-темах (страницы всё равно останутся, только их будет меньше).


Пожалуйста!









 








И это всё МОЁ

Нужен он мне потому что на рабочем столе у меня мало места сейчас.Мышкой возить никак. Место не позволяет. Узнал что есть альтернатива мышке. Вобщем вы поняли.

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








 








И это всё МОЁ

Школы по всей России оборудуют видеокамерами с поддержкой распознавания лиц. Наблюдать за учениками будут как в классах, так и за их пределами. Системой видеонаблюдения станет отечественное решение с названием Оруэлл 2k, разработанное компанией «Элвис-неотек».


Одна камера обойдется в сумму около 10 тыс. руб., а всего каждой школе понадобится примерно 20 камер. Работать все будет под управлением OS Linux.









 








И это всё МОЁ

Я напишу сначала как делаю это я:


$ mkdir project
$ cd project
$ mkdir -p cmd/prog1 internal pkg
$ go mod init project


При такой структуре, тестирование кода, расположенного в ./internal (и других каталогах, где лежат go файлы с package отличным от main) сводится к вызову:


$ go test ./... -v


Для запуска тестов для main извращаюсь так:


$ go test ./cmd/*


Пример cmd/main_test.go:


package main

import (
"os"
"testing"
)

// Для чего это делать?
// Можно ли как-то запустить Main функцию с аргументами командной строки?
// os.Args = []string{os.Args[0], "-h"} вместо справки по проге, выводит справку по тестированию
func TestMain(m *testing.M) {
os.Exit(m.Run())
}



Правильно ли я понимаю, что Main никак не протестировать? Это в C++ int main(int argc, char** argv), а тут как? Единственный вывод, который я сделал: Main должна содержать 3-5 строк, типа:


func main() {
flags := Flags;
setupFlags(&flags);
flag.Parse();
run(&flags);
}


Тогда можно будет написать тесты. Что я не правильно усвоил?









 








И это всё МОЁ
И это всё МОЁ

Утащил flat-vmdk.


Подменил файл диска в созданной виртуалке.


При запуске синий экран смерти.


У кого есть опыт?









 , ,








И это всё МОЁ

После недавних изменений в Chromium'ах внезапно вылезла сабжевая багофича, которая проявляется как в ванильном Chromium'е (например, версии 85.0.4173.0) так и в основанном на нём браузерах, включая Brave (в т.ч. в Brave, который основан на Chromium'е 83.0.4103.97).

Выглядит это так: http://pics.rsh.ru/img/screenshot1592301114_rv673loa.jpg

Как подсказывает Гугл, подобные белые полосы в Chrome/Chromium'е уже исторически наблюдались.

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

Гугл подсказывает, что при прошлых подобных багофичах (которые были в т.ч. и в винде) были предположения, что это связано с тем, что Chrome/Chromium считает, что на этом месте должна быть виртуальная клавиатура (которой, по факту, нет). Причём там советовали крутить видеодрайвера, чтобы принудительно форсить полноэкранные режимы. Найти настройки, которые могли бы хоть как-то относиться к виртуальной клавиатуре, в современных версиях под GNU/Linux не удалось. Гугл подсказывает, что подобное может относиться разве что к Accessibility подсистеме, которая по дефолту вообще выключена.

В бетах 78-го Firefox'а Lightshot продолжает работать корректно.








 , ,








И это всё МОЁ

Что- то совсем не по глазам мне. Ткните носом как использовать жабир клиент через тор, а то способ с запущенным тор-браузером костыльный прям совсем.









 ,








И это всё МОЁ

В QTableWidget помещены в строки QCheckBox, которые динамически созданы, добавляются в лайоут, а лайоут в виджет, который через setcellwidget добавляется в ячейку таблицы.
Нужно при клике на QCheckBox определить номер строки таблицы.
Как это сделать без перебора по всей таблице поиска указателя QCheckBox ?


QCheckBox * check = (QCheckBox*)sender();

int row = ui->tableMaterials->indexAt(check->pos()).row();

int column = ui->tableMaterials->indexAt(check->pos()).column();

qDebug() << "check" << check << "row" << row << "column" << column;


Такой вариант не работает, по всем строкам выдает 0,0 строку и столбец.









 ,








И это всё МОЁ

Есть ubuntu 20.04
Внешний ip 2.2.2.2


В before.rules

-A PREROUTING -d 1.1.1.2/32 -p tcp -m tcp –dport 1723 -j DNAT –to-destination 192.168.0.50:1723

-A PREROUTING -d 1.1.1.2/32 -p 47 -j DNAT –to 192.168.0.50

Это я открыл для сотрудников локальный VPN сервер.

Извне соединяются по PPTP без проблем


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


Пишу правило для GRE
-A POSTROUTING -s 192.168.0.0/20 -p 47 -j MASQUERADE


пакет GRE уходит на внешний сервер.

приходит ответный пакет GRE на 2.2.2.2
Но подключения нет.









 , , , ,








И это всё МОЁ

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









 ,








И это всё МОЁ
После десяти месяцев разработки доступен мультимедиа-пакет FFmpeg 4.3, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и декодирование звуковых и видеоформатов). Пакет распространяется под лицензиями LGPL и GPL, разработка FFmpeg ведётся смежно с проектом MPlayer.



И это всё МОЁ

Настроена репликация таким образов: слэйв получает данные с двух мастеров, один из которых хранит данные на 50 Гб, а второй - почти на терабайт.


Все работало хорошо, но пару дней назад отвалился mysql на слэйве. Перезапустить службу удалось только тогда, когда я остановил репликацию с самого «тяжелого» мастера.


Пошуршав в логах, обнаружил, что подключение к мастеру периодически отваливается: error connecting to master ‘user@hostname’ - retry-time: 60 retries: 1


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


Тут еще сразу оговорюсь, что раскомментирование innodb_force_recovery не подойдет, т.к. в таком случае я не могу запустить репликацию.









 , , , ,








И это всё МОЁ

Добрый день. Казалось бы вопрос то плевый, не так давно ставил на ноут Lenovo x240 в UEFI без legacy сначала windows, затем Slackware, затем Debian и GRUB успешно установился и нашел все ОС и все это работает в UEFI прекрасно, причем никаких танцев с бубном. Обновил дома железо, ранее была (Rampage IV formula и на ней также в дуалбут win и ubuntu встали в UEFI и отлично работали рядом), теперь мамка ASrock Taichi XE и тут то и начались вопросы, Windows встала, начал ставить MX Linux и вот первый сюрприз, по невнимательности, она не увидела мой диск m2 nvme, а все потому, что режим SATA стоял intel RST, ну да ладно, пути решения у такой проблемы два: менять на AHCI и либо переустановить win, либо пошаманить с реестром, разок запустить win в safe mode и можно загружаться в обычном режиме, после этого успеха я был окрылен и бегом ставить MX Linux, установился он без проблем, но вот в конце установки - видимо при записи загрузчика он выдал вот такую ошибку «nvram boot variable update failure» дальше написал что-то про то, что возможно ОС не сможет загрузиться, ну оно и понятно, загрузчик то зафейлил и после ребута ни одна из ОС не загружается. Пока оставил все как есть, хотя руки уже чесались переустановить с нуля windows или попробовать поставить сверху ubuntu и авось все образуется, но пока оставил как есть, сижу без компа, времени мало, но разобраться надо и очень хочется. Да и начитался я всяких страшилок про то как убивается UEFI регулярными перезаписями NVRAM и кривыми прошивками UEFI в которых garbage collector не подчищает как надо и в итоге NVRAM становится readonly. Я хочу верить в то, что в моем случае я просто что-то не так сделал, а не в то, что мой UEFI оказался таким же унылым следствием чей-то недоработки.


Извиняюсь за такую долгую предысторию, но возможно эти детали могут быть важны при ответе на мой вопрос:
Какова же в итоге правильная последовательность действий при установке UEFI Windows и Linux в dualboot?


P.S. Переустановить ОС всегда успею, хочется верить, что возможно как-то восстановить загрузку уже установленных ОС, ведь по сути они живые, но проблема с их загрузкой…









 , , , ,








И это всё МОЁ

У меня проблема. FonrForge при создании шрифта вместо того, чтобы экспортировать шрифт выдаёт какую-то ошибку.
Помогите пожалуйста
Файл проекта-шрифта:
https://vk.com/condratiy?w=wall-195222526_8









 








И это всё МОЁ

Поставил Manjaro / Arch Linux чтобы закрыть несколько багов в проекте связанных со спецификой дистрибутивов, думал сейчас быстренько разберусь со всем и свалю обратно. Дак нет же, вместо того, чтобы в user-friendly дистрибутиве просто сделать git clone и начать щёлкать Issues как орешки, мне пришлось бодаться с запуском QEMU из под root! Мдя...

Почему во времена всеобщей виртуализации, контейнеризации и одноразовых нод, — запустил, поработал, удалил, всё ещё существуют рекомендации «не запускать ничего с правами root». И ладно бы, дело ограничивалось одними лишь предупреждениями, — программы вовсе отказываются запускаться.

Мне удобно работать из под root, т.к. это не накладывает никаких ограничений на работу с системой, на тот-же mount. Удобно, когда перед тобой все возможности системы без ограничений, а значит без лишних движений на постоянные sudo/su. Система тоже одноразовая, каждый раз загружается заново по сети, например, или с флешки, или пусть даже я её установлю на диск, она всё ещё остаётся одноразовой поскольку служит одноразовой цели. Надёжность — это когда ты делаешь бэкапы, а не вводишь постоянно свой пароль. С чего ради все считают, что если ты устанавливают систему, значит всё, «и в радости и в горе, пока rm -rf / не разлучит вас». А значит надо всё запретить! Нипущать! Никого тебе удобства работы из под root!

Или Debian, установщик которого всё ещё считает, что / под всю систему это для «novice», а раздельные / /home /var это для «expert», ха! Если надо настроить специфичную конфигурацию, делаешь это в отдельном контейнере, виртуалке. Когда мало ресурсов или возможностей виртуалки, или даже тебе визуально легче представить это на реальном железе, то делаешь это соответственно на отдельной железке, одноразово, опять же, сохраняешь свою конфигурацию и пользуешься на века. К чему нужна вся эта суета вокруг выбора ФС? Сплошная экономия на спичках чтобы выиграть сущие проценты производительности.

Наступили времена одноразовых нод. Одноразовых железок, даже.

И хватит уже носиться с root как со священной коровой.