И это всё МОЁ

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

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

Вот пример работы программы:

Меню

Вставить ____ после индекса

Вставить ____ перед индексом

Вставить ____ в начало

Вставить ____ в конец

Удалить данные по индексу

Выйти

The list:

Что Вы хотите сделать? Вставить 17 в конец

The list:

Что Вы хотите сделать?

Код программы:

class Node:
def __init__(self, data):
self.data = data
self.next = None
self.prev = None

class DoublyLinkedList:
def __init__(self):
self.first = None
self.last = None

def get_node(self, index):
current = self.first
for i in range(index):
if current is None:
return None
current = current.next
return current

def insert_after(self, ref_node, new_node):
new_node.prev = ref_node
if ref_node.next is None:
self.last = new_node
else:
new_node.next = ref_node.next
new_node.next.prev = new_node
ref_node.next = new_node

def insert_before(self, ref_node, new_node):
new_node.next = ref_node
if ref_node.prev is None:
self.first = new_node
else:
new_node.prev = ref_node.prev
new_node.prev.next = new_node
ref_node.prev = new_node

def insert_at_beg(self, new_node):
if self.first is None:
self.first = new_node
self.last = new_node
else:
self.insert_before(self.first, new_node)

def insert_at_end(self, new_node):
if self.last is None:
self.last = new_node
self.first = new_node
else:
self.insert_after(self.last, new_node)

def remove(self, node):
if node.prev is None:
self.first = node.next
else:
node.prev.next = node.next

if node.next is None:
self.last = node.prev
else:
node.next.prev = node.prev

def display(self):
current = self.first
while current:
print(current.data, end = ' ')
current = current.next


a_dllist = DoublyLinkedList()

print('Меню')
print('Вставить ____ после индекса')
print('Вставить ____ перед индексом')
print('Вставить ____ в начало')
print('Вставить ____ в конец')
print('Удалить данные по индексу')
print('Выйти')

while True:
print('The list: ', end = '')
a_dllist.display()
print()
do = input('Что Вы хотите сделать? ').split()

operation = do[0].strip().lower()

if operation == 'Вставить':
data = int(do[1])
position = do[3].strip().lower()
new_node = Node(data)
suboperation = do[2].strip().lower()
if suboperation == 'в':
if position == 'начало':
a_dllist.insert_at_beg(new_node)
elif position == 'конец':
a_dllist.insert_at_end(new_node)
else:
index = int(position)
ref_node = a_dllist.get_node(index)
if ref_node is None:
print('Такого индекса нет')
continue
if suboperation == 'после':
a_dllist.insert_after(ref_node, new_node)
elif suboperation == 'перед':
a_dllist.insert_before(ref_node, new_node)

elif operation == ' Удалить':
index = int(do[1])
node = a_dllist.get_node(index)
if node is None:
print('Такого индекса нет')
continue
a_dllist.remove(node)

elif operation == 'Выйти':
print ('Всего доброго!')
break


Потом решил вставить проверку: при добавлении в конец списка элемента должно печататься слово success. При тестовом прогоне ничего опять же не происходит.

if operation == 'Вставить':
data = int(do[1])
position = do[3].strip().lower()
new_node = Node(data)
suboperation = do[2].strip().lower()
if suboperation == 'в':
if position == 'начало':
a_dllist.insert_at_beg(new_node)
elif position == 'конец':
a_dllist.insert_at_end(new_node)
print('success')


Большое спасибо за уделенное внимание и помощь.







 ,








И это всё МОЁ

В Госдуму внесен законопроект об обязательной идентификации пользователей электронной почты по номеру телефона. Авторы инициативы — сенаторы Андрей Клишас, Александр Башкин, Людмила Бокова и Александр Карлин.

https://meduza.io/news/2019/07/23/senator-klishas-predlozhil-identifitsirovat...

PS. При чем тут номер телефона, что помешает использовать иностранные почты, или они хотят создать SMTP v2?








 








И это всё МОЁ

Читаю и плачу. Читаю и плачу.

Сенатор Клишас предложил идентифицировать пользователей электронной почты по номеру телефона и блокировать письма с запрещенной информацией

https://meduza.io/news/2019/07/23/senator-klishas-predlozhil-identifitsirovat...








 








И это всё МОЁ

https://www.phoronix.com/scan.php?page=news_item&px=Fedora-31-Possible-AV...

Вкратце: планируют дропнуть все процы, которые не умеют AVX2. Причина: с AVX2 лучше производительность и энергосбережение.








 , , ,








И это всё МОЁ

Всем привет, подскажите, есть ли в NGINX, настроенном для балансировки, возможность резервирования сессий ?

Пример:

Есть NGINX (балансировщик), собранный в кластер для отказоустойчивости, пусть будет, active-passive. Активный узел падает, но пассивный за счет того, что имеет информацию о сессиях такую же как активная нода, подхватывает существующие сессии. Т.е. не прерывая их.

Не нашел упоминанию данного механизма в документации. Есть только про синхронизацию конфигураций узлов в кластере, а про сессии что-то ничего не нашел....








 








И это всё МОЁ

Приветствую. Мне нужно прописать гугловские сервера вместо провайдерских. В настройках network-manager стоит «DHCP adresess only» и ДНС-сервера гугла. Пробовал вставить в /etc/network/interfaces

auto enp9s0
iface enp9s0 inet dhcp
dns-nameservers 8.8.8.8

Толку нет.








 , ,








И это всё МОЁ

Приветствую всех. У меня установлена Fedora KDE, и недавно я столкнулся с тем, что в некоторых программах (Google Chrome, PhpStorm и др.) стал разниться шрифт латинских и кириллических символов. Латинские символы отображаются шрифтом с засечками, а кириллические - без засечек. Это хорошо видно на скрине: https://ibb.co/6yK7Z8x

Прошу помочь мне с данной проблемой. Изменение шрифтов в настройках KDE не дало нужного результата. Там установлен шрифт Tahoma.

Я являюсь новичком в Linux и это моя первая тема на ЛОРе ;)








 , ,








И это всё МОЁ

Есть скрипт-плагин для плеера mpv, который показывает минималистичный GUI, в частности отображая истёкшее/оставшееся время, а в верхней части экрана отображает системное время. Как заменить системное время на общую продолжительность файла?









 , ,








И это всё МОЁ

Перенес деб 10 на новый ПК, скопировав все конфиги и установив все пакеты.


locale -a
C
C.UTF-8
en_GB.utf8
en_US.utf8
POSIX
ru_RU.utf8


dpkg -l | awk '/texlive/ {print $2}'
texlive
texlive-base
texlive-binaries
texlive-fonts-extra
texlive-fonts-extra-links
texlive-fonts-recommended
texlive-lang-cyrillic
texlive-latex-base
texlive-latex-extra
texlive-latex-recommended
texlive-pictures
texlive-plain-generic


Создаю условный файл с названием «документ 2.tex» с содержимым


\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}

\begin{document}
бла бла бла
\end{document}


При компиляции получаю ошибку


ERROR: Package inputenc Error: Unicode character д (U+0434)


В развернутом логе


Running `LaTeX' on `документ 2' with ``pdflatex  -file-line-error   -interaction=nonstopmode "\input" \"\д\о\к\у\м\е\н\т\ 2.tex\"''
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
LaTeX2e <2018-12-01>
(/usr/share/texlive/texmf-dist/tex/latex/tools/.tex File ignored)

! Package inputenc Error: Unicode character д (U+0434)
(inputenc) not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...

<*> \input "д
окумент 2.tex"

! Package inputenc Error: Unicode character о (U+043E)
(inputenc) not set up for use with LaTeX.


На пк, с которого переносит, все компилится. Погуглил ошибки, но в решениях только ситуации, когда в самом тексте кириллица, а не в названии документа. ЧЯДНТ?









 ,








И это всё МОЁ

Добрый день, сообщество.

На моём Lenovo Flex 5 15 стоит единственная ОС - ElementaryOS 5 (один из многих дистрибутивов, основанных на Ubuntu 18.04). Когда я включаю ноутбук, после логотипа Lenovo появляется меню загрузки Grub v. 2.02 и у меня есть 30 секунд на совершение выбора (запустить Elementary или Setup, к примеру).

Я хочу пропустить показ меню загрузки и загружать Elementary по умолчанию. Прогуглив, я пытался редактировать файл /etc/default/grub, но это не дало никакого результата - всё так же осталась задержка в 30 секунд. Вот содержимое /etc/default/grub:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT="elementary"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
#GRUB_TIMEOUT_STYLE="hidden"
GRUB_TIMEOUT="5"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER="true"

Так же я пытался изменить конфигурацию Grub через приложение под названием Grub Customizer. К сожалению, это так же не дало никакого результата. Вот скриншот опций, которые я изменил:

https://pp.userapi.com/c858036/v858036675/229e0/wiDOOSyrcEA.jpg

Надеюсь, что вы поможете мне найти решение. Заранее благодарен.








 , ,








И это всё МОЁ

Ставил grub так:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro_grub --boot-directory=/boot/efi/EFI --recheck --debug
grub-mkconfig -o /boot/grub/grub.cfg

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}

function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
set menu_color_normal=light-gray/black
set menu_color_highlight=green/black

if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod btrfs
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root c6435f16-4fb4-45d6-ab9f-6e9cb627defe
else
search --no-floppy --fs-uuid --set=root c6435f16-4fb4-45d6-ab9f-6e9cb627defe
fi
font="/arch/root/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=3
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=3
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/01_menu_auto_hide ###
if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then
set last_boot_ok=1
else
set last_boot_ok=0
fi

# Reset boot_indeterminate after a successful boot
if [ "${boot_success}" = "1" ] ; then
set boot_indeterminate=0
# Avoid boot_indeterminate causing the menu to be hidden more then once
elif [ "${boot_indeterminate}" = "1" ]; then
set boot_indeterminate=2
fi
set boot_success=0
save_env boot_success boot_indeterminate

if [ x$feature_timeout_style = xy ] ; then
if [ "${menu_show_once}" ]; then
unset menu_show_once
save_env menu_show_once
set timeout_style=menu
set timeout=60
elif [ "${menu_auto_hide}" -a "${last_boot_ok}" = "1" ]; then
set orig_timeout_style=${timeout_style}
set orig_timeout=${timeout}
if [ "${fastboot}" = "1" ]; then
# timeout_style=menu + timeout=0 avoids the countdown code keypress check
set timeout_style=menu
set timeout=0
else
set timeout_style=hidden
set timeout=1
fi
fi
fi
### END /etc/grub.d/01_menu_auto_hide ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class>
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root D291-C3AD
else
search --no-floppy --fs-uuid --set=root D291-C3AD
fi
linux /vmlinuz-5.2-x86_64 root=UUID=c6435f16-4fb4-45d6-ab9f-6e9cb627d>
initrd /amd-ucode.img /initramfs-5.2-x86_64.img
}
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-adv>
menuentry 'Manjaro Linux (Kernel: 5.2.1-1-MANJARO x64)' --class manjaro>
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root D291-C3AD
else
search --no-floppy --fs-uuid --set=root D291-C3AD
fi
linux /vmlinuz-5.2-x86_64 root=UUID=c6435f16-4fb4-45d6-ab9f-6>
initrd /amd-ucode.img /initramfs-5.2-x86_64.img
}
menuentry 'Manjaro Linux (Kernel: 5.2.1-1-MANJARO x64 - fallback initra>
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root D291-C3AD
else
search --no-floppy --fs-uuid --set=root D291-C3AD
fi
linux /vmlinuz-5.2-x86_64 root=UUID=c6435f16-4fb4-45d6-ab9f-6>
initrd /initramfs-5.2-x86_64-fallback.img
}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/41_snapshots-btrfs ###
### END /etc/grub.d/41_snapshots-btrfs ###

При загрузке пишет: «Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key»








 








И это всё МОЁ

Подскажите пож-та с viber на debian9. Установил viber по этой ссылке https://underr.space/notes/it/it-0006.html и он поставился, но по значку в меню он не запускаеться, помогите пож-та.








 








08:49

Arc theme

И это всё МОЁ

Есть такая старая известная тема как Arc (https://github.com/horst3180/arc-theme) А кто-нибудь знает, что за ч/б иконки использованы на доке слева? Это явно не arc icons же.








 ,








И это всё МОЁ

Читаем статью:

http://htmlbook.ru/css/hover

выясняем синтаксис

элемент:hover { ... }

Пытаюсь понять как оно устроено тут

https://edu-nv.ru/organizatsii-srednengo-obshchego-obrazovaniya

Облазил элементы (вертикальные прямоугольники в центре), они меняют вид при наведении, но я не пойму где они это берут. То есть элементов с модификатором hover я там не вижу...

Надеюсь кто-то разъяснит.








 








07:54

dualboot+lvm

И это всё МОЁ

У меня uefi only ноутбук с 1 винчестером (чью память я ценю не меньше, чем свою собственную). В этом смысле lvm мне был очень полезен. Но windows, насколько понимаю, на логический том не поставить. Возможно есть какие-то альтернативные решения для windows+linux? Пока решил попробовать Users перенести на логический том при помощи Virtual Volumes.

Наверняка с подобной необходимостью менять размеры томов для dualboot многие сталкивались. Подскажите, как решали. Может кто-то использует Virtual Volumes.








 , , ,








07:17

gnome 3

И это всё МОЁ

Всем привет. Скажите есть ли какие-то серьезные преимущества у гнома 3, кроме внешних красивостей? Которые оправдали бы дикое потребление оперативки и мизерное количество настроек.








 








И это всё МОЁ

Все началось с обновления железа, при установки на материнку AIMB-215B1 с процессором Intel(R) Celeron(R) CPU N2930 @ 1.83GHz, установщик полностью зависал на одном из этапов установки(сейчас точно не помню, но это было связано с amd64 и dev). Но при этом система довольно легко и стабильно ставилась если ставить её Live-USB.
После установки система произвольно зависала. Совместными изменениями настроек BIOS и файла /etc/default/grud удалось добиться как бы стабильности, система стала зависать на порядок реже, но все равно такие случай есть.








 , , ,








И это всё МОЁ

Решил присмотреть себе клавиатуру к ноутбуку. Ассортимент клавиатур попросту удручает. По сути, в диапазоне ста баксов, если откинуть всё неэргономичное, остаются две модели:

Microsoft Natural Ergonomic Keyboard 4000 - удобная, но шумная. И мрёт от чая, как я выяснил лет десять назад. Обидно было.

Microsoft Sculpt Ergonomic Keyboard - тоже очень удобная (хотя обратного наклона не хватает), но тканевая накладка забивается кожным жиром, и потом её не отчистишь. Ну и сломать кнопки легко, а они неремонтопригодны.

Больше ничего найти не смог. Даже у Logitech ничего нет. Что делать? Может, есть какие-то недорогие клавы, которые можно из США заказать? Или стоит не выпендриваться и снова брать MS?








 , ,








И это всё МОЁ

Что взять до $400? Samsung или LG? Какую модель. Среди коллег, друзей два лагеря. Стоит ли брать с паром?








 








И это всё МОЁ

Добрый день!

У нас на проходной установлена система пропуска автомобилей по базе номеров. Камеры снимают номера, система их распознает и даёт команду на открытие шлагбаума. Всё бы хорошо, но компьютеру было уже порядка 10 лет и мы решили его поменять. Клонировали старый диск на новый SSD, включили и столкнулись со следующими проблемами:

  1. Не работает ни один из USB-разъемов.
  2. Система залочена на железо, а именно старый hdd, полностью прогружается только если он присутствует.
  3. Не работает со встроенной видеокартой.

К сожалению, у нас нет спецов по линуксу, поэтому приходится обращаться за помощью. Готов отправить образ диска. Если кто может помочь за небольшие деньги, у нас некоммерческая организация, будем очень признательны.

Спасибо!