LINUX.ORG.RU

Избранные сообщения oster2011

МЕТАПАРСЕР: каталог минималистичных парсерных игр

Форум — Games

Привет!

Сегодня я запустил небольшой онлайн-каталог парсерных игр https://metaparser.syscall.ru/

Для тех кто не знает. Это такие игры, в которых текст надо вводить с клавиатуры.

Игры работают на облегчённой версии интерпретатора INSTEAD (модуль МЕТАПАРСЕР-3), выглядят просто и запускаются быстро (на компьютере и вашем смартфоне). Никакой графики (хотя, движок их поддерживает), музыки, авто-подсказок, дополнения по клавише «таб» и прочей мишуры.

Зачем?

Сложно сказать. После долгого марафона развития INSTEAD3 мне захотелось вернуться к кристальной простоте настоящей интерактивной литературы. А настоящая интерактивная литература это, все-таки, игры с текстовым вводом. И ничего кроме текста и фантазии. Впрочем, как и в настоящей литературе.

Отдаю себе отчёт, что вряд-ли библиотека привлечёт к себе много внимания, но… Кто знает, может быть я не одинок.

Версия JS-метапарсера, который используется в библиотеке, будет выпущен одновременно с метапарсером 1.4.

Парсер, живи! :)

А пока, добро пожаловать! https://metaparser.syscall.ru/

P.S. Также сделал приложение для vk: https://vk.com/app6934806_85944929

И пользуясь случаем, приглашаю всех заинтересованных в телеграм чат проекта: https://t.me/insteadtalk

 , , ,

gloomy
()

Что такое Wine с технической (терминологической) точки зрения?

Форум — Desktop

Само название - рекурсивный акроним это wine is not an emulator. Ок, не эмулятор, тогда что?

В чем его отличие от эмулятора и от гипервизора?

Вот например здесь пишут:

Wine is also more a hypervisor/virtual machine (albeit at a higher ABI level) than an emulator.

из чего следует, что он где-то посерединке между ними. Но я-то, как «чайник», считал что есть четкое разделение: мальчики налево, девочки направо есть гипервизоры, есть эмуляторы, и на этом всё. А теперь выясняется, что ситуация более сложная, чем казалась.

 , , ,

Deleted
()

Готовые сборки Wine

Форум — General

Доступные сборки:

  • TkG - сборки, включающие в себя Staging патчсет, а также дополнительные патчи (в основном для улучшения производительности в играх).
  • Proton - сборки, собранные из исходников с репозитория ValveSoftware. По сути, это тот же Proton из Steam, только не требующий Steam Runtime для работы.
  • Staging - сборки с примененным Staging патчсетом. Содержат большое количество патчей, которых нет в обычном Wine.
  • Vanilla - обычный Wine из исходников с WineHQ, без каких-либо дополнительных патчей. В том числе есть Stable версии (2.0.x, 3.0.x, 4.0.x и т.д.).
  • Wayland - сборки с патчами для работы на Wayland (только для него, с Xorg они не работают совсем). Имеют много ограничений, в том числе OpenGL не работает, работает только Vulkan. Рекомендую прочитать страницу проекта wine-wayland, там об этом написано.

Доступные архитектуры:

  • amd64 - для 64-битных систем. Можно запускать и 64-битные, и 32-битные приложения.
  • amd64-nomultilib - для 64-битных систем. Можно запускать только 64-битные приложения. 32-битные зависимости не требуются.
  • x86 - для 32-битных систем. Можно запускать только 32-битные приложения.

Для работы сборок нужен как минимум GLIBC 2.27. Скрипт, которым я компилирую Wine, а также актуальная информация о сборках (опции компилирования, применяемые патчи и прочее), доступны на GitHub. Обновляю по мере возможности.

Старые сборки (4.11 и старее) требуют как минимум GLIBC 2.23.

Как использовать эти сборки? Просто распакуйте в домашний каталог (или в /opt) и указывайте путь до бинарника wine при запуске приложений. Например:

/home/user/wine-4.0-amd64/bin/wine someapp.exe
В системе должны быть установлены необходимые библиотеки, иначе Wine не будет работать или не сможет запустить многие приложения.

Ссылки на скачивание:

Если вам нужны сборки со встроенными библиотеками, взгляните на другой мой проект: https://github.com/Kron4ek/wine-portable-executable

 

Kron4ek
()

Представлен слой совместимости для запуска приложений Android на десктопных дистрибутивах Linux – Anbox

Новости — Android
Группа Android

Anbox – это слой совместимости для запуска Android-программ в десктопных дистрибутивах Linux. Anbox похож на Wine (который запускает Win16/Win32/Win64 программы) и Darling (который запускает macOS программы, но находится на раннем этапе разработки). Anbox использует технологию контейнерезации (как и Darling). Anbox использует технологию LXC-контейнеров (Darling также использует похожую технологию). Установить Anbox можно набрав в консоли snap install --classic anbox-installer или скачав скрипт по ссылке: https://raw.githubusercontent.com/anbox/anbox-installer/master/installer.sh.

( Основные возможности Anbox )

>>> Подробности

 

Root-msk
()

Хочу делать сидбоксы дома

Форум — Talks

Всем привет,

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

Плюс ко всему, у меня уже несколько лет до дома проложена оптика 600/600 мбит которую я использую хорошо если на 10% и то временами. IP белый, публичный, правда динамический — меняется каждый раз как ребутаешь рутер, т.е. раз в год. Порты открываю сам на своем рутере.

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

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

Нужен коллективный разум, в общем.

Перемещено tailgunner из admin

 ,

alex07
()

В какие старые игры поиграть?

Форум — Games

GTA San Andreas, Half-Life 2, TES 3: Morrowind, Gothic 2, Devil May Cry 3: Dante's Awakening.

Какие еще игры пойдут на высоких и максимальных настройках без тормозов и просадок FPS (50-60 FPS на максимальных и высоких) на таком старом ПК?

CPU: AMD Athlon II X2 +4800 | Video: ATI Radeon HD 4550 1GB DDR3 | RAM: 3 GB | Resolution: 1280x1024.

 ,

gnu3d
()

lorify-ng новое универсальное расширение для LOR -а

Форум — Linux-org-ru

Это реинкарнация проекта lorify - скрипт+расширение, реализующее функционал схожий с тем, что добавляет куклоскрипт для имиджборд.

Расширение умеет:

  • Получать сообщения от сервера через WebSocket и обновлять контент на странице (новые комментарии, уведомления, правки)
  • Индикацию на фавиконе вкладки о количестве новых комментариев (очищается даблкликом в любом месте страницы);
    Цвета информируют о состоянии соединения с сервером (зеленый - ок, желтый - отсоединился, красный - сбой)
  • Системные оповещения о уведомлениях пользователя (для юзерскрипта требуется «разрешить сайту www.linux.org.ru показывать уведомления»)
  • Динамическая навигация по страничкам темы (по умолчанию подгружается только текущая открытая и последняя, в настройках можно задать количество подгружаемых заранее)
  • Само собой показ превью постов и ссылки указывающие на комментарии с ответами
  • Кнопки разметки и хоткеи (гайд по использованию)
  • Просмотр, масштабирование и поворачивание картинок, как для встроенных превью в топике так и доступных в тексте комментариев по прямым ссылкам (если url картинки имеет непрямой вид к нему можно добавить хэштег с названием и расширением картинки imghost.orc/24dfuh5d1#скриншот.png)
  • Цитирование с форматированием, как всего комментария так и выделенного в нем текста


Доступны следующие варианты установки

  • Юзерскрипт(тестировался с Violentmonkey)
  • Аддон для Firefox
  • Chrome (платный, нужно $5)
    • можно так же установить вручную включив на странице chrome://extensions режим разработчика и выбрав папку с исходниками расширения в качестве распакованного

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

>>> Страница проекта на GitHub

 , ,

uin
()

Бинарные сборки Wine

Форум — General

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

Чтобы предотвратить это неудобство, я с некоторых пор делаю бинарные сборки Wine и выкладываю их для всех желающих. Располагаются они здесь. Когда задумывал это, то вдохновлялся примером PlayOnLinux, которые тоже делают собственные бинарные сборки Wine, но обладают некоторыми недостатками:

  1. Выходят нерегулярно.
  2. Скрипта, который их формирует, я так и не нашел.
  3. Мне нужна еще версия с патчами Staging, а они не для каждой версии их делают.

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

Преимущество бинарных сборок:

  1. Идут практически любом современном дистрибутиве. За абсолютно все дистрибутивы любой давности ручаться не буду, сам проверял только на паре дистрибутивов, поэтому хотелось бы чтобы вы их протестировали и подтвердили или опровергли это утверждение.
  2. Для использования не требуется ничего, установленных зависимостей для Wine. Сам системный Wine при этом даже необязателен.
  3. Можно иметь хоть с десяток разных версий Wine для разных программ и с легкостью переключаться между ними без каких-то переустановок. Чтобы установить бинарную сборку, достаточно лишь ее распаковать в любой каталог.

В процессе создания бинарных сборок я целенаправленно не применял никаких сторонних патчей. В версии с патчами Staging присутствует только набор патчей из Staging и больше ничего. В ванильной версии не применяются никакие патчи. Даже несмотря на то, что начиная с какой-то версии из ветки 1.9.x Wine стало невозможно скомпиллировать с помощью gcc 5.3.0 и патч довольно оперативно написали, я предпочел откатиться до gcc 4.8.5, чем применять этот патч. Сомневающимся могу порекомендовать скачать мой скрипт, собрать Wine самому с помощью gcc 4.8.5 и после чего сравнить свой хэш получившегося архива с моим.

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

И еще раз ссылки:

  1. Сайт с бинарными сборками Wine
  2. Скрипт, по которому они формируются

P.S. Перед использованием скрипта отредактируйте его и измените содержимое переменных WORKDIR (каталог, в котором будет компиллироваться Wine) и GCC_VERSION (версия GCC, которая применяется для сборки) в соответствии со своими предпочтениями. А то там сейчас стоят мои значения.

Обновлено 04.02.17:
В связи с тем, что после выхода Wine 2.0 сменилась нумерация промежуточных версий (промежуточная версия теперь 2.1 и все исходники будут лежать в папке 2.x и еще они сменили формат архива), то скрипт для сборки разделен. Скрипт wine_build_1.9.x-2.0.sh - для сборки всех предыдущих версий Wine до версии 2.0 включительно и wine_build-2.x.sh - для всех версий после 2.0. Да, это неудобно. Но это лучше, чем если бы в одном скрипте писать кучу костылей по парсингу мажорной версии, минорной версии и их какого-то совмещения. Размер скрипта значительно увеличился бы, он стал бы трудночитаемым и вряд ли это решение было бы совсем безглючным.

Обновлено 25.10.18:
Я закрываю формирование бинарных сборок в связи с тем, что Wine в последнее время оброс сторонними патчсетами, вроде esync, да и самому мне это все надоело. К тому же появился Steam Play. Все предыдущие сборки вы можете скачать отсюда, но новые формироваться вряд ли будут. Там же вы найдете скрипт, с помощью которого можно будет сделать свою собственную сборку.

Обновлено 24.10.20:
В силу некоторых причин пришлось снова расчехлить мой скрипт для формирования бинарных сборок. Только сами бинарные сборки я выкладывать не буду: мне и влом, и места на хостинге жалко, да и проблемы совместимости с разными версиями glibc в разных дистрибутивах.
Вместо этого я адаптировал сам скрипт согласно современным реалиям и выложил его на GitHub - пользуйтесь, если хотите. Скрипт пришлось практически полностью переписать, убрать костыли, а заодно и поддержку сборки из git. Для сборки из git надо писать отдельный скрипт, поскольку там другие пути и сценарии распаковки и сборки. Может займусь этим когда-нибудь.

 ,

Rinaldus
()

a2img или LOR с картинками

Форум — Web-development

Написал не большой user-script, который преобразует ссылки на картинки в обычные картинки. Так что теперь на лоре (у меня) есть картинки.

Кастую любителей картинок на лоре: hobbit, zaharov, rj45, dk-, Zhbert

P.S. Любители видео, могут использовать yt2p

 , ,

SR_team
()

Про друзей и программирование

Форум — Talks

Я все время трачу на какие-то интересные занятия, и нет времени общаться с нормальными людьми

Даже тупо на какую-то тусовку пойти бывает сложновато, потому тебя кто-то должен туда пригласить, а все знакомые плавно переместились в интернет. И обычно живут где угодно, но не там где ты. Например, в Overwatch я почему-то постоянно играю с чуваками из Израиля

Каким образом начать общаться с живыми людьми?

Условно, на что я сейчас трачу свободное время? Чтобы покопаться в каком-нибудь проекте с открытыми исходниками, или написать статью на Хабр, или запилить видос на Ютуб

Днем это выглядит очень весело типа, глядите какой крутой чел, вот он то и это сделал. Но по факту это очень уныло. Приходите вы вечером домой, включаете комп, сидите до трех часов ночи... и что? Я в последнее время стал на рандомных каналах твича делать стримы с игрой «IRL» чтобы просто поговорить с рандомами

Видели ли вы когда-нибудь девушку, которая готова вместе с тобой сидеть и всю ночь монтировать видос в премьере?

И вот интересно, что вы с этим делаете. Стоит ли с этим вообще что-то делать...

 

stevejobs
()

Шпаргалка для веб-разработчика

Форум — Web-development

Компилирую все свои заметки сюда:

https://gist.github.com/codedumps/4868d3962e12996788c458f7b28bb99f

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

 

tz4678
()

Передача видео по сети с низкой задержкой

Форум — Development

Имеется вебкамера, одноплатник orange pi (сначала был raspberry pi, но один аппаратный USB на всё приводит к куче проблем) и wifi-свисток. Требуется передавать видео 640х480 30fps на смартфон под управлением ОС Android. Важный момент - минимальная задержка (не больше 200 миллисекунд), пока это физически возможно (потом можно терять кадры). Со стороны одноплатника может быть как стандартное ПО (какой-нибудь ffmpeg), так и самописное, со стороны Android самописное (передача видео не единственная функция), но, конечно же, можно использовать библиотеки.

В какую сторону копать?

Пока сделал свой велосипед - захватываю кадры с камеры с помощью V4L2, жму с помощью libjpeg-turbo, разбиваю на части по несколько сотен байт, шлю по UDP (при этом шлю куски JPEG по мере их появления по мере сжатия). С другого конца принимаю пакеты, собираю JPEG (в каждом пакете передаётся его порядковый номер, полный размер JPEG и смещение - каждый кадр собирается в независимом буфере, как только собирается целый кадр, он отображается, а все несобранные кадры с меньшим порядковым номером отбрасываются и в будущем игнорируются), распаковываю и вывожу через OpenGL.

Между одноплатником и ноутбуком работает отлично и задержка низкая. А вот между одноплатником и смартфоном работает очень нестабильно. Изредка бывает 30fps, но обычно чуть ли не половина кадров теряется. Пробовал как подключать одноплатник и смартфон к готовой точке доступа (и даже подключать одноплатник к точке доступа по кабелю), так и делать точку доступа из одноплатника. Смартфон спокойно играет через Интернет Full HD YouTube, так что ресурсов у него и сети хватает (конечно, YouTube пожат лучше, чем JPEG, но сильно большее разрешение компенсирует и битрейт должен быть не меньше).

Почему JPEG? Потому что я наученный горьким опытом сжатия видео на одноплатников - это единственный известный мне «кодек», который приемлемо грузит ARM-одноплатники. На всё остальное просто не хватает ресурсов на сжатие.

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

Я не прошу готового решения, только направление.

 , , ,

KivApple
()

Хороший wiki-движок на Git?

Форум — Talks

Подскажите, если кто знает, есть ли приличный wiki-движок на Git?

Очень нужна компактная вики, и, по понятным причинам, хотелось бы видеть под ней git, но это не обязательно. В идеале она должна быть с минимумом зависимостей и написана на чём-нибудь не слишком маргинальном, особенно не на php. Если ещё и умеет в markdown, то вообще прекрасно.

Пытаюсь исследовать вопрос прежде чем писать велосипед, пока нашел только мёртвый хеллоуворд на Ruby+Sinatra, который у меня поломался уже на рендеринге домашней страницы сразу после её создания (что-то сломано в уже неподдерживаемой обёртке для git — Grit), и ikiwiki на Perl, которую не вижу особого смысла пробовать.

 , ,

WitcherGeralt
()

Security Linux

Форум — Desktop

Доброго времени. Сегодня поставил чистый Арчик. И вот хотел узнать у нормальных людей, чем реально вы пользуетесь для защиты. Доку на вики конечно же почитал, статейки с гугла и тд. Поделитесь опытом, что реально помогает, а что лишь трата времени. Заранее благодарен за адекватные ответы. ППС: Просьба ко всем мистерам роботам: писать по существу.

 , , ,

q13
()

Как подключится к уже запущеной ноде Erlang'a?

Форум — Development

Как подключится к уже запущеной ноде Erlang'a?

Делаю так: erl -sname my_app -setcookie COOKE

Получаю: Protocol 'inet_tcp': the name my_app@my_comp seems to be in use by another Erlang node

 

darksmoke
()

как залогиниться в телеграм без номера мобильного телефона?

Форум — Talks

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

 , ,

darkenshvein
()

Вспомнить фантастический рассказ

Форум — Talks

Короткий рассказ, читал в далёком детстве. Учёный изобретает машину времени, но которая не перемещает вещи во времени/пространстве, а эволюционирует всё, что в неё помещается. К примеру, если поместить червяка, то он может трансформироваться в, скажем, в змею, как если бы за него это сделала эволюция через N лет. И этот учёный решает поместить в машину себя, чтобы узнать каким станет человек будущего.

 

Dendy
()

ruby+postgresql, затык с кавычками

Форум — Development

В postgres одинарные кавычки используются для строковых типов данных в полях, а двойные - для имен таблиц и полей. В ruby одинарные кавычки используются для «простых» строк, спец. символы в них экранируются автоматически. А двойные - для строк с исполняемыми фрагментами кода. Исполняемый фрагмент оформляется, например, так

"#{переменная}"

В базе есть такая запись

name | num | command
-------+-----+-----------------------------------
a7324 | 1 | statistics adsl linerate #{@port}

Команда должна извлечься запросом и выполниться telnet'ом с переменной @port, но из-за одинарных кавычек решетка экранируется и команда не работает.
Как быть в такой ситуации?

 ,

hasculdr
()

А что есть поточнее чем OpenCV

Форум — General

В плане распознавания лиц. Уж больно много погрешностей дает OpenCV

 

Siado
()

Как передать файлы из директории приложения в docker контейнер с nginx

Форум — Web-development

Всем привет, столкнулся с проблемой, возможно тривиальной Выполняю команду: docker run --rm -p 2080:80 -v $PWD/app:/usr/share/nginx/html:ro nginx

http://prntscr.com/k6nhmj

Ну и я ожидаю что он мне покажет что в моем app/index.html Он же говорит '403 Forbidden'

с помощью команды docker exec -it [CONTAINER ID] /bin/bash я захожу в свой контейнер, что бы посмотреть в чем дело, но оказывается что файла index.html по пути /usr/share/nginx/html вовсе нет.

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

 , , ,

mepoooe
()