LINUX.ORG.RU

Сообщения bryak

 

Стало неинтересно

 

Раньше было интересней. Можно было найти, например, какую-то железку задёшево и которая была быстрой/эффективной, как более дорогая железка. Можно было поставить какую-то прогу, крякнуть ее и пользоваться. Похекать телефон, чтобы на него все программы поставить без ограничений. А сейчас что? У всех такой же набор программ. Железки стоят ровно столько, сколько дают производительности. Всё стало неинтересным. Тфу!

bryak
()

nix-index игнорирует substituters

 

nix-index использует cache.nix.org, а не то, что указано в substituters. Как это исправить?

bryak
()

Мой опыт использования «ИИ»

 , , , ,

Я долгое время не использовал так называемое ИИ, но потом мне стало интересно и я попробовал его поиспользовать

Много раньше я говорил, что государство/государства(имеется ввиду управленческий аппарат) всегда смотрит на юнитов, как статисты. Есть задача - насытить рынок труда юнитами со знанием IT и понизить их стомость(чтобы понизить себестоимость конечного IT продукта) - они этим и занимаются. Применяя при этом все силы и средства: от манипуляций на разных уровнях(от самых высоких(идеологического), до более низких), до применения прямых регулятивных мер и искажение реальности в информационной среде. «ИИ» имеет много векторов применения. На рынке труда оно является… Впрочем, вы и сами знаете, для чего оно

А с технической точки зрения пока что оно совсем не ИИ(но лет через 10-20 станет настоящим ИИ или в крайнем случае будет иметь задатки ИИ). Чем оно является сейчас? У меня есть пробелы с узкоспециализированными терминами, поэтому я буду выражаться просто: сейчас этот «ИИ» раскладывает натуральный язык(в данном случае русский) на лексемы. Этому «ИИ» подсвовывают модели, которые он так же раскладывает на лексемы и тренируется на них. Это примерно как раскладывание изображения на квадраты по 16 пикселей и определение в этих квадратов объектов. Далее при запросе юзером, выделяется такой квадрат 16х16 пикселей(лексема) и подсовывается примерное соответствие этой лексеме. С технической точки зрения это выглядит так:

Запрос: дай мне команду bash посмотреть список директорий --> 1.команда 2.bash 3.директория 4.список

Ответ формируется по этим 4 лексемам. Если пользователь дает отрицательный фидбек: не подошло, не работает. «ИИ» просто выдаёт пользователю другой подходящий ответ по этим лексемам. Припудривая предварительно это каким-то многозначительным текстом типа: гм, действительно пользователь прав. В этом ответе ошибка. И далее выдает другой «ответ»

Таким образом юзер выступает у этой системы - как песочница. «ИИ» подсовывает все возможные варианты по этим лексемам(не зная, какие из них правильные), а на выходе получает варианты - которые работают. Т.е юзеры своими запросами обучают «ИИ»

Красота, не правда ли? Именно по этой причине доступ к «ИИ» бесплатный. А вот отфильтрованные варианты ответов - уже продаются за $ в каких-то платных узкоспециализированных LLM

Перемещено hobbit из talks

bryak
()

Nixos: установка vot

 

cat overlay/vot/default.nix

{ buildNpmPackage, fetchurl, lib, nodejs, cacert }:

buildNpmPackage rec {
  pname = "vot-cli";
  version = "1.4.3";

  src = fetchurl {
    url = "https://registry.npmjs.org/${pname}/-/${pname}-${version}.tgz";
    hash = "sha256-eOUfy6l48MD9IcWiFlC142vXvo5XobKTJ2uC6xzDGS4=";
  };

  nativeBuildInputs = [ cacert ];

  postPatch = ''
    export HOME=$TMPDIR
    export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
    ${nodejs}/bin/npm install --package-lock-only --no-audit --no-fund --ignore-scripts
  '';

  npmDepsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";

  meta = {
    description = "Voice Over Translation CLI tool";
    homepage = "https://www.npmjs.com/package/vot-cli";
    license = lib.licenses.mit;
    platforms = lib.platforms.all;
  };
}
cd /pkg/overlay/vot
nix-build -E 'with import <nixpkgs> {}; callPackage ./default.nix { }'

out:
nix-build -E 'with import <nixpkgs> {}; callPackage ./default.nix { }'
these 2 derivations will be built:
  /nix/store/0r4nlif14aid7wbxmkd6i7rvb2jga1z2-vot-cli-1.4.3-npm-deps.drv
  /nix/store/7chl5iwlfgx477711aq3zpn9armmf6yf-vot-cli-1.4.3.drv
building '/nix/store/0r4nlif14aid7wbxmkd6i7rvb2jga1z2-vot-cli-1.4.3-npm-deps.drv'...
Running phase: unpackPhase
unpacking source archive /nix/store/g13fld7r6yx3wadh2can68aa49yz4jca-vot-cli-1.4.3.tgz
source root is package
setting SOURCE_DATE_EPOCH to timestamp 499162500 of file "package/test/test-youtube.ps1"
Running phase: patchPhase <-- зависает тут

Как правильно сделать? Так-то оно в дистрибах ставилось npm install --global vot-cli

bryak
()

Ограничение на отправку комментариев

 ,

Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=45

Зачем мне видеть эту информацию? По-моем показ этой инфы должен быть тогда, когда у меня скор <=45

bryak
()

Nixos deadbeef тэги, при конвертации

 

В nixos поставил deadbeef. Разрезаю flac+cue и на выходе в тегах пусто. Какой-то пакет надо поставить?

UPD: Да, я накосячил с вроппером. Всё ок

bryak
()

Выбор системы бэкапа

 

Локальная система бэкапа:

  1. чтобы можно было переопределять архиватор(на тот же pigz)
  2. чтобы в случае неуспеха - перезапуск создания архивов
  3. удаление старых копий
  4. настройки ходить по симлинкам/не ходить

Навскидку Bacula, но не знаю, все четыре пункта она закрывает?

bryak
()

Теги и их синонимы

 ,

Попытался добавить тег yandex-browser в список игнорируемых тегов и получил ошибку: Tag not found: ‘yandex-browser’. Если экранировать дефис(yandex\-browser), то вьюха даст выполнить post, Но при этом тег не попадает в список игнорируемых. Оказалось, что у тегов появились синонимы. Т.е yandex-browser - это корневой тег, а яндекс.браузер - это синоним. Хорошо, это хорошая идея. Кому-то нравится добавлять yandex-browser, а кому-то яндекс.браузер

Только всё это находится в неконсистентном виде. Допустим, я увидел топик с тегом yandex-browser и хочу его добавить в игнор лист. Но сделать я это не могу. Я задал вопрос: а как же определять, является тег ya-browser синонимом или корневым тегом? Мне ответил @CrX Дублирующиеся теги (комментарий)

https://www.linux.org.ru/tag/yandex-browser (твой тег в url) редиректит на Яндекс.браузер. Ну вот значит Яндекс.браузер — основной, ну и там на странице написано «Синонимы: yandex-browser»

Вообще - это всё юзерам не нужно. Что-то там проверять, является ли он синонимом или не является. По идее если я хочу добавить yandex-browser в игнор, то он должен

  1. тянуть и ya-bro и все синонимы в игнор лист
  2. при добавлении одного синонима - должны попадать все синонимы и корневой тег ya-bro
  3. точно так же и при удалении корневого тега или синонима - все синонимы должны уходить из игнор листа

Как это должно происходить явно или не явно(при попадении в игнор лист одного тега - возможно должны(или не должны?) отображаться в списке игнорируемых тегов все синонимы. И по аналогии удаление

Но всё вышесказанное - это субъективщина. Может кто-то предложит более эффективный вариант работы с тегами, имеющими синонимы?

bryak
()

Тред годных бесплатных игр в Steam

 ,

Делимся хорошими бесплатными играми в Steam, в которые можно поиграть

  1. Russian Fishing 4
  2. Super Tux

Перемещено CrX из talks

bryak
()

Почему по-разному рендерятся шрифты Terminus и Terminess?

 ,

Качаю Terminess. Устанавливаю TerminessNerdFontMono-Regular.ttf

Запускаю:

st -f "Terminess Nerd Font Mono:style=Regular:size=11:antialias=true:autohint=true"

st -f "Terminus:size=11:antialias=false:autohint=true"

out:

  1. 11px –> https://fastpic.org/view/127/2026/0327/_778be0e4c85d0c85e5081b015281f0e6.png.html
  2. 31px –> https://fastpic.org/view/127/2026/0327/_5643b00435f0ad36f4969b6d4817500c.png.html

Обращаем внимание, прежде всего, на букву х, потом на i, Потом на @. Как это так? Terminess - это Terminus, только с иконками. Как он может рендериться по-разному?

bryak
()

Эмулятор playstation на каких клавишах играть в бродилки?

 

Решил поиграть в resident evil3. Геймпада нет, есть клавиатура. А на какие клавиши биндить cross, square, cicrle, triangle?

bryak
()

Откуда взять погоду?

 

  1. yandex - апи стоит конских денег. Сразу нет
  2. wttr.in - из-за блокировок работает через раз
  3. openweather - из-за блокировок работает через раз
  4. международных аэропортов рядом нет, чтобы тянуть погоду оттуда

Из данных интересует текущая температура и давление в гПа

bryak
()

ifconfig нет статистики RX/TX

 ,

ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.111  netmask 255.255.252.0  broadcast 0.0.0.0
        inet6 xxxx::xxxx:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x20<link>
        ether xx:xx:xx:xx:xx:xx  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether xx:xx:xx:xx:xx:xx  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp5s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 xxxx::xxx:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x20<link>
        ether xx:xx:xx:xx:xx:xx  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

А в ip статистика есть

ip -s link show br0
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    RX:   bytes  packets errors dropped  missed   mcast
    25800542986 21388363      0       0       0   10168
    TX:   bytes  packets errors dropped carrier collsns
    18463475658 19431437      0      36       0       0
bryak
()

Как оффлайн работать с nixos?

 

Заметил, что при каждом nixos-rebuild она что-то скачивает по 100мб и если отключить интернет, то при nixos-rebuild test/switch пишет, что не могу скачать channells. Как сделать так, чтобы при отсутствии интернета можно было nixos переконфигурировать и что-то с ней делать?

Допустим, я собрал систему и еду туда, где интернета нет. Мне не нужно добавлять новые пакеты. Я просто внес изменения в текущую конфигурацию и мне нужно сделать nixox-rebuild test. А она лезет в интернет и говорит «не могу скачать channells»

bryak
()

Не получается заинклюдить файл

 , ,

Если что, всё это собирается из-под деривации в nixos. В дебиане это всё работает. Почему не хочет в nixos - понятия не имею :)

echo "// shiftview.c" >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"
    echo '{ MODKEY,           XK_bracketleft,  shiftview, {-1} },' >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"
    echo '{ MODKEY,           XK_bracketright, shiftview, {1} },' >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"
    echo '{ MODKEY,           XK_Left,  shiftview, {-1} },' >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"
    echo '{ MODKEY,           XK_Right, shiftview, {1} },' >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"

Далее я подключаю инклюд в config.h

echo "// shiftview.c" >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"
    echo '{ MODKEY,           XK_bracketleft,  shiftview, {-1} },' >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"
    echo '{ MODKEY,           XK_bracketright, shiftview, {1} },' >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"
    echo '{ MODKEY,           XK_Left,  shiftview, {-1} },' >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"
    echo '{ MODKEY,           XK_Right, shiftview, {1} },' >> "./$PATH_FINALIZER_OUT/$FILE_CFG_MY_BIND"

А самом файле

// shiftview.c
{ MODKEY,           XK_bracketleft,  shiftview, {-1} },
{ MODKEY,           XK_bracketright, shiftview, {1} },
{ MODKEY,           XK_Left,  shiftview, {-1} },
{ MODKEY,           XK_Right, shiftview, {1} },

В конфиге строки инклюда выглядят так:

static const Key keys[] = {
...
    TAGKEYS(                        XK_9,                                  8)
    #include "config_my_bind.h"
};

И получаю ошибку:

In file included from config.h:236,
                 from dwm.c:383:
config_my_bind.h:2:38: error: 'shiftview' undeclared here (not in a function)
    2 | { MODKEY,           XK_bracketleft,  shiftview, {-1} },
      |                                      ^~~~~~~~~
make: *** [Makefile:18: dwm.o] Error 1

Хотя, изначально в config.h были строки(я их закомментил) и dwm с этими строками нормально собирается. Т.е, если в самом конфиге config.h есть shiftview, то компилятор собирает код, а если вынести эти же строки в include, то нет

{ MODKEY|ShiftMask,             XK_Tab,        shiftview,              { .i = -1 } },
{ MODKEY|ShiftMask,             XK_backslash,  shiftview,              { .i = +1 } },
bryak
()

Nixos не могу обращаться к пакету через pkgs.some

 

cat /etc/nixos/hosts/libvirt/configuration.nix
...
  imports = [
   ...
    ../common/packages/dwm-flexipatch.nix
   ...
   ];
...
/etc/nixos/hosts/common/packages/dwm-flexipatch.nix

{ config, pkgs, ... }:

let
  my_cfg = builtins.fromJSON (builtins.readFile /etc/nixos/.env.json);
  sysconfig = (import <nixpkgs/nixos> {}).config;

  myDwm = pkgs.callPackage ../modules/dwm-flexipatch/dwm-flexipatch.nix {
  ...
  };
in

{
  environment.systemPackages = with pkgs; [
    myDwm
    dmenu
  ];
}
cat /etc/nixos/hosts/common/modules/dwm-flexipatch/dwm-flexipatch.nix

{ pkgs ? import <nixpkgs> {},
  configFile ? null,
  patches ? {},
}:

with pkgs;

let
  lib = pkgs.lib;
in

stdenv.mkDerivation rec {
  pname = "dwm-flexipatch";
  version = "8333d7cccfd61a785fe6b2f00c394561b905fb57";

  src = fetchFromGitHub {
    owner = "bakkeby";
    repo = "dwm-flexipatch";
    rev = version;
    # sha256 = lib.fakeSha256;
    sha256 = "sha256-I8x2IUsNd2YKtevMbmw6Oq4iIcb/EoRlTFipAZf3vp4=";
  };

  nativeBuildInputs = [ pkg-config ];
  buildInputs = [ xorg.libX11 xorg.libXft xorg.libXinerama ];

  ...

  meta = with lib; {
    description = "Fork of dwm with flexipatch functionality";
    homepage = "https://github.com/bakkeby/dwm-flexipatch";
    license = licenses.mit;
    maintainers = with maintainers; [ ];
    platforms = platforms.linux;
  };
}
cat /etc/nixos/hosts/common/services/xorg.nix
    ...
    windowManager.session = [{
      name = "myDwm";
      start = ''
          ${pkgs.myDwm}/bin/dwm &
          waitPID=$!
          '';
    }];
       error: attribute 'myDwm' missing
       at /etc/nixos/hosts/common/services/xorg.nix:57:13:
           56|       start = ''
           57|           ${pkgs.myDwm}/bin/dwm &
             |             ^
           58|           waitPID=$!
       Did you mean mlvwm?
bryak
()

Песочница

 

Нужна песочница для андроид, которая позволит изолировать приложени/я. Чтобы можно было им рубить права(допустим не давать выходить в интернеты, к фс, etc). Есть такое? Скачал shelter - похоже на то, что нужно, но нельзя права обрезать

bryak
()

Зачем на на видео делают клиппинг?

Заметил, что очень часто на всяких видео(в том числе военной тематики) делают клиппинг. Смотришь на телефоне даже на самой низкой громкости и оно такое «бщ-бщ-бщ» по низким частотам, что такое ощущение, что динамик телефона сейчас порвется

По мнению тех, кто это делает - что должен чувствовать при этом реципиент?

bryak
()

Кеширование home-manager

 

Есть configuration.nix

{ config, pkgs, ... }:

let
  my_cfg = builtins.fromJSON (builtins.readFile /etc/nixos/.env.json);

  home-manager = builtins.fetchTarball {
    url = "${my_cfg.nodes.homeManager.url}-${my_cfg.nodes.os.version}.tar.gz";
  };

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

{ config, pkgs, ... }:
# with config;

let
  my_cfg = builtins.fromJSON (builtins.readFile /etc/nixos/.env.json);

  home-manager = let
    localTarball = "/${my_cfg.nodes.homeManager.path}/${my_cfg.nodes.homeManager.name}-${my_cfg.nodes.os.version}.tar.gz";
  in
    if builtins.pathExists localTarball then
      builtins.fetchTarball "file://${localTarball}"
    else
      builtins.fetchTarball "${my_cfg.nodes.homeManager.url}-${my_cfg.nodes.os.version}.tar.gz";

  # home.file."Downloads/${fileName}".source = builtins.fetchurl {
  #   url = "https://github.com/nix-community/home-manager/archive/release-${version}.tar.gz";
  #   sha256 = "";
  # };

in

{

  # get home-manager tarboll
  environment.etc."/${my_cfg.nodes.homeManager.path}/${my_cfg.nodes.homeManager.name}-${my_cfg.nodes.os.version}.tar.gz".source =
    url = "${my_cfg.nodes.homeManager.url}-${my_cfg.nodes.os.version}.tar.gz";
    sha256 = "${my_cfg.nodes.homeManager.sha256}";
  };
...

Как вообще правильно закешировать home-manager? Написать деривацию с fetchTarboll и импортировать ее в configuration.nix?

bryak
()

Как получить доступ к локальным переменным в двух функциях?

 

Только локальные переменные нужны. Никаких глобальных

function f1 () {
   local var1 = some1
   local var2 = some2
}

function f2 () {
    f1  # <-- хотелось бы что-то такое. Типа загрузили f1 и имеем доступ к переменным, чтобы по 10 раз не дублировать var1 и var2 в f1...fx
    echo ${var1}
    echo ${var2}
}

function f3 () {
    f1
    echo ${var1}
    echo ${var2}
}
bryak
()