LINUX.ORG.RU

14
Всего сообщений: 67

Хочу заняться подкачкингом

Добрый вечер.
Если поискать и найти как можно более шустрый ssd m.2 nvme, и воткнуть на него подкачку, сильно тормознее ли будет это нежели скажем ddr4-2666 ?

мне тут на эксперименты с компрессорами 32 Га не хватает...

 , , , ,

darkenshvein ()

Немного разврата на лоре. Versus by sort of ...rdp

Заметил, что виртуалбокс предлагает свой вариант подключения по рдп, т.е. можно НЕ использовать рдп виндового гостя.
Так вот. может, кто уже заморачивался и сравнивал. Какой вариант будет быстрее откликаться по локалке? внутривиндовый(w7 guest) или вбокса?

 , , ,

darkenshvein ()

Как подружить SQLite3 и C++ на веб-сервере?

Приветствую, воскресный ЛОР!

У меня два вопроса.
1 - Можно ли работать с SQLite, используя C++ не C-функции, которые я нашёл в примерах в интернете?
2 - Можно ли будет вкомпилировать БД SQLite3 в свою C/C++-программу?

Нужен именно С++, потому что я боюсь что накасипорю, при использовании С. А вкомпилировать нужно, чтобы использовать в CGI-скрипте на сервере хостинга(онтопик).

Благодарю за ответы!

 , , , ,

xwicked ()

Извращения с Wine

Интересно, кто-то занимался извращениями в Wine, вроде запуска Фотошопа 2017/18/19 года, Иллюстратора аналогичных годов, и вообще программ Adobe?

 , ,

Riniko ()

Немного девиаций

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

В связи с этим вопрос к специалистам по всему — как бы извернуться, чтоб можно было чатиться в этом огороженном чудовище из консоли? Плагины для libpurple? Транспорты жаббера (вроде, все мертвы)? Что-то вокруг Matrix?

 , , ,

tolstoevsky ()

Raspberry3b+ gentoo +android

Есть задача: Запустить на хосте %anyvirtualmachine% android и транслировать картинку на raspberry pi. Управление на хосте обязательно. Малина будет использоваться для кастрированного iptv (kyivstar) + spotify + медиа по минимуму.
Есть у кого какие предложения чем и как это реализовать?

Судя по этой статье https://jgrulich.cz/2018/07/04/how-to-enable-and-use-screen-sharing-on-wayland/ правильно ли я понял, что wayland можно использовать как удалённый монитор?

 

dmtrge ()

Хочу перейти на десктопе на мамку с двумя Xeon на s2011. Какие подводные камни?

На авито сейчас есть объявления с шикарными комплектами матерей с двумя головами на 2 Ксеона s2011, а также регистровая память в комплекте. Какие могут быть подводные камни?

1.Как я понимаю, на каждую NUMA-ноду должна быть одинаковая память. Т.е. в случае апгрейда памяти мне надо будет всю память текущую сместить к одному процессору, а ко второму подключать новую, верно? Или тут, как и десктопе, есть совместимость?
2. Очевидно, что будут проблемы с формфактором и питанием. И если последнее для меня не проблема, то вот как быть с корпусом? Заказать из акрила? Где будет подешевле?
3. Если я буду брать с одной головой, то какие реквистируются проблемы совместимости, если брать вторую голову другой модели?
4. Харды подключать напрямую или вынести на FC?
5. Хватит ли мне пары портов PCI-e (один под видяху, другой под USB 3.0)?
6. Точно ли мне хватит производительности железа под указанные ниже задачи? Может стоит подождать падения цен на s3647 ?

P.S. Беру под обычный десктоп (ну там хром, файерфокс, over9000 вкладок, офис, текущий thunderbird, KDE, пара ява-приложений), поэтому дефолтно хватит 32Гб памяти из комплекта, потом планирую до 64 или 128Гб проапгрейдить.
P.P.S. Бюджет вообще нищебродский: не более 50к на мать, память, проц(ы), корпус. Остальное есть.

 , , , ,

jackit ()

openvpn over tor

Кто-нибудь пробовал? Оно вообще взлетает? Скорость/латентность, понятное дело - полный трэш должны быть.

Вопрос возник почему: намедни влез в протоновский ящик, а там халявный протонвпн выделили. Очевидно, что его забанят к чертям с 1 ноября, да и он мне особо не нужен (есть свои впны), но just for lulz прикрутил в компанию к остальным трем на роутер, а теперь думаю - отвалится же.

 , ,

pekmop1024 ()

Перенаправление клиента на другой веб сервер, с сохранением https соединения

Доброго всем времени суток.

Есть веб-сервер на котором при запросе клиента генерируется файл-отчет (назовем его так), потом он передается на скачивание клиенту.
В виду того, что БД разрослась и эта генерация отчетов отнимает много ресурсов и канал, было решено вынести ее на отдельную виртуалку с отдельным каналом.
Из требований было наличие защищенного соединения.
Самый первый вариант, который появился это приобрести еще один сертификат на машину и использовать отдельное доменное имя. Но возник вопрос, можно ли данный способ (отдельная машина+отдельный гейт) привязать к текущему веб серверу и использовать его сертификат.

Стоят ubuntu+apache2+nginx-proxy+php

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

Заранее спасибо

 , ,

telepuz ()

Полностью свободное железо или ноутбуки с Libreboot.

Всем [доброго] дня!

Кто-нибудь использует ноуты с libreboot или что еще хлеще железки сертифицированные как с полностью свободным ПО?

Типа вот такого

Ну или кто имеет опыт установки либребут на обычное железо или сборки железок зонд-free.

 , ,

nihirash ()

Написать заглушку шаблона, выдающую ошибку при инстацировании при компиляции

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

struct UserType{...};
LibType1 operator ^ (UserType, LibType2){...}
на самом деле для этого есть макрос, но юзер этот макрос должен не забыть заюзать. Для встроенных типов эта операция уже перегружена.

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

Че то я попробовал со static_assert-ом, но не вышло... руки кривые;-(

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

cast tailgunner

 , ,

AIv ()

Существует ли подобный графический 3D движок?

Ищу трёхмерный графический движок работающий по принципу:

  • В стандартный ввод передаются команды с описанием «сцены», это ссылки на файлы 3D объектов, координаты и параметры источников света, а так же положение наблюдателя и его параметры типа угла обзора и визуального увеличения. Программа это показывает. В зависимости от переданных команд сцена динамически изменяется.
  • Через стандартный вывод программа передаёт движения мыши и нажатия на клавиатуру.
  • При передаче специальной команды программа отцепляет мышь.
  • При передаче другой специальной команды, показывает поверх области рендинга окно web-браузера и показывает в нём нужную страницу, фон страницы желательно прозрачный.

То есть нужен простенький 3D движок и примитивный web-браузер интегрированные в одной программе. И желательно управляемые через стандартный ввод-вывод или другой сокет.

Нужно это всё для прототипирования одной игровой задумки. Особым требованием является поддержка многокилометровых расстояний.

Сомневаюсь что именно такое существует, спросил на всякий случай. Если есть что то близкое по сути, посоветуйте.

 , , , ,

rezedent12 ()

Thinkpad и LTE-модем

Хочу заказать соответствующий модуль и вставить в свой новоприобретённый ThinkPad X230T.

Вот что я нашёл: https://ru.aliexpress.com/item/100-New-Original-Sierra-Wireless-AirPrime-EM73...

Для начала смотрим поддерживаемые LTE Band. Нашёл вот такую статью: https://www.iphones.ru/iNotes/556933, там про айфоны, но проблемы те же. Отсюда выясняем, что отечественные операторы используют 7-ой, 20-ый и 38-ой LTE Band. При этом 38-ой только некоторые и только в Москве, так что в крайнем случае можно ими пожертвовать.

Данный модуль поддерживает band'ы с 1 по 5, с 7 по 8, 13-ый, с 17 по 20-ый. То в принципе должен вполне нормально работать по всей России, если только не одновременно отправиться в Москву и не вставить туда симку мегафона или МТС, тогда должен свалиться на 3G. С учётом того, что я за всё время поиска не видел ни одного MiniPCI-E модема, который бы умел 38-ой band, то деваться некуда.

Однако, как известно, у ThinkPad есть белый список беспроводных карточек. Гуглим фразу «EM7345 ThinkPad» и натыкаемся на эту страницу https://support.lenovo.com/ru/ru/documents/pd031021. Видим, что данная карточка и ThinkPad употребляется в одном заголовке на официальном сайте Lenovo. Уже не плохо... Но будет ли оно из коробки работать именно с X230T?

Однако, 5к за карточку отдавать жалко (но при отсутствии альтернатив, я отдам). Быть может, кто-нибудь здесь знает более дешёвые MiniPCI-E 4G модули, совместимые с российским операторами?

И таки что насчёт совместимости с ThinkPad? Есть в нормальном виде полный список модемов, которые совместимы с X230? Тогда бы я просто прогуглил их все, выбрал только те, которые умеют 7 и 20 Band, а затем выбрал из них самый дешёвый.

Или, быть может, я зря беспокоюсь и пропатчить BIOS это не самом деле дело пары часов? Я уже рассматриваю этот вариант и приобрёл прищепку для микросхемы EEPROM, а также программатор на базе CH341 (пофиг на поддержку в Linux - если что есть VirtualBox с WinXP). Есть знания ассемблера (баловался когда-то с написанием своей ОС), с дизасемблерами никогда ранее не работал.

 , ,

KivApple ()

Написание плагина для Clang

Решил потыкать Clang API. Допустим, я хочу пробежаться по AST, найти некоторые места, которые удовлетворяют определённым критериям и модифицировать их.

С первыми двумя пунктами проблем особых нет - я создал плагин для Clang, который создаёт ASTConsumer, переопределил метод HandleToplevelDecl, который по условию запускает RecursiveASTVisitor на некоторых элементах. Наконец, я нахожу места, которые хотел бы модифицировать. А вот с модификацией есть проблемы.

Допустим, я знаю, что интересующие меня ноды являются дочерними элементами CompoundStmt. Я могу переопределить TraverseCompoundStmt, вручную бежать по его детям и вызывать TraverseStmt для них. При этом visitXXX устанавливает флаг, который я потом проверяю. При выполнении условия я могу присвоить *it (где it - итератор из диапазона от stmt->child_begin() до stmt->child_end()) новый узел. В принципе это работает. Например, я могу создать пустой CompoundStmt и заменить узел на него. После этого я вижу с помощью objdump (а также по дампу AST), что соответствующие инструкции исчезают. Но что если я хочу более сложных изменений?

Например, я хочу создать метку (LabelStmt). И тут я натыкаюсь на проблему, что LabelStmt хочет LabelDecl, который в свою очередь хочет IdentifierInfo. Каким образом создать новый идентификатор и получить его IdentifierInfo? Если указать вместо нормального IdentifierInfo nullptr, то clang предсказуемо падает. Каких-либо нормальных конструкторов или статических методов для создания IdentifierInfo в самом IdentifierInfo я не заметил. Значит IdentifierInfo должен создавать кто-то другой. Но кто? Как вообще генерировать новые идентификаторы?

 ,

KivApple ()

Возврат lambda из функции

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

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

Хочу сделать так, чтобы обработчик вызывался для любого запроса, начинающегося с «/foo/». То есть сюда подходят всякие варианты «/foo/bar», «/foo/baz» и т. д.

У функции define-easy-handler параметр :url может быть не только строкой, но и функцией.

Таким образом можно написать что-то вроде:

(defun starts-with (substr str)
  (if (>= (length str) (length substr))
    (equal substr (subseq str 0 (length substr)))))

(define-easy-handler (foo-page :uri #'(lambda (request) (starts-with "/foo/" (request-uri request)))) ()
  ...)

Но это же не красиво! Хочу вынести создание лябмды в отдельную функцию. Чтобы писать как-то так:

(defun prefix-uri (prefix)
  `(function (lambda (request) (starts-with ,prefix (request-uri request)))))

(define-easy-handler (foo-page :url (prefix-uri "/foo/"))
  ...)

Однако как бы я не расставлял квотирование, либо получаю ошибку компиляции, либо сервер выдаёт 404, либо при обращении к странице вылетает ошибка 500, а в логах пишется, мол мне требуется function symbol, а ты подсунул мне какую-то фигню вместо него.

Как правильно такое реализовать?

 ,

KivApple ()

Ноут в качестве роутера

Собственно, интересуют подводные камни данного дела. Канал 100Мбит, 5-10 клиентов.

 , , ,

l4gfcm ()

Как вы охлаждаете то что как бы не нуждается в охлаждении?

Примерно месяц назад из за жары начал глючить маршрутизатор. Убрать его в прохладное помещение нет возможности ибо к нему подключен по USB модем YOTA как резервный канал доступа в интернет. Пришлось взять вентилятор из старого системного блока dell и положить рядом. Теперь маршрутизатор не зависает. http://www.imageup.ru/img141/2499835/foto-0001.jpg

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

 , , , ,

rezedent12 ()

Извращения над ZX Spectrum 48

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

часть 1: Интерпретатор языка для МК-61

часть 2: Многопоточность на ZX Spectrum

До того как я уже осознал, что такое параллельные процессы и тому подобные штуки в более «взрослых» компах, у меня было много этапов познания в работе доступного и практически единственного в пределах досягаемости аппарата который я называл «компьютер», хотя в народе он звался просто игровой приставкой «Sinclair». Но мы то, упоротые извращенцы, знали что это компьютер для извращений на ассемблере, на котором можно было ещё и поиграть.

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

Всё это усугублялось тем, что в качестве монитора был единственный телевизор (хоть уже и цветной) «Славутич».

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

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

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

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

Имсенно поэтому я без сомнений сразу полез в ассемблер.

К счастью для меня, у моего брата был товарищ, который совершенно не программист, но его отец откуда-то достал, на время может с работы принёс какоую-то советскую поделку IBM-PC XT совместимую с EGA монитором и винтом! на 5 мегабат.

Суть была не в компе, а в том что его где-то отец ещё и книгу достал.

Книга зачётная! Она меня так сказать и вывела в люди. Называлась она: Robert Jourdain «Справочник программиста персональных компьютеров типа IBM PC, XT и AT» 1992 года издания перевода в Москве. Вот прямо сейчас с неё название и набирал.

Вобщем к их компу у меня особо доступа небыло, так как товарищь брата со своим братом постоянно залипали на нём в игры, а вот книгу они мне ПОДАРИЛИ!

Там хоть и не обсуждался ассемблер для ZX, но там были показаны методы оптимизации на ассемблере, алгоритмы на ассемблере.

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

Конечно же там было не всё. 6514:17 12.05.201614:17 12.05.2016

По программированию графики, не пожалел маминых денег и купил 4х томник Аммерала по компьютерной графике на Си.

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

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

Один из очень сообразительных парней, с которым мы начали вместе более тщательно и извращённо «жмакать» спектрумы, подкинул мне компиятор бейсика. Точно не помню, вроде это был «Laser Basic» ну не помню.

Из его шикарных возможностей была раз в 10(100?) большая призводительность и то что скомпилированная прога могла быть самостоятельным отдельным продуктом, но небыло вычислений с плавающей точкой (это меня не огорчало).

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

Для закрепления практики работы с компилятором, написал игру «Colors War» (исходники на бейсике лежат в тетрадке рядом со мной если что). Игру придумал не сам, а просто сделал упрощённый клон игры для ИБМ подглядев у товарища с 286 машинкой.

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

 , ,

Serg_HIS ()

Как добавить метод в уже созданный класс?

Вот есть какой то класс:

class A:
    ...

Потом (в другом модуле) нам нужно его проагрейдить, скажем добавить метод __getitem__

def foo(self, i):
    ...
A.__getitem__ = foo
del foo

Вопрос - как это сделать Ъ? Ну что бы там правильное имя метода было (в справке) и вообще как то изящно.

Зная специфику ЛОР-а, сразу хочу заметить что исходный класс генерится сторонней вундервафлей (swig-ом). Я могу конечно потом пропатчить сгенерированный им питоний файл и напихать методов прмяо в тушку класса, но пока мне это представляется еще большим извращением.

cats tailgunner, true_admin.

 ,

AIv ()

Meizu PRO 5 Ubuntu Edition - это новый мертворождённый ubuntu phone/firefox phone или реально торт?

http://www.opennet.ru/opennews/art.shtml?num=44324

Насколько я понимаю, там используется богомерзский mir и модификация юнити, поддержка X11-приложений отсутствует. Т.е. десткопных приложений там не видать, а нативных приложений там будет меньше, чем в firefox phone, где хоть веб-стандарты позволяли их клепать тоннами.

ИМХО, если уж делать линуксовый телефон, то делать его изначально для сообщества гигок со встроенной поддержкой aircrack, BLE, нормальным графическим стеком на Wayland+X11, NFC и нормальным видеочипом, типа тегры. Ну и всякие интерфейсы, типа SD, GPIO, I2C, I2S, SPI, 1-Wire и т.д. вывести на док. Очевидно, юзать чипы для GSM/3G с поддержкой заливки модифицированной прошивки, чтобы в 2 клика поднимать свою GSM-станцию на OpenBTS, а ещё программнозадаваевое радио встроить. Вот это был бы реально девайс. А не этот высер, которых ни гикам не нужен, ни обывателю.

Из чего вопрос: нафиг оно надо, если есть цианоген мод с фаейрволлом?

 , , ,

Iprao ()