LINUX.ORG.RU

Сообщения i_am_not_ai

 

Переполнение памяти СМС у кнопочного

Как решаете проблему?

Есть ли какие-то патчи, позволяющие сохраняться СМС-кам на mSD?

 , ,

i_am_not_ai
()

CGA/EGA and RGBA

Использовали ли вы alpha channel при программировании графических сопроцессоров для ЖК-мониторов в середине 2000-х?

 

i_am_not_ai
()

Виртуальная файловая система (metadata only)

Есть ли в Линуксе готовые средства создания «слепка» каталога, в виде виртуальной ФС, который будет хранить только метаданные файлов?

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

Может быть, есть готовая утилита? Физическая организация структуры каталога здесь может быть, например, в виде БД SQLite.

 

i_am_not_ai
()

Дебаг на проде

Подскажите толковую книжку (возможно, юмористическую) по этой теме.

 

i_am_not_ai
()

Список команд vim

Я так понял, vim уже стал стандартом.

Подскажите, пожалуйста, линк на text-файл со списком команд vim.

Посмотрел man vim, SEE ALSO - там кроме vimtutor ничего нет.

Хотелось бы справочник, аналогичный [хотя бы] сокращённому man xorg.conf

Перемещено leave из desktop

 

i_am_not_ai
()

Межпроцессное взаимодействие «из коробки» Python

Какие сейчас «искоробочные» механизмы взаимодействия процессов есть в Python?

Я пробовал ZMQ тянуть в проект, но не прижился.

Пробовал beanstalkd, слишком медленный.

Какие ещё варианты есть, не жрущие много ресурсов?

Задача - простыми JSON обмениваться.

 ,

i_am_not_ai
()

Восстановление коммитов Git

История для меня не так важна, но для красивой визуализации хочу её восстановить.

В командах git я не разбираюсь, так как стал изучать его слишком поздно, и времени на погружение в git по-прежнему не хватает.

Месяц назад я переключился на какой-то старый коммит, от ноября. При этом, вся промежуточная история по git log перестала показываться. Можно ли восстановить утерянный кусок, проведя по данным gc операцию «склейки»?

Насколько помню, я тогда набрал команду git checkout master, или что-то подобное.

 

i_am_not_ai
()

Некоммерческие организации (НКО) по продвижению Линукса в России

Лет 15 назад это было популярной темой.

Скажите, в каких регионах сохранились развитые НКО по продвижению Линукс (или СПО)?

Я помню, когда мы планировали открывать региональную НКО, там самая главная проблема была в том, что никто не хотел подставляться и становиться на должность директора. Соглашался лишь один сильно политизированный парень, который бы мог дискредитировать саму идею.

Как обстоит дело «на сегодня»?

Дело в том, что я заметил тенденцию недавних лет - про СПО начали говорить гос.организации, но там явной становится тема «срубить бабла по-быстрому». А кто работает в долгосрок и серьёзно, на уровне Совета Федерации? Помнится, раньше в Гражданский кодекс даже специально комментарии насчёт GPL и BSD License добавлялись, для правоприменительной практики.

 ,

i_am_not_ai
()

Утилита для проверки SD-карт под Linux, аналог H2testw

Подскажите утилиту для проверки SD-карт под Linux (наподобие H2testw, Flash Drive/Card Tester или Check Flash).

Желательно, с GUI.

 

i_am_not_ai
()

Российские площадки разработчиков: MosHub, GitFlic

Я пока что насчитал две: MosHub и GitFlic.

Какие ещё появились за последние годы?

P. S. Когда-то был FireForge, я туда даже свои программы выкладывал.

 ,

i_am_not_ai
()

Спецификация метода класса в виде строки

Есть ли в Питон поддержка проверки объекта на соответствие декларации? По типу проверки препроцессором .c - .h в Си, только - в рантайме.

Т.е., проверка актуальности фактического определения метода (кол-ва аргументов и т.п.) - декларации в строковой форме.

Встречал что-то подобное в pydantic.

 ,

i_am_not_ai
()

Перехват авторства Answers на Stackoverflow (2014)

Сегодня на SO прилетело с запозданием Notification от 22 апреля, Badge за пост 10-летней давности. Но при переходе по ссылке, авторство не моё, пост перезатёрт каким-то прогером из Амстердама. В моих Answers в ЛК его уже нет, но в других разделах ЛК он ещё есть.

Это какой-то недавний баг (inconsistency) у SO?

Новый автор последние ответы размещал в 2014 году.

UPD. Точнее, мой ответ на вопрос про доступ к ресурсу Media в Android исчез, без каких-либо комментариев. Он был оригинальный, на основе своего опыта. Сейчас ссылка по URL ведёт на чужой ответ.

 

i_am_not_ai
()

Методолог и методист в области разработки ПО

Как на английском именуется «методист в области разработки ПО»?

Т.е., создающий и обкатывающий конкретные методики разработки. Не путать с методологом, который разрабатывает терминологию и теорию.

Методолог, на мой взгляд - это ближе к Software evangelist…

cast @den73

 

i_am_not_ai
()

Водка и современные LCD-экраны

Как влияет водка классическая на поверхность современного ЖК-конитора?

Не хочу использовать всякие Mr.Proper, доверяю классике.

Спирта, к сожалению, в аптеках сейчас не продают, а всякие с присадками оставляют следы.

 ,

i_am_not_ai
()

Сегодняшняя атака на инфраструктуру Сколково, причины

Лет 12 назад работал на резидента «Сколково», в частном порядке, без фирм-прокладок. Он сидел под виндой, но почему-то очень любил P2P-связь. У них там переход в сторону Линукс не планируется?

Почему такое происходит? Админы ведь должны быть, чтобы защищать инфраструктуру, мониторить угрозы.

 ,

i_am_not_ai
()

Язык описания диаграмм, API

Посоветуйте для программной генерации язык описания диаграмм. Например, БНФ или подобных.

Чтобы рендеринг в растр или PDF был незатруднителен.

Не слишком ли сложен классический формат для Dia?

Я думаю, SVG или TeX здесь будет оверхэдом.

 

i_am_not_ai
()

python-dbm and fault-tolerance

В нормальном состоянии, у меня два файла для банка данных:

my.db
my.log

Однако, в какой-то момент, при аварийном завершении программы, на диске остаются два файла:

my.db.bak
my.db.dat
По какой причине эти два файла возникают, и есть ли в Питоне какой-нибудь аналогичный fault-tolerance БД?

Создание БД и запись проводятся следующей процедурой:

db = dbm.open('/dirname/my.db', flag = 'c', mode = 0o666)
db.d['abc'] = 123
db.d.sync()

 ,

i_am_not_ai
()

GPIO, подтягивание линии к нулю (DTS)

У меня возникла проблема.

Нужно при загрузке ядра выполнить подтягивание линии GPIO 52 к нижнему порогу (уровню). При этом, чтение из порта должно сохранять данную установку.

Выставление режима GPIO_ACTIVE_LOW | GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_DRAIN пробовал выполнить так:

my-board.dts:

/ {
  ...
  mykey {
    compatible = "key";
    pinctrl-names = "default";
    // pinctrl-0 = <&pinctrl_gpio1_xxx>;
    key-gpios = <&gpio1 20 7>;
    interrupt-parent = <&gpio1>;
    interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
  };
  ...
};

Пробовал ещё так:

/ {
  ...
  gpio_keys {
    compatible = "gpio-keys";
    key_tab {
      label = "tab";
      gpios = <&gpio1 20 7>;
      gpio-key,wakeup;
      debounce-interval = <50>;
      linux,code = <15>; /* KEY_TAB */
    };
  };
  ...
};

Но линия не опускается по дефолту в ноль.

Помогает так:

#!/usr/bin/python3

def wr(fn, v):
  try:
    with open(fn, 'wt') as f:
      f.write(v)
  except OSError as e:
    s = repr(e)
    print(f'[WARNING] {s}')

DIR='/sys/class/gpio'
NUM='52'

wr(f'{DIR}/unexport', NUM)
wr(f'{DIR}/export', NUM)
wr(f'{DIR}/gpio{NUM}/direction', "out")
wr(f'{DIR}/gpio{NUM}/value', "1")

wr(f'{DIR}/unexport', NUM)
wr(f'{DIR}/export', NUM)
wr(f'{DIR}/gpio{NUM}/direction', "in")
wr(f'{DIR}/gpio{NUM}/edge', "both")

import select
import os
poll = select.poll()

fn = f'{DIR}/gpio{NUM}/value'
TIMEOUT = 3000
f = open(fn, 'rt')
fd = f.fileno()
poll.register(fd, select.POLLPRI)
print('fd =', fd)

poll.poll(TIMEOUT)
v = f.read()
print('v = , v)

k = 0

while True:
  events = poll.poll(TIMEOUT)
  print('ev =', events)
  if events:
    for pfd, pev in events:
      if pev & select.POLLPRI > 0:
        os.lseek(fd, 0, os.SEEK_SET)
        v = f.read().strip()
        print('v =', v)

poll.unregister(fd)
f.close()

# EOF

, но лишь на короткое время, до первого чтения из порта (при этом, .dts я не правлю)

Подскажите, что делаю не так? Если можно, экспертный совет, без шуток. Документацию по флагам брал из linux-x.x.x/Documentation и читал когда-то «DTS for Dummies». Толковой документации по настройке дерева DTS не понял, где найти. Похоже, что всё зависит от конкретного оборудования, и надо ближе знать электротехнические термины.

P.S. Код не очень красивый, это черновой набросок.

 

i_am_not_ai
()

Найти ошибку: Fatal Python error: Segmentation fault

В питоновской программе выводится: Fatal Python error: Segmentation fault

Поставил sys.settrace() на главную процедуру программы, более подробным дамп не стал.

Какая обычно методика отлавливания таких ошибок?

Иногда выдаёт также:

Thread 0x00ffffff (most recent call first):
Segmentation fault
munmap_chunk(): invalid pointer

Проверять работу под gdb кажется как-то сложным, т.к. ошибка вылетает при запуске p = subprocess.Popen() … + os.kill(p.pid) …

P. S. return codes подпроцесса бывают разными = -4, -11, -15.

 , , ,

i_am_not_ai
()

wmmatrix as standalone application

Как запустить wmmatrix (Jamie Zawinski) простым приложением?

Description-en: View The Matrix in a Window Maker dock application
 wmMatrix displays The Matrix (from the film of the same name) in
 a Window Maker dock application. Based on the xscreensaver module
 created by Jamie Zawinski.
 .
 Although it works best with Window Maker, wmMatrix also works fine
 with other window managers.

Homepage: http://dockapps.org/file.php/id/10

 

i_am_not_ai
()

RSS подписка на новые темы