LINUX.ORG.RU

Сообщения ados

 

Алгоритм генерации случайных чисел

Форум — Development

Есть одна программа для андроида, в которой работа идёт над некоторыми образами и для передачи образов между устройствами используются зёрна (seed) образов в виде короткой текстовой строки. Развёртка зерна начинается так:

Random r = new Random(seed.hashCode());

Далее код с использованием r.nextInt мне понятен. Я хочу реализовать алгоритм получения из зерна того же образа, которое андроид получает из этого же зерна. А для этого мне нужно реализовать аналогичный r.nextInt, hashCode, Random. Пока читаю исходники далвика и пока не очень врубаюсь. Может кто знает и кинет ссылку на описание известной схемы, если здесь такая используется?

PS походу далвик уже вышел из употребления и я ищу не там. Хотя сомнительно что такие принципы поменялись с новой платформой

 , ,

ados
()

alsa вывод на bluetooth-приставку без пульсы

Форум — Desktop

Подключился:

  [bluetooth]# paired-devices 
  Device D4:F5:13:5D:08:24 LG HTS(08:24)
  [bluetooth]# trust D4:F5:13:5D:08:24 
  Changing D4:F5:13:5D:08:24 trust succeeded

Собрал bluez-alsa. Но чего-то не работает:

$ ls -l /var/run/bluealsa/hci0 
srw-rw---- 1 root audio 0 Jan 12 20:37 /var/run/bluealsa/hci0
$ sudo aplay -D bluealsa:HCI=hci0,DEV=D4:F5:13:5D:08:24,PROFILE=a2dp september-colors-ost.wav 
../shared/ctl-client.c:102: Connecting to socket: /var/run/bluealsa/hci0
../shared/ctl-client.c:213: Getting transport for D4:F5:13:5D:08:24 type 1
ALSA lib bluealsa-pcm.c:660:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device
aplay: main:828: audio open error: No such device

 ,

ados
()

Конь дарённый

Форум — Admin

Есть одно устройство которое попыталось приобрести меня благодаря некоторому деду Морозу. Я как порядочный линуксоид интересуюсь вычислительными мощностями устройства и хочу получить root-права. У устройства есть некоторые функции включая некую «технологию» samsung pay, которая позволяет, как я понял, имитировать любую банковскую или дисконтную карту чтобы использовать для платежей устройство, вместо того чтобы таскать с собой пачку пластиковых карт. Эта и ещё пачка «очень нужных функций» «выгорает» с какими-то захардкоренными предохранителями при получении root-прав. Примечательно что именно эта модель и отличается такими функциями (ну т.е. можно было просто взять аналогичную модель без этих функций и не париться). Что сука характерно «дед Мороз» при выборе подарка о подобных деталях даже не знал.

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

Мне кажется что аналог samsung pay можно заставить работать на любом вычислительном устройстве вне зависимости от того кто администрирует этим устройством. Вопрос только в разработке и установке ПО на устройстве и терминалах инфраструктуры. Разве я не прав?

 , , конь дарённый

ados
()

Пособие по утилизации

Форум — Talks

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

Анонимусы могут советовать в моих темах в техразделах - перенесу сюда хоть как-то соответствующее сей теме.

 

ados
()

cl-gobject-introspection и glib-таймауты

Форум — Development

Коли я уж экспериментирую с glib-объектами, то решил заодно и родные таймауты попробовать. Значит у объекта GtkWindow к сигналу realize приделываю запуск таймаута с перерисовкой. Пока что код такой:

    (gir:connect window :realize
                 (lambda (window)
                   ;;(declare (ignore window)) 
                   (gir:invoke (*glib* "timeout_add")
                               0
                               200
                               (gir::make-closure
                                (lambda ()
                                  (gir:invoke (window
                                               :queue-draw))
                                  1 ; true
                                  ))
                               (cffi:null-pointer)
                               (cffi:null-pointer))))

Пока что проблема - GLib.timeout_add 3-м аргументом нужен почему-то int а не замыкание:

CAIROLAB> (gir:nget-desc *glib* "timeout_add")
#F<timeout_add(#V<priority: INTEGER> #V<interval: INTEGER>
               #V<function: INTEGER> #V<data: POINTER> #V<notify: INTEGER>): (#V<RETURN-VALUE: INTEGER>)>
CAIROLAB> 

У меня в GLib вместо timeout_add интроспектируется timeout_add_full:

    <function name="timeout_add"
              c:identifier="g_timeout_add"
              shadowed-by="timeout_add_full"
              introspectable="0">

У него же:

        <parameter name="function"
                   transfer-ownership="none"
                   scope="notified"
                   closure="3"
                   destroy="4">
          <doc xml:space="preserve">function to call</doc>
          <type name="SourceFunc" c:type="GSourceFunc"/>
        </parameter>

Если подобное решение возможно, то как оно по сравнению с созданием нечто своего на sb-thread?

Cast monk

 

ados
()

Нужна помощь с английским

Форум — Development

Вот тут цепочка пар предложений на русском и мои переводы их на английский:

Здесь видна особенность в том что дебаг-корректировка сообщает стартовую позицию сигнала в исходном потоке.

A feature of that debug correction communicate signal's start position in input stream may be seen here.

Более точная корректировка информации об ошибках в данных сигнала должна быть реализована на более высоком уровне сигнальной системы с учётом особенностей преобразования исходных данных в данные сигнала.

More accurate correction of infomation about errors in signal's content should be implemented on higher level of signal system taking into account of transformation features content from input to signal's content.

В большинстве случаев это не обязательно.

In most cases it's not necessary.

Просьба поправить и сделать замечания

 

ados
()

Балансировка по ресурсу флеш памяти

Форум — Linux-hardware

Вот есть у меня записывающее устройство, в котором очевидно хранилище памяти на базе флеш-памяти. ФС - vfat. По мере использования данные в память и записываются и стираются, как обычно. Как известно у флеш-памяти ограничен ресурс - количество циклов записи. Какова вероятность отсутствия механизмов балансировки записываемых ячеек памяти по ресурсу? Зависит ли работа таких механизмов от файловой системы?

 

ados
()

Фиксированная нагрузка на процессор

Форум — Linux-hardware

Есть одна машинка, а на ней оффтопик и ещё одна проблема - она не справляется с отводом тепла. Машинка довольна стара и у неё довольно низкий предел перегрева - 85C. Но тем не менее, наблюдая за её работой с виндой и с настройкой биоса, я считаю что проблемы в драйверах винды. Цифры 2006 в дате версии драйверов, связанных с системой ACPI эту версию подкрепляют. Если что машинка служит всего около 4 лет. Если послушать пользователя машинки раньше таких проблем не было. Больше особо наблюдений выбить не удаётся - следить за температурой с помощью Open Hardware Monitor начали только недавно.

Поэтому думаю провести эксперимент - запустить с флешки systemrescuecd (флешка с этой системой у меня уже есть) и с помощью программы которая может с заданным уровнем загрузить процессор и sensors проследить как машинка справляется с отводом тепла из под linux. У меня вопрос по поводу первой программы - существует ли её реализация для таких экспериментов? Если нет, то как её реализовать?

Набор программных платформ на systemrescuecd довольно скуден и наверно я буду писать такую программу на python.

Тут вспоминается мой недавний опыт с такими экспериментами - я пытался разгадать секрет непредсказуемых перезагрузок у машинки и, подозревая связь с загруженностью процессора, загрузил все 2 ядра на 100% вычислением факториалов - поработав пару минут машинка совсем вышла из строя.

Из-за чего машинка непредсказуемо перезагружалась. Может перегрев какой-нибудь важной схемы. Но почему перезагрузка если при перегреве камня следует логичная защитная реакция отключения машины. Да и следил я за sensors - высокого нагрева не было.

Другая возможная причина - трещина в схеме, которая после некоторой работы давала разрыв цепи.

Так или иначе послы вывода машины из строя нужно было срочно искать замену и справляться с кучей проблем. Сейчас уже всё устаканилось, но останки от машины ушли за пределы доступа и дальнейший анализ причин затруднён. Вопрос у меня - могла ли быть основной причиной выведения машины из строя работа моей программы вычисления факториалов или машина действительно была в состоянии очень сомнительной надёжности? Или другими словами могу ли я экспериментами из первой части поста вывести из строя нормально работающую машину таким же образом?

PS обе машинки - ноутбуки

 ,

ados
()

Несколько чтений одного и того же файла

Форум — Development

Вот допустим есть транслятор который читает файл. Он натыкается на ошибку и кидает condition. Позицию ошибки в файле он определяет по номеру строки и номеру символа от начала строки. Чтобы подсветить ошибку в логах программа прочитает кусок файла с ошибкой - для этого она ещё раз откроет файл на чтение и, прочитав, закроет его. Первоначальное открытие файла сохраняет своё состояние из-за особенностей обработки ошибок в CL - после обработки работа программы продолжается в том же самом режиме.

Вот я попробовал сейчас из линукса вот такое сделать:

CL-USER> (let ((file #P"file.txt"))
                (with-open-file (*standard-input* file)
                  (with-open-file (in file)
                    (read-char *standard-input*)
                    (read-char in)
                    nil)))
NIL
CL-USER> 

и вроде никаких проблем.

Я помню винду с её жуткими придирками по поводу занятости файлов работами в приложениях и есть вопрос: а насколько будут такие фокусы кросплатформенны?

 

ados
()

Эксперименты с обработкой текста

Форум — Development
PERCHAR-VS-BUFFERING> (format t "~A-~A~%"
                              (lisp-implementation-type)
                              (lisp-implementation-version))
SBCL-1.3.20
NIL

Код здесь: https://pastebin.com/f6RtgQPE

Заранее извиняюсь за на коленке налабанный говнокод.

Для экспериментов нашёл свою старую курсовую в LaTeX и, редактируя и копипастя, раздул файл до 200M.

Вот результаты экспериментов у меня:

PERCHAR-VS-BUFFERING> (let ((*buffer-size* (* 4 (expt 2 10))))
                        (time
                         (with-open-file (*standard-input* #P"text3.tex")
                           (let ((lv (multiple-value-list (run-perchar))))
                             (setf *x* lv)
                             (first lv)))))
Evaluation took:
  4.092 seconds of real time
  4.092759 seconds of total run time (4.042829 user, 0.049930 system)
  100.02% CPU
  9,427,500,968 processor cycles
  7,733,248 bytes consed
  
114337080
PERCHAR-VS-BUFFERING> (defparameter *x2* *x*)
*X2*
PERCHAR-VS-BUFFERING> (let ((*buffer-size* (* 4 (expt 2 10))))
                        (time
                         (with-open-file (*standard-input* #P"text3.tex")
                           (let ((lv (multiple-value-list (run-with-buffering))))
                             (setf *x* lv)
                             (first lv)))))
Evaluation took:
  3.162 seconds of real time
  3.162505 seconds of total run time (3.117984 user, 0.044521 system)
  100.03% CPU
  7,284,480,890 processor cycles
  7,765,280 bytes consed
  
114337080
PERCHAR-VS-BUFFERING> (equal *x* *x2*)
T
PERCHAR-VS-BUFFERING> 

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

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

PS для некоторых проверок запускал wc -m. Хотя задача у него гораздо проще чем у реализаций на CL, но что примечательно - он проигрывал в скорости от самой медленной реализации на CL более чем на 800 мс.

PS2 Жирный и тупой троллинг от хомячков т.н. мейнстрима и других д**ов здесь не нужен

 ,

ados
()

Я в полном восторге от прогресса в проекте maxima

Форум — Development

Арч, sbcl 1.3.20, maxima 5.40.0, slime+swank староват правда. Вот с каких пор я без всякого пердолинга с почти дефолтным .sbclrc от quicklisp могу просто запустить imaxima в эмаксе? Могу просто с таким немудрённым кодом:


(in-package :cl-user)

(load "/usr/share/sbcl-source/contrib/asdf/uiop.lisp")
(load "/usr/share/sbcl-source/contrib/asdf/asdf.lisp")


(require 'asdf)

(progn
  (flet ((%gpath (p)
           (push (merge-pathnames p
                                  *default-pathname-defaults*)
                 asdf:*central-registry*))) 
    (let ((*default-pathname-defaults*
            #P"/usr/share/sbcl-source/contrib/"))
      (map nil #'%gpath
           '(#P"sb-cltl2/"
             #P"sb-introspect/")))
    (let ((*default-pathname-defaults* (user-homedir-pathname)))
      (%gpath #P".emacs.d/site-lisp/slime/"))) 

  (asdf:oos 'asdf:load-op :swank))

;; я уверен тут много лишнего с недавних времён

(swank:create-server :dont-close nil
                     :port 23146)

... запустить с ней swank без беспорядочного засирания в ~/.cache? Подключиться и начать ломать её как мне вздумается? И спокойно без всякого геморроя загрузить что-нибудь через quicklisp, например gsll? Когда наступил этот праздник?

 , , , ,

ados
()

Epson Stylus Photo T59

Форум — Linux-hardware

Есть принтер маркированный как Epson Stylus Photo T59:

# lsusb|grep -i printer
Bus 001 Device 117: ID 04b8:0007 Seiko Epson Corp. Printer

Собрал соответствующие PPD с AUR и зарегал принтер:

lpadmin -p MYEPSON -E -v "usb://EPSON/Stylus%20Photo%20T50?serial=4C43544B3030383162" -m "epson-inkjet-printer-stylus-photo-t50-series/EPSON_T50_Series.ppd"

При попытке печатать получаю:

(/opt/epson-inkjet-printer-stylus-photo-t50-series/cups/lib/filter/epson_inkjet_printer_filter) crashed on signal 11.

Более менее полный лог здесь.

 

ados
()

рк и долботятлство

Форум — Talks

Есть одна группа людей с которой мне бы хотелось связаться. У группы принята связь по raidcall. Попробовать я не проч и уровень общения сильно конфиденциальным быть не планируется. Однако оказалось, что мало того что это проприетарщина так ещё у неё форма регистрации выполнена по незашифрованному HTTP. Это нормально у проприетарщиков настолько забивать на безопасность или я парюсь из-за какой-то мелочи?

 

ados
()

Будет ли матан-капча на лоре?

Форум — Linux-org-ru

Некоторых индивидов можно не банить, а слегка изощрённого сабжа прописать, например.

 матан-капча,

ados
()

urxvt: eval:paste_clipboard не пашет

Форум — General

... вопреки тексту man urxvt-eval.

Вот кусок конфига:

URxvt.keysym.M-w: eval:selection_to_clipboard
URxvt.keysym.C-y: eval:paste_clipboard

M-w работает, C-y не работает. Причём если eval:paste_clipboard заменить на что-то рабочее, оно работать будет. clipboard не пуст.

 ,

ados
()

Космонавт и телеметрия

Форум — Security

Доконал меня в одно время Arch своими сюрпризами при полных обновлениях - решил попробовать debian testing. Опыт получился весьма не ахти. Не исключено, что кривость рук немного подыграла здесь. Решил, что у меня машинка пока ещё новая и debian довольно консервативный дистрибутив для такого. На опыте также убедился в ложности утверждения что «прикладной софт в Debian testing стабильнее чем в арче».

Поэтому планирую пощупать софт из репозиториев космонавта. Устанавливать планирую как я привык - запуск systemrescuecd с флешки, развёртывание debootstrap с минимальной файловой системой и пакетным менеджером, подключением к репозиториям космонавта, далее: ядро + всякая системная мелочь, lightdm, awesome, emacs, блекджек и прочее.

Теперь вопрос в чём. Я давно так близко не контактировал с дистрибутивом космонавта, но слышал что он всё больше становится похож на винду. У меня вопрос как там с телеметрией? Какого прогресса достигли дистростроители космонавта в этом плане? Как от такого «прогресса» защищаться?

 ,

ados
()

Настолько eval в бетоне убогий?

Форум — Development
In [9]: summing = True

In [10]: o = '>'

In [11]: sum1 = 0
    ...: if summing:
    ...:     scode = "sum1+=x; "
    ...: else:
    ...:     scode = ''
    ...: fcode = """
    ...: def checkf (x):
    ...:     {}
    ...:     return x {} s
    ...: 
    ...: """
    ...: 
    ...: eval(fcode.format(scode, o))
    ...: 
  File "<string>", line 2
    def checkf (x):
      ^
SyntaxError: invalid syntax


In [12]: checkf
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-12-5b8dbfd36076> in <module>()
----> 1 checkf

NameError: name 'checkf' is not defined

 

ados
()

Проверка целостности по размеру

Форум — General

Вот есть директория на удалённом сервере. Из ней там проделываю:

find . -type f -exec sha256sum {} + > ../SHA256SUMS 2>/dev/null

Потом качаю директорию с сервера по медленному шифрованному каналу и провожу проверку на стороне клиента sha256sum -c SHA256SUMS.

Каким может быть чекер если вместо sha256sum использовать du -b?

 

ados
()

Заголовок библиографии с красной строки

Форум — General

Делаю так:

\renewcommand{\bibname}{
\leftline{\large \textbf{СПИСОК ЛИТЕРАТУРЫ}}} 

Заголовок просто прижат к левому краю. А нужен сабж. Есть предложения?

 

ados
()

Ограничить видимость inner-класса кодом outer-класса

Форум — Development

Вот кусок кода:


class ViewPort ():

    class ZoomMode (Enum):
        Normal = 0
        Stretched = 1
        Proportional = 2

    def get_zoom_mode (self): 
        return ZoomMode[self.zoom_mode_var.get()]

Хочу чтобы этот код работал, но он не работает. Вроде работает так:


class ViewPort ():

    class ZoomMode (Enum):
        Normal = 0
        Stretched = 1
        Proportional = 2

    def get_zoom_mode (self): 
        return self.ZoomMode[self.zoom_mode_var.get()]

Кроме вынести определение ZoomMode за определение ViewPort и сложить это всё в отдельном файле есть ещё варианты?

 

ados
()

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