LINUX.ORG.RU

Сообщения SSZB

 

Заикание видео

Наблюдается сильно заметное «заикание» видео в VLC на Иксах. Например, заикание можно наблюдать на этом тестовом видео: https://www.oc-burner.de/ftp/Videos/juddertest/juddertest_60.mp4 (периодически полоса начинает немного подергиваться влево-вправо). В реальном видео этот эффект отчетливо наблюдается когда движется камера. Эксперименты с настройками VLC показали, что заикание не зависит от использования аппаратного декодирования. Кроме того, заикания почти полностью отсутствуют на Wayland (плавность приближается к таковому в Windows). Вопрос в том, что можно подкрутить в Иксах, чтобы гладкость воспроизведения видео была не хуже (или даже лучше) чем в Wayland?

Intel iGPU, openSUSE Tumbleweed. Вывод чего надо показать?

 , ,

SSZB
()

Creative Sound Blaster X3

Заработает ли USB звуковая карта Creative Sound Blaster X3 нормально в Linux? Вот тут https://youtu.be/WAjTI4aHfvg?t=355 его заводят под Android, означает ли это беспроблемную работу под Linux?

 ,

SSZB
()

Python3 и Embedded Controller

Пишу скрипт на Python3 для управления скоростью вращения вентиляторов на ноутбуке. Как-то примерно так (регистры мне известны, тут условный пример):

with open("/sys/kernel/debug/ec/ec0/io", "r+b") as ec_file:
	ec_file.seek(0x42)
	ec_file.write(my_one_byte)

Возникает вопрос касательно буферизации: будет реально записан только один байт? Я боюсь, что будет писаться сразу пачка байтов из какого-нибудь внутреннего буфера, что может нежелательно дернуть какие-нибудь функции EC с непредсказуемыми последствиями. Какие есть «best practice» при работе с такими экзотическими типами файлов?

Есть еще вопрос. В директории /sys/kernel/debug/ec/ec0 кроме файла io находится несколько других файлов. Каковы их функции?

 ,

SSZB
()

NUT vs apcupsd?

Что лучше выбрать для ИБП от APC? Конфигурация простая – 1 ИБП, 1 ПК, Ubuntu 18.04.

 , ,

SSZB
()

Docker и фильтрация сетевого трафика

Есть docker-контейнер в котором работает vnc-сервер. Как запретить любой доступ к сети всем процессам в контейнере кроме vnc-сервера через порт 5901?

 

SSZB
()

CUPS в docker-контейнере

Возникла проблема, как пробросить принтер в контейнер. Если при запуске контейнера указать --device /dev/bus/usb/001/002, все работает. Но если выключить-включить принтер, то название файла устройства меняется и все перестает работать. Конечно, CUPS видит принтер если указать --privileged, но в этом случае контейнер получает слишком много возможностей, что мне не очень нравится.

Есть ли способ стабильно ограничить контейнер только одним заданным USB устройством?

 ,

SSZB
()

Ubuntu и обновление пакетов из другого репозитория

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

python3-configobj/bionic,bionic 5.0.6-2+ubuntu18.04.1+certbot+1 all [может быть обновлён с: 5.0.6-2]
python3-zope.interface/bionic 4.3.2-1+ubuntu18.04.1+certbot+1 amd64 [может быть обновлён с: 4.3.2-1build2]

Такое произошло после добавления репозитория ppa:certbot/certbot. Что это значит? Обновить или нет? Можно ли это отключить?

 

SSZB
()

Qt 5.1 RC

 

SSZB
()

Qt 5.1 beta 1

SSZB
()

Кто виноват? В какую инстанцию писать?

Пытаюсь собрать Qt Creator 2.3 beta 1 (2.2.82) gcc 4.5.2 из MinGW под win7sp1. Отладочный вариант собрался, а вот релиз не хочет. Не могу понять это глюк в gcc или в исходниках Qt Creator.

Полный выхлоп: http://dpaste.org/UJCX/

Для Ъ: sorry, unimplemented: inlining failed in call to...

SSZB
()

[C++][Qt][костыль] QDateTime и часовые пояса

Неожиданно обнаружил, что оказывается QDateTime плохо поддерживает часовые пояса.

Читает время со смещением в формате ISO 8601 нормально:

QDateTime time = QDateTime::fromString("1999-06-15T13:24:51-01:00", Qt::ISODate);
qDebug() << time.toString(Qt::ISODate);
qDebug() << time.toUTC().toString(Qt::ISODate);
qDebug() << time.toUTC().toLocalTime().toString(Qt::ISODate);

Выдает:

"1999-06-15T13:24:51"
"1999-06-15T14:24:51"
"1999-06-15T18:24:51"

А вот перевести в строку со смещением похоже оно не умеет. Интернеты сказали, что без костыля здесь никак. Хочу представить на суд общественности свой вариант:

QString dateTimeToISOString(QDateTime dateTime)
{
    QDateTime dateTimeUtc = dateTime.toUTC();
    dateTime.setTimeSpec(Qt::UTC);
    int sec = dateTimeUtc.secsTo(dateTime);
    QString dateTimeString = dateTime.toString("yyyy-MM-ddThh:mm:ss");
    if (sec != 0) {
        int h = qAbs(sec/3600);
        int m = qAbs(sec%3600/60);
        QString offsetString = QString("%1:%2")
                .arg(h, 2, 10, QLatin1Char('0'))
                .arg(m, 2, 10, QLatin1Char('0'));
        if (sec > 0) {
            return dateTimeString + "+" + offsetString;
        } else {
            return dateTimeString + "-" + offsetString;
        }
    }
    return dateTimeString + "Z";
}

Хочется узнать какие есть косяки и подводные камни.

 ,

SSZB
()

Разработка своего формата

Разрабатываю свой формат (на основе XML) для хранения аннотации к данным, которые получены с экспериментальной установки. Возникла проблема: файлы получаются слишком большими, в них 98% составляют однотипные строчки вида: <block time=«1000» size=«1000» offset=«0» marks=«» comment=«»/>, которых может быть тысячи. В год будут записываться несколько тысяч новых файлов.

Сейчас я думаю сделать хранение таких участков в виде «delimiter-separated values» для разделения значений использовать специально предназначенные для этого символы (U+001F, U+001E).

Хотелось бы узнать мнение знающих людей по поводу такого компромиссного полу-XML-полу-не-XML формата. Или если все совсем плохо, то какие есть альтернативы?

SSZB
()

Как преобразовать QList<T*> в QList<const T*>?

Не создавая новый QList.

SSZB
()

not found: type и Scala

package my 
 
object Test2 { 
   type MyType = Byte 
} 
 
class Test2 {       
   import Test2._ 
    
   var q = List[MyType](42) 
    
   def this (m: MyType) = { // <<<<<<<<<<<<<<<< 
      this() 
      q = List[MyType](42, m) 
      () 
   } 
    
   def wtf(mm: MyType) = { 
      () 
   } 
    
   def wtf2(mm: MyType):List[MyType] = { 
      q 
   } 
} 

На помеченной строке ругается «not found: type MyType». Если «import Test2._» вынести за пределы класса или указать тип как «Test2.MyType» все ОК. Это так и должно быть?

SSZB
()

VerifyError и Scala

Почему такой код при запуске выбрасывает исключение?

package my

class Test {	
	def this(un: Int) = {
		this()
		def test(acc: Array[Byte]) = {	
			acc.map((f: Byte) => 42)
		}
	}
}

object Test {	
  def main(args: Array[String]): Unit = {
	  val q = new Test(42)
  }
}
java.lang.VerifyError: (class: my/Test, method: test$1 signature: ([B)[I) Incompatible argument to function
Exception in thread "main" 

Если убрать «acc.map((f: Byte) => 42)», или метод(?) test вынести за пределы конструктора, то все ОК. ЧЯДНЕТ?

SSZB
()

[R] Чудеса науки, техники и теста Шапиро-Уилка


test <- function() {
  r <- c();
  for (i in 1:100) {
	r <- append(r, shapiro.test(rnorm(5000))$p.value)
  }
  summary(r);
}

У меня получилось


    Min.  1st Qu.   Median     Mean  3rd Qu.     Max.
0.001663 0.228700 0.457900 0.475700 0.715200 0.996000

Почему для нормального распределения, p.value ТАК СИЛЬНО меняется???

Это глюк программы или такая особенность этого теста?

 

SSZB
()

Как в KTorrent сгруппировать закачки по трекерам?

Во вкладке "Cценарии" нажимаю запустить сценарий "Группирование трекеров" и ничего не происходит...

SSZB
()

Пара вопросов по R

Идет, значится, у меня вялотекущее изучение сего счастья...

1) Как в консоли прервать длительное вычисление, не убивая весь R?

2) Ищу GUI, с удобной историей, автодополнением, инспекцией объектов, удобной справкой. Желательно на Qt4 или штепсель к Эклипсу.

3) Ищу аналог fold: fold(1:5, 10, function(x,y) {return (x+y)}) должно вернуть 25.

4) Пробую этот код:

`undefined<-` <- function(x, codes = numeric(), value) {
    if(length(codes) > 0)
        x[ x %in% codes] <- NA
    x[is.na(x)] <- value
    x
}

undefined(c(1,2, NA)) <- 4

Ошибка в undefined(c(1, 2, NA)) <- 4 : цель присваивания раскрывается в неязыковой объект

Вот так работает: 'undefined<-'(c(1,2, NA), value=12)

[1] 1 2 12

Что не так?

SSZB
()

Это у меня firefox глючит?

Нажал на ссылку и получилось вот это: http://img512.imageshack.us/img512/6050/70818704.png сие есть глюк firefox или движок лора выдает неадекватный код?

SSZB
()

[C] [жизнь без исключений] Как вы обрабатываете ошибки?

Пишу на C прошивку для микроконтроллера. Возникла следующая проблема:

while (1) {
	..
	for (..) {
		..
		if (..) {
			вдруг неожиданно произошло что-то очень не хорошее, например, аппаратная ошибка несовместимая с нормальной работой программы, нужно выйти из цикла while (1)
		}
		..
	}
	..
	switch (..) {
	case ..:
		if (..) такая же ситуация...
		break;
		..
	}
	..
}
.. 
if (флаг если ошибка) {
	обработка
}
..

И как тут быть? Неужели goto, и будет мне вагон счастья? А как же «напишешь «goto» и за тобой придёт бабай! Буууу!» (c), Дейкстра и весь такой прочий антураж?

 

SSZB
()

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