LINUX.ORG.RU

Сообщения alysnix

 

в 115ый раз меняю подшипники и сальник у стиралки LG.

Форум — Science & Engineering

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

а как только вода попадает внутрь, она немедленно разьедает пружинку, прижимающую сальник к валу, он отходит от вала и вода активно заходит внутрь, в подшипник. тот быстро ржавеет и все выходит из строя за неделю.

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

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

кто нить подобным занимался?

 

alysnix
()

Даю идею для ИИ-сервиса: проверка текста наизусть

Форум — Talks

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

вы даете сервису текст и произносите его. сервис вас слушает и ругается при ошибках.

или такое уже где-то есть?

Перемещено Dimez из development

 ,

alysnix
()

глубина undo/redo в редакторе.

Форум — Development

Какова по вашему должна быть глубина undo/redo в редакторе мечты.

варианты

  • непонятное, вообще не нужно

  • бесконечная глубина

  • фиксированная неким большим числом. при превышении лимита самый старая undo запись выбрасывается, при вставке новой

 

alysnix
()

сайт wxWidgets таки нет?

Форум — Development

поскольку у меня есть проектик на этом деле, вот интересуюсь…

это нам в россии обрезали доступ уже и к wxwidgets.org, или он лег сам по себе? а можно проверить из стран третьего и других миров, жив он там или нет? спасибо

 

alysnix
()

ютюб в москве таки да.

Форум — Talks

вот несколько дней в москве ютюб вроде работает уже. видимо отпустило.

 

alysnix
()

челендж - спаси дерево!

Форум — Development

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

источник данных не умеет генерить ивенты - типа «удалить узел», «переставить узел из одного парента в другой» и тепе. он умеет только выдавать все дерево.

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

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

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

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

 

alysnix
()

окно ввода текста должно быть с темным фоном

Форум — Linux-org-ru

раз уж у форума темная тема, то и окно ввода текста должно быть с темным фоном, а то рвет глаза

 

alysnix
()

блок питания - Enhance Electronics ENP-5625A и неработающий suspend

Форум — Linux-hardware

победил тут одну проблемку - имею корпус - http://www.morex.com.ru/obzor_morex_6610.shtml

в нем штатный блок питания - Enhance Electronics ENP-5625A. по нему имеются претензии.

  1. заметно жужжит с частотой герц в 50. видимо жужжит какой-то дроссель. буду чинить.

мать - AsRock H77M-ITX.

  1. не работает пробуждение из suspend режима. при таком побуждении плата потребляет говорят значительный ток по шине 5в от дежурного источника, а он видимо слабый в данном БП, и БП или сам уходит в перезапуск, или мать уходит в перезапуск(скорее БП).

победил установкой старого кондового БП.

ос - Ubuntu 20.04

ps на всякий случай: если кому придется менять БП у такого корпуса, учтите что там, в силу расположения БП и матери, нужны БП с длинными шлейфами разьемов питания матери. на родном БП длина этих шлейфов - 50 см.

 

alysnix
()

некие странности wxWIdgets под gnome3

Форум — Development

моя штуковина написана wxWidgets, которые юзали gnome 2. обновился до последней wxWidgets и и сбилдил ее под gnome3… возникло несколько баг, в силу идейных подвижек внутри wxWIdgets, которые я быстро устранил, но осталась парочка злых, причину которых поймать не удается.

wxTreeCntl, вдруг в некотрых использованиях забыл про автоскролл, то есть стрелкой вверх/вниз гонишь фокус элемента по дереву, и он выходит за границы контрола, и автоскролл(дерево не едет само вверх/вниз) не происходит. но в одном таки использовании автоскролл есть!, а раньше было нормально везде.

и вторая бага - (моя аппа это IDE), я запускаю из моей IDE отладчик gdb и запускаю под ним прогу на wxWidgets. если брикпоинт стоит в обработчике ивентов wxWidgets, то останов проиходит, но отлаживаемая аппа похоже не отдает фокус мыши. то есть клавиатура работает, но мышь - нет.

вопрос. кто нибудь наблюдал нечто похожее при переходе от gnome2 к gnome3 где либо? и в wxWidgets в частности?

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

 ,

alysnix
()

гугл докс портит документы?

Форум — Talks

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

это санкции гугла против российских пользователей или мерещится всяко?

я чисто предупредил,на всякий случай. редактировать надо у себя.

 

alysnix
()

самодельный минилисп

Форум — Development

нарисовал себе самодельный минилисп -

переделал лисповые имена на приличные, чтоб хоть конвенциальным процедурным программистом читалось

пример тест файла

(module TestModule)
(import Module1 Module2 Module3)

(fun TITLE(ftext)
	(comment "print title title")
	(fun line()	(println "\n#####################################"))
	(line)(print ftext)(line) )

(TITLE "BEGIN TESTS")

(fun print_mem () (println "mem used " (mem-used) " bytes"))

(print_mem)

;;//======================================
(fun print_sym_count () 
	(println "Sybols count: " (list-length ^Symbols)))

(fun print_symbols()
	(comment "print registered symbols")
	(println "Registered Symbols ======\n"
				(symbols)
				"\n ======= end of symbols")
	(print_sym_count))
	
(print_symbols); ///print predefined symbols
(print_sym_count)

;;//===========================

(println (not t) "not t")
(println (not ()) "not ()")

;;(halt)

;;//================================
;; /// operators
(define _ " ")
(fun ++ (fval) (inc fval))
(fun -- (fval) (dec fval))

;;///arithmetic shift 

;;================================
(enum MyEnum (a1 . "abs") (a2 . "ddd") (a3 . "test") )
(enum MyEnum1 (a1 . 10) (a2 . 20) (a3 . 30) )

;;//(var i MyEnum1 [a1] )

(class TestClass
	(var x 0)
	(var y 0)
	(var z 0)
	
	(var 
		(a int 0) 
		(b int 0) 
		(c int 0)
	)
	 
	(fun print_() ( print x y z))
	(override fff() 100)
	(ctor () ())
	(ctor (fint) (setq x fint))
)

(const t 100)

;//================================
(fun read(fstream) (println "read go") 0)
(fun write(fstream) 1)
(read 100)

;//================================
(var xx 10)
(println "test increment: ++10 is:" (++ xx))

;//=================================
(fun sqr(x) (* x x)) 
(println "sqr of 7 = " (sqr 7))

(var 	yy 16)  (println "shr 16 = " (shr yy))
(setq yy 16)  (println "shl 16 = " (shl yy))

(var _name0 "sidor")
(var _name1 "sidorov")
(println (+ "author: " _name0 _ _name1))
(var lline (+ "new author: " _name0 _ _name1))
(println lline)
(println "a" _ "b" _ "c")

;//==================================
(fun check (fexpr ftext) (	println ftext ":" fexpr) )

(fun assert(fbool ftext)(
	if (not fbool) (println ftext)))

(fun check_lambda ()
	(var llx (lambda () (print "it is lambda!!!")))
	(llx)
)
	
(check_lambda)	

(assert (< 100 1) "assert works!!!")

(check (< 11 10) "must be false")
(check (> 11 10) "must be true")
(check (eq _name0 "vova") "must be true")

;//===================================
(fun test_loop (flim)
	(var li flim) (while (> li 0) (print li " ") (dec li))
	;;(var i 0) (while (< i flim) (print i " ") (inc i))
)

(fun do_test (fname ftestfun)
	(println fname) ftestfun)

(do_test "SOME_TEST: "  (test_loop 10) )
;(do_test "SOME_TEST: " ())

(fun check_order ()
	(comment "check order")
	(print "test_order: ")
	(print "1 ")(print "2 ")(print "3 \n"))

(check_order)

(println "test 1") (test_loop 5)
(println "test 2") (test_loop 3)
;//===================================

;;(print_symbols)
(TITLE " END TESTS")

(print_mem) 
(check (garbage-collect) "garbage collect") 
(print_mem)

(print "\nenter char to exit >") (getchar)
;;//(print "\nenter char to exit >") (getchar)

 

alysnix
()

удаленный разнорабочий по с++.

Форум — Job

могу удаленно и разно работать на с++, linux, git, cmake,. расположение - Москва, юго-запад. готов на занятость порядка 8 часов в день.

зарплатные ожидания - средние по отрасли.

 ,

alysnix
()

ищется годный софт для подготовки мануалов, документации. плюс истории успеха.

Форум — Development

короче, ищется линукс, либо онлайн софт для написания документации(в свободном стиле, не гост)…ну кроме очевидных аналогов ворда от майкрософта.

 

alysnix
()

mozilla thunderbird слишком долго соединяется с gmail.com

Форум — General

на убунте 20.04 тандерберд слишком долго пытается соединиться c gmail, чтобы вычитать почту при запуске. порядка минуты, потом выскакивает по какому-то своему таймауту и почту берет нормально.

поставил эволюшн - там картина аналогична.

но с mail.ru или yandex.ru забирают почту сразу, оба клиента.

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

у кого-нибудь такое набллюдается?

 

alysnix
()

SecureBoot инсталляции убунты.

Форум — Linux-install

Всем привет. Надо сделать секурный бут инсталляции убунты под tianocore uefi. на qemu. Ну несекурный бут там простой, а вот как делать секурный вообще не понятно. tianocore требует ключей и всяких там сертификатов, которые непонятно где брать. кто-то с этим вопросом сталкивался?

 ,

alysnix
()

А вот кому IDE для C++?

Форум — Development

Всем привет. Написал себе IDE для плюсов(строго под линукс), от лени, и от того, что другие не нравились. Написана на плюсах, с использованием wxWidgets, плюс clang либа. вот выложил видос как создать проект, сбилдить и пустить аппу.

https://www.youtube.com/watch?v=5DtzFbrjpVw

IDE в принципе уже вполне зрелая, несколько проектов на ней сделано, без нареканий. в процессе работы над этими проектами она просто обрастала фичами.

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

исходники не выкладываю. поскольку работаю на убунте 20.04, то приветствуются персоны с этой убунтой, чтобы не пересобирать аппу. Если есть вопросы - пишите сюда.

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

добавленное видео: https://www.youtube.com/watch?v=73qxNBq2Thk

нерафинированный видос - парсинг сорса в фоне. https://www.youtube.com/watch?v=nFyKyAsZEvk

Алексей.

 ,

alysnix
()

одноранговая сеть на openSSL

Форум — Development

короче. есть одноранговая сеть из нод, которые общаются по шифрованным каналам. шифрование на openssl, tls1.3 протокол. нода может как принимать тлс - коннекты, так и сама коннектиться к другим нодам. для простоты эксперимента я сделал самоподписанные сертификаты на общем приватном ключе для каждой ноды. ну как бы не мудрствуя лукаво, на основании общей логики, без особой читки openssl доков.

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

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

вот тут начинается какая-то пурга. сервер принимает от клиента сертификат и гнусно ругается -

The passed certificate is self-signed and the same certificate cannot be found in the list of trusted certificates.

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

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

и вообще - можно ли на openssl соединить две ноды, имея только общий ключ и по самоподписанному сертификату на этом ключе у каждой?

 

alysnix
()

(с++)ищется лучший способ обнаружить, что ssl соединение разорвано.

Форум — Development

задача. две аппы общаются между собой по ssl соединению через tcp(OpenSSL). Общение идет по неблокирующему сокету, с таймаутами. одна аппа отваливается(неважно как, даже отрывом кабеля), другая должна красиво это понять. кондовый способ - при чтении из такого оборванного соединения, SSL_read функция возвратит соотв. ошибку и тут ее можно обработать.

но это пока не наш путь, в силу архитектуры аппы.

вопрос. можно ли не читая впрямую, понять из обьекта SSL(это дескриптор SSL соединения в OpenSSL), что низлежащий сокет находится в невалидном состоянии, не копаясь в самом сокете.

короче надо функцию bool ssl_connected(..).

ps. также есть понимание, что SSL_peak и анализ ошибки даст понимание о разорванности соединения. вопрос…кроме этого, можно чем нибудь еще воспользоваться?

 

alysnix
()

вопрос по openSSL - таймауты и проч.

Форум — Development

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

вот вопрос, а на openSSL можно реализовать таймаут(вроде можно пишут в инете, но есть ньюансы), но вопрос с небуферизованным режимом внутреннего tcp сокета пока неясен. на своем сокете буферизация делается через игру с параметром TCP_NODLEAY. типа int lret = setsockopt( fhandle, IPPROTO_TCP, TCP_NODELAY, &lflag, sizeof(lflag) );

а в openSSL даже до сокета вроде добраться нельзя. а если можно, она выдержит такое рукоприкладство? спасибо.

 

alysnix
()

ubuntu 20.04, ноут, athlon 300u, встройка Vega 3, траблы в sauerbraten

Форум — Games

сам я в игры не играю, но приходится, поскольку карантин. решил с ребенком порубиться в стрелялку в локальной сети. поставил sauerbraten. поставил пакеты, что он хочет - libSDL1.2. в убунте 20.04 стоят по дефолту libSDL2.0… все стартует, но текстуры и битмапы превращаются в мусор, а поскольку там все на битмапах - прочитать даже меню невозможно. это на лаптопе.

а на моем компе - все отлично, там убунта 16.04, и проц интел core i3 3225(ему лет 150), со встройкой.

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

поможите кто чем может.

 

alysnix
()

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