Роман Алискин: посты по тегу
я нИ прагромист
(новые сверху), стр 2

asc
1
2
3

IT Resheniya LLC, from St Petersburg, go to the na xep.

IT Resheniya LLC, from St Petersburg, go to the na xep.
Ну аж никак вы не смогёте, то что хотите.
В коде есть одна ошибка. В обновлении она уже исправлена, но обновление полностью еще не готово и на сервер не выложено.

Заи..драла реклама? Установи SponsorBlock (заблокировать рекламу убрать рекламу)

Если вас задрала реклама на https://www.youtube.com/ (РЕКЛАМНЫЕ ИНТЕГРАЦИИ В ВИДЕО от авторов видео, а не реклама на https://www.youtube.com/), установите
SponsorBlock
.
Ссылка на дополнение для Chrome-браузеров.
Ссылка на дополнение для Firefox.
Сам только узнал об этом чуде. заблокировать рекламу убрать рекламу

ого, я не знал

и о многих других не знал

Сам себя не похвалишь...

Обратите внимание на фон
этой картинки в любой цветовой теме.
Такую незаметную мелочь никто не увидит и не оценит.

Псіхи нападають

Кілька днів назад я написав про те що скоро буде "криптовалюта", але до сих пір нічого не оновив. Не оновив тому що відволікся на Зворотній звязок, на написання всякої нецікавої фігні та на інші справи. До чого тут псіхи і як вони нападають?: ну, еее, я пообіцяв оновити сайт, але вже кілька днів не роблю цього. Але ж я написав! От саме через те що я не виконую своїх обіцянок-цяцянок, я почуваюсь трішки дискомфортно. Хоча я не вказав коли оновлення буде. Але, але... для мене
скоро
значить миттєво або хоча б протягом доби. --- Перед своїм Я мені не зручно.

Создаем говорящие часы в Линукс (или других unix-подобных системах).

Что нужно? Да в принципе ничего. Если это unix-подобных система, то в ней уже почти всё есть. Может потребуется установить консольную музыкалку (например mplayer).
Пошаговая инструкция:
1 Создаем директории ~/bin/ и ~/bin/clock/

mkdir -p ~/bin/clock/

2 Создаем файл play.sh в директории ~/bin/. Записываем в него три строчки.

#!/bin/bash
export XDG_RUNTIME_DIR=/run/user/1000
/usr/bin/mplayer $1

3 Изменяем права (далем файл исполняемым)

chmod u+x ~/bin/play.sh

4 В каталог ~/bin/clock/ записываем "озвучку" — mp3-файлы. Архив уже прилагается. 5 В файл кронтаба (команда crontab -e) вставляем строчки
00 00 * * * /home/xuser/bin/play.sh /home/xuser/bin/clock/0.mp3
00 01 * * * /home/xuser/bin/play.sh /home/xuser/bin/clock/1.mp3
00 02 * * * /home/xuser/bin/play.sh /home/xuser/bin/clock/2.mp3
 . . .
00 22 * * * /home/xuser/bin/play.sh /home/xuser/bin/clock/22.mp3
30 22 * * * /home/xuser/bin/play.sh /home/xuser/bin/clock/22_30.mp3
00 23 * * * /home/xuser/bin/play.sh /home/xuser/bin/clock/23.mp3
30 23 * * * /home/xuser/bin/play.sh /home/xuser/bin/clock/23_30.mp3
6 Всё. Ну я надеюсь вам понятно что «три точки» на 5 шаге нужно заменить на соответствующие время и пути к mp3-файлам. А также xuser надо поменять на имя вашей учетной записи.

Взадметки нИпрагромиста

Кажись у меня шото с краткосрочной памятью не так, наверное, профф болезня всех программистов и нИпрагргомистов. Бывает такое: забываю что происходило одну, две, три минуты назад. Я использую программку для записи идей, проблем, задач и всего такого... Можете взглянуть на мои взадметки, жописки, заметки, записки. Но там такое... Я и сам уже не всё помню, и не всё понимаю что тама понаписювано :;). Идею, проблему, ошибку, задачу ЗАПИСАЛ, РЕШИЛ И ЗАБЫЛ, "пошел" далее.

Нет пердела совершенству

Позавчера написал:
class EndPageRndContent {

    private $rnd;
    private $rnd_obj;

    public function __construct() {
        $this->rnd = rand(1, 6);
        switch ($this->rnd) {
            case 1:             //пользователи
                $this->rnd_obj = new RndUsers(4);
                break;
            case 2:             //посты
                $this->rnd_obj = new RndPosts(2);
                break;
            case 3:             //посткоменты
                $this->rnd_obj = new RndPostComs(1);
                break;
            case 4:             //картинки
                $this->rnd_obj = new RndFotos(4);
                break;
            case 5:             //фотокоменты
                $this->rnd_obj = new RndFotoComs(1);
                break;
            case 6:             //фотоалбомы
                $this->rnd_obj = new RndAlbums(4);
                break;
            default:            //ВСЕГДА В КЕЙСАХ ...!!!
                echo 'rnd_err def exit';
                $e = new Err();
                $e->logerr_exit('rnd_err def exit ' . __METHOD__ . ' in ' . __FILE__ . ' on ' . __LINE__);
                break;
        }
    }
}
Вчера переписал:
class RndContentEndPage {

    private $rnd;               //какой нужно выбирать
    private $cou_rnd_obj;       //количество в масссиве -1 (нум с нуля)
    private $selected_rnd_obj;  //выбран из массива
    private $how_show_rnd_cont; //сколько элементов показывать
    private $rnd_obj;
    private $tmp_wsh;
    private $rnd_ar = ['RndUsers', 'RndPosts','RndPostComs','RndFotos','RndFotoComs',
      'RndAlbums','RndComPics'];

    public function __construct() {
        $this->cou_rnd_obj = count($this->rnd_ar) - 1;
        $this->rnd = rand(0, $this->cou_rnd_obj);   //нумерац с 0
        $this->selected_rnd_obj = $this->rnd_ar[$this->rnd];
        $this->how_show_rnd_cont = rand(1, 4);
        $this->rnd_obj = new $this->selected_rnd_obj($this->how_show_rnd_cont);
   }
}
Сегодня еще раз переписываю...
class RndContentEndPage {

    private $rnd;               //какой нужно выбирать
    private $cou_rnd_obj;       //количество в масссиве -1 (нум с нуля)
    private $selected_rnd_obj;  //выбран из массива
    private $how_show_rnd_cont; //сколько элементов показывать
    private $rnd_obj;
    private $tmp_wsh;
    private $rnd_ar = ['RndPostComs', 'RndFotoComs', 'RndPosts', 'RndUsers',
      'RndAlbums', 'RndFotos', 'RndComPics'];

    public function __construct() {
        $this->cou_rnd_obj = count($this->rnd_ar) - 1;
        $this->rnd = rand(0, $this->cou_rnd_obj);   //нумерац с 0
        $this->selected_rnd_obj = $this->rnd_ar[$this->rnd];
        $this->set_how_show_rnd_cont();
        $this->rnd_obj = new $this->selected_rnd_obj($this->how_show_rnd_cont);
    }

    private function set_how_show_rnd_cont() {  //лучше несколько прсостых условий, чем какая-то хрень
        if ($this->rnd < 2) {
            $this->how_show_rnd_cont = 1;
        }
        if ($this->rnd == 2 ) {
            $this->how_show_rnd_cont = 2;
        }
        if ($this->rnd > 2 ) {
            $this->how_show_rnd_cont = 4;
        }
    }
}
Добавил я
$this->set_how_show_rnd_cont(); //в зависимости от того какой случайный контент показывать
этой строчкой устанавливается количество случайного контента для вывода

БЫЛО
$this->how_show_rnd_cont = rand(1, 4); //от 1 до 4 элементов
Если вывод 4 картинок или 4 фотоальбомов смотрится более-менее, то вывод 4 постов или 4 комментов выглядит уже не очень красиво (один коммент может быть на две(!) страницы монитора). Раньше в скобках было указано сколько нужно случайного контента выводить.
          case 1:             //пользователи
                $this->rnd_obj = new RndUsers(4);
                break;
            case 2:             //посты
                $this->rnd_obj = new RndPosts(2);
                break;
            case 3:             //посткоменты
                $this->rnd_obj = new RndPostComs(1);
                break;
            case 4:             //картинки
                $this->rnd_obj = new RndFotos(4);
                break;
            case 5:             //фотокоменты
                $this->rnd_obj = new RndFotoComs(1);
                break;
            case 6:             //фотоалбомы
                $this->rnd_obj = new RndAlbums(4);
                break;
Зачем всё это запердельн... запредельное совершенствование?
Теперь если нужно будет добавить еще какой-то случайный контент, то я вписываю класс
    private $rnd_ar = ['RndPostComs', 'RndFotoComs', 'RndPosts', 'RndUsers',
      'RndAlbums', 'RndFotos', 'RndComPics', 'СлучайныйНовыйКонетен'];

Всё!
Ну и возможно чуток условие изменю в set_how_show_rnd_cont() - ребята, которые в теме, поймут.
И так постоянно со всем кодом.

.local share baloo занимает много места baloofileextractor сильно грузит процессор baloofile

Каталог /home/user/.local/share/baloo/ занимает много гигабайт? Вы его постоянно удаляете, но он снова-и-снова появляется. Что делать? Без художественных вступлений(!), рассказываю Пакет baloo (в него входит несколько программ) предназначен для индексирования (или индексации?) файлов. Зачем индексация нужна? Ну хотя бы для быстрого поиска файлов, если вы задаете в графической программе, расширенные параметры поиска (по содержимому, по дате, по размеру).
В Убунте (или Убунту) есть два очень схожих (почти одинаковых пакета): baloo4 и baloo-kf5. Какая разница между ними я детально не интересовался. В этих пакетах есть такие программы\команды:
balooctl — управляет всем индексированием

baloo_file_extractor — каким то хандибубером
извлекает метаданные из файлов

baloosearch — для поиска файлов по всему индексу,
или в конкретной директории

baloo_file — наверное используется для обработки одного файла.
Детально не вникал. Но в сети полно жалобливых жалоб,
на тему того что этот процесс грузит систему на 100%.

balooshow — какая-то хрень, которая выводит какую-то
информацию о наличии каталогов и файлов в индексе
(количество строк, какой-то номер и еще что-то)

Афигенно я опьясняю, да?
Вы также можете заметить файл baloo_filemetadata_temp_extractor, но он, НАВЕРНОЕ, предназначен для показа метанформации на панели файлового менеджера.
Этот файл не из этого пакета. Далее… Стоить обратить внимание на balooctl. Запустив команду с параметром -h мы увидим:
balooctl -h
Использование: balooctl [параметры] command status enable disable start stop restart
suspend resume check index clear config monitor indexSize

Параметры:
  -f, --format <format>  Output format <json|simple|multiline (default)>.
                         Only applies to "balooctl status <file>"
  -v, --version          Отобразить информацию о версии.
  -h, --help             Отобразить эту справку.

Аргументы:
  command                Команда для выполнения.
  status                 Вывести состояние программы индексирования файлов.
  enable                 Включить индексирование файлов.
  disable                Выключить индексирование файлов.
  start                  Запустить индексирование файлов.
  stop                   Остановить индексирование файлов.
  restart                Перезапустить индексирование файлов.
  suspend                Приостановить индексирование файлов.
  resume                 Возобновить индексирование файлов.
  check                  Найти непроиндексированные файлы и проиндексировать
                         их.
  index                  Проиндексировать указанные файлы.
  clear                  Забыть указанные файлы.
  config                 Изменить настройку Baloo.
  monitor                Наблюдать за индексированием файлов.
  indexSize              Показать объём дискового пространства, используемого
                         индексом.
Не знаю стоит ли мне повторять то что так должно быть понятно(?) Остановлюсь лишь на некоторых важных вещах: Чтобы остановить индексирование (!!!ЕСЛИ ПРОГРАММА АКТИВНО РАБОТАЕТ!!!), сначала выполните команду
balooctl suspend

и только потом

balooctl stop

Почему так? Потому что при balooctl stop (!!!ЕСЛИ ПРОГРАММА АКТИВНО РАБОТАЕТ!!!), процессы продолжают работать.Потом приходится искать процесс в памяти и убивакивать его или просто без поиска процесса стрельнуть командой killall baloo_file. Для наблюдения за текущим индексированием выполните команду
balooctl monitor
Для полного запрета автоматического старта индексирования можете выполнить
balooctl disable
Все это хорошо, но как решить проблему с большой и не нужной папкой /home/user/.local/share/baloo/ ??? Щас еще чуток теории, а потом всё станет понятно. Обратим внимание на опцЫю config. А точнее на
balooctl config list
Список параметров конфигурации, которые можно просмотреть:

  hidden                   Следует ли Baloo индексировать скрытые файлы и папки
  contentIndexing          Следует ли Baloo индексировать содержимое файлов.
  includeFolders           Список папок, которые Baloo должен индексировать
  excludeFolders           Список папок, которые Baloo не должен индексировать
  excludeFilters           Список фильтров, используемых для исключения файлов из процесса индексирования
  excludeMimetypes         Список типов файлов, используемых для исключения файлов из процесса индексирования.
Ну вот в принципе и всё. Дальше можете без подсказок понять что к чему и зачем, но… Да, есть еще одно но: Индексировать скрытые файлы\папки оно не хочет (по состоянию на конец июля 2019), а также имеются некоторые баги-непонятки. В итоге отрываем файл конфигурации
/home/user/.config/baloofilerc
и указываем что нужно индексировать, а что не нужно. Думаю, вы сумеете разобраться в 10 строках этого файла. У меня из индекса исключены такие директории:
balooctl config ls excludeFolders 
/home/user/.cache 
/home/user/.local/share/baloo 
/home/user/.mozilla 

хотя конечно это наверное тупо, запрещать индексирование в скрытых директориях
если оно и так не работает (в скрытых!)

/home/user/NB_8.2 
/home/user/VirtualBox VMs 
/home/user/books 
/home/user/dnl 
/home/user/netbeans-8.2
А индексируется вот это:
balooctl config ls includeFolders 
/home/user 
/var/www 
При этом если вы запретили индексацию монтируемого раздела диска, но хотите включить в индекс какую-то директорию на этом разделе, то добавив путь к директории в конфигфайле, она будет индексироваться. Ну и понятное дело, ненужные картинки, медиафайлы можно
(нужно!)
исключать из индекса. Глянуть что исключено
balooctl config ls excludeFilters
Все настройки удобнее задавать, редактируя конфигфайл. У меня размер папки с структурированными данными
уменьшился
с 1,7 ГБ до 45 МБ
. И напоследок пару слов о поиске по индексу. Обратите внимание на параметр
-d
baloosearch 
Использование: baloosearch [параметры] запрос

Параметры:
  -l, --limit <ограничение>   Максимальное число результатов поиска.
  -o, --offset <смещение>     Смещение в списке результатов поиска.
  -t, --type <название_типа>  Тип данных для поиска
  -d, --directory <каталог>   Ограничить поиск указанным каталогом.
  -h, --help                  Отобразить эту справку.
  -v, --version               Отобразить информацию о версии.

Аргументы:
  запрос                      Список слов, которые следует искать.
Ааа, и еще одно: Если когда-то индексация будет применима к скрытым файлам\папкам, то наверное стоит исключить путь ~/.local/share/baloo/ из индексации. Почему так не хочу объяснять :). И напоследок: команда считающая занимаемое место
du -hs /бла-бла
.
[email protected]:~$ du -hsc .local/share/baloo/*
45M     .local/share/baloo/index
4,0K    .local/share/baloo/index-lock
45M     итого
[email protected]:~$ 
Ну и еще рекомендую познакомиться с
ncdu
.
--- /media/user/466/MEDIA
                         /
   56,4 GiB [##########] /FILMS
   40,1 GiB [#######   ] /Video
    3,0 GiB [          ] /Music
    2,1 GiB [          ] /unsort
Эта консольная программа позволяет быстро оценить кто\что сколько занимает места в файловой системе. Есть еще какая-то фигня тоже шототипа связанная с индексированием, но собирает она данные об установленных программах(?), называется xappian или xcapitan. Я ее убрал уже давно-давно, сразу же после установки. И сейчас я точно не помню что я делал. Для примера показываю свой конфигфайл (обратите внимание на
exclude filters=
):
[Basic Settings]
Indexing-Enabled=true

[General]
dbVersion=2
exclude filters=CMakeFiles,CVS,.obj,*.rej,*.gmo,.xsession-errors*,_darcs,lost+found,moc_*.cpp,*.vm*,lzo,*.swap,.uic,.moc,*.loT,autom4te,libtool,litmain.sh,*.o,__pycache__,*.m4,.hg,*.orig,*~,CTestTestfile.cmake,*.nvram,*.pyc,*.pc,*.tmp,.histfile.*,core-dumps,*.rcore,CMakeCache.txt,*.part,*.la,qrc_*.cpp,ui_*.h,*.omf,po,CMakeTmpQmake,.git,*.po,*.elc,.svn,cmake_install.cmake,conftest,.bzr,.pch,*.aux,*.class,*.lo,*.moc,*.csproj,confdefs.h,CMakeTmp,config.status,confstat,Makefile.am,*.mp3,*.mp4,*.avi,*.png,*.gif,*.jpg,*.jpeg
exclude filters version=2
exclude folders[$e]=/media/user/60/,/media/user/466/,$HOME/dnl/,$HOME/books/,$HOME/NB_8.2/,$HOME/netbeans-8.2/,$HOME/.local/share/baloo/,$HOME/VirtualBox VMs/,$HOME/.cache/,$HOME/.mozilla/
first run=false
folders[$e]=$HOME/,/var/www/
index hidden folders=false
only basic indexing=false
1
2
3