LINUX.ORG.RU

Сообщения bvn13

 

Склонировать/забекапить диск в файл

Чем можно проще и надежней склонировать/забекапить диск в файл? Хотелось бы iso решения, чтоб можно было этим с флешки загрузиться и все сделать. Почему-то Acronis True Image 2019 пыхтел-пыхтел в режиме Backup (весь диск в файл), но потом на диске так и не оказалось созданного файла. Что он при этом делал - вообще не понятно.

Планирую бекапить диск ноута (винда, рекавери) чтобы потом накатить линукс :)

ЗЫ. Кстати, live Fedora 29 на Lenovo Yoga 710 идет норм. Работает все: тачскрин, тачпад, вайфай, повороты экрана от гироскопа. Синезуб и пальцескан не проверял.

 

bvn13
()

Huawei Honor Sport AM61 - bluetooth гарнитура

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

По сабжу - звук достойный. На ровне с Sehnheizer CX 3.0. Поэтому, если кто-то готов забрать у меня сабж (регион - Москва, центр - СВАО), то он не будет разочарован в звуке. Для связи у меня мыло в профиле.

 , honor sport am61,

bvn13
()

MongoDB 3.6 для ArchLinux

Есть где-нибудь пакет/AUR? Как поставить?

 , ,

bvn13
()

AdbBlock для потокового аудио (интернет-радиостанций)

Простите, что с хабра, но читать лучше в оригинале статьи, там много букв.

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

 , , internet radio, ,

bvn13
()

Получится ли сделать скрипт для клавиш громкости в Tasker?

Вот мне подумалось, а взлетит ли?

Хочу сделать так: двойное нажатие на VolumeUp эмулирует мультимедийную кнопку Next; а для VolumeDown - Previous.

Смысл - не доставать смарт из кармана, когда слушаешь музыку.

Да, кнопок громкости на наушниках нет.

 ,

bvn13
()

Парсинг невалидного (не по стандартам) DOM

Использую простую схему:


        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = null;
        try {
            db = dbf.newDocumentBuilder();
        } catch (ParserConfigurationException e) {
            throw new HtmlProcessorException(e);
        }
        Document xml = null;
        try {
            xml = db.parse(new ByteArrayInputStream(html.getBytes(StandardCharsets.UTF_8)));
        } catch (SAXException e) {
            throw new HtmlToXmlConvertionException("Html parsing exception", e);
        } catch (IOException e) {
            throw new HtmlToXmlConvertionException("Html reading exception", e);
        }

Но HTML содержит ноду с неопределенным атрибутом:

<link href="https://..." mask rel="icon" sizes="any">

В этом примере - mask не определен, выбрасывается эксепшн:

Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1442; Attribute name "mask" associated with an element type "link" must be followed by the ' = ' character.

Не могу нагуглить, есть ли способы заставить парсер воспринимать такие ситуации правильно, т.е. считать, что если нет ="", то атрибут с пустым значением? Или все-таки придется еще регекспами искать такое и вставлять это «дефолтное» значение?

 , , , ,

bvn13
()

Я завез псевдо-приватные сообщения на ЛОР

Ссылка: https://github.com/bvn13/lor-cryptomsg

На greasyfork добавить не удается пока.

Как настроить:

  1. Генерация ключей.

Можно использовать онлайн-сервис для генерации пары ключей: http://travistidwell.com/jsencrypt/demo/index.html

Можно воспользоваться инструкцией из описания библиотеки: https://github.com/travist/jsencrypt

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

  2. Отредактируйте свой профиль на ЛОР, добавьте в него два блока: свой публичный ключ, список публичных ключей своих желаемых адресатов. Пример:

[PUBLICKEY]
-----BEGIN PUBLIC KEY-----
MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgE8GvwA6g0U5eDhPVq20nGdYxFjv
mFtrNF7QzlLmnXQRVDeuDfWFgCzwDRruMuK+jZBxo4aqnVKH3h44iK026d1SQtgW
9qnqsXlhd4/KeDKY8pPGrPlX9bVkRXawcMPkJ3bqq1AXuVFpaJzF2xHvnpjZsN8Z
ZXhrdoRcVeTo/RSfAgMBAAE=
-----END PUBLIC KEY-----
[/PUBLICKEY]

[USERKEYS]
[USERKEY user=USERNAME]
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHRD82iMTlM0BQf0Rq5Al6KRX8
x4niisa/LBeGONDNY6F2whCbN1X4hvQZMxLfqi3COu0WiprgVNkSE0VISoAe3a2T
u5+knJJjOmFXchy735Fu4MUYUX4D8LxXI0xbiEeNyB9fqcQ03cwqAusttxvExgO8
C92iJ3a7BytbHlDeqwIDAQAB
-----END PUBLIC KEY-----
[/USERKEY]
[/USERKEYS]
  1. При написании сообщения под textarea появится кнопка «Encrypt it!» с выпадающим списком выбора адресата (берется из вашего профиля). При нажатии кнопки будет зашифрован выделенный текст в textarea. При этом вставляется два блока: один зашифрован вашим ключом (чтобы вспомнить, о чем был разговор), второй зашифрован ключом адресата

  2. При открытии топика скрипт пробегается по сообщениям и расшифровывает шифро-блоки

UPD: TO: Модераторы и @maxcom (что-то кастование не работает в маркдаун)

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

 , private messages, ,

bvn13
()

Ленивые регулярки в JS

Господа, а есть ли способ распарсить такое по-блочно?

[BLOCK]12345[/BLOCK][BLOCK]12345[/BLOCK]

Т.е. когда 2 блока идут подряд, но нужно их обработать по-отдельности.

 , lazy,

bvn13
()

Docker FTP

Подскажите, пожалуйста, есть ли докер-образы для расшаривания локальной папки по FTP без особых заморочек, но секурно (логин-пароль)? Кто каким пользуется?

 ,

bvn13
()

LibGDX не рисует Actor-ов на Scene

Други, все обгуглил, обчитал. Делаю по примеру из книги (да и в их вики похоже) - не работает.

Сцена, создаю актора, содержащего спрайт, добавляю его на сцену, запускаю - не видно актора! Рассудите, где я что-то упустил?

public class DropTheBrickGame extends Game {

	private Random random;
	public Random getRandom() {
		return random;
	}

    private OrthographicCamera camera;

	private SpriteBatch batch;

	private GameScreen gameScreen;
	
	@Override
	public void create () {
		random = new Random();

		batch = new SpriteBatch();
		gameScreen = new GameScreen(this);

		setScreen(gameScreen);
	}

	@Override
	public void render () {
		super.render();
//		Gdx.gl.glClearColor(0.2f, 0.2f, 0.2f, 0.5f);
//		Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
//        batch.setProjectionMatrix(camera.combined);
//        batch.begin();
//
//        gameScreen.render(Gdx.graphics.getDeltaTime());
//
//        batch.end();
	}
	
	@Override
	public void dispose () {
	    super.dispose();
		batch.dispose();

        Gdx.app.exit();
	}
}
public class GameScreen implements Screen {

    private static final float C_WIDTH = 640;
    private static final float C_HEIGHT = 800;

    private static final float MIN_FLOOR_SIZE = 200;
    private static final float MAX_FLOOR_SIZE = 500;

    private Stage stage;

    private DropTheBrickGame game;

    private Brick brick;

    SpriteBatch batch;

    Texture test = AssetsFactory.createTexture(AssetsFactory.A_S_BRICK);

    public GameScreen(DropTheBrickGame game) {
        this.game = game;

        batch = new SpriteBatch();
    }

    @Override
    public void show() {
        stage = new Stage(new ScreenViewport());

        brick = new Brick();
        brick.setPosition(10,10);
        brick.setVisible(true);
        stage.addActor(brick);

    }

    @Override
    public void render(float delta) {
        batch.begin();
        stage.act(delta);

        stage.getRoot().draw(batch, 1);

        Gdx.gl.glClearColor(0.8f, 0.8f, 0.8f, 0.2f);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        stage.draw();

        batch.draw(test, 50,50);

        batch.end();
    }

    @Override
    public void resize(int width, int height) {
        stage.getViewport().update(width, height, true);
    }

    @Override
    public void pause() {

    }

    @Override
    public void resume() {

    }

    @Override
    public void hide() {

    }

    @Override
    public void dispose() {
        stage.dispose();
//        brick.dispose();
    }
}

public class Brick extends SpritedActor {

    public Brick() {
        super(AssetsFactory.createTexture(AssetsFactory.A_S_BRICK));
        this.textureRegion.getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
    }

}
abstract public class SpritedActor extends Actor implements Updatable, Disposable {

    protected TextureRegion textureRegion;
    protected Rectangle boundary;
    protected Vector2 velocity;

    public SpritedActor() {
    }

    public SpritedActor(Texture texture) {
        textureRegion = new TextureRegion(texture);
        boundary = new Rectangle();
        velocity = new Vector2();
    }

    public TextureRegion getTextureRegion() {
        return textureRegion;
    }

    public void setTextureRegion(TextureRegion textureRegion) {
        this.textureRegion = textureRegion;
    }

    public Rectangle getBoundingRectangle() {
        boundary.set(getX(), getY(), getWidth(), getHeight());
        return boundary;
    }

    @Override
    public void act(float dt) {
        super.act( dt );
        update(dt);
    }

    @Override
    public void draw(Batch batch, float parentAlpha) {
        Color c = getColor();
        batch.setColor(c.r, c.g, c.b, c.a);
        if (isVisible()) {
            batch.draw(textureRegion, getX(), getY(), getOriginX(), getOriginY(),
                    getWidth(), getHeight(), getScaleX(),
                    getScaleY(), getRotation());
        }

        //super.draw(batch, parentAlpha);
        //batch.draw(texture, (parent != null ? parent.getX() : 0) + getX(), (parent != null ? parent.getY() : 0) + getY(), getWidth(), getHeight());
    }

    @Override
    public void dispose() {
        if (textureRegion != null) {
            textureRegion.getTexture().dispose();
        }
    }

    @Override
    public void update(float dt) {}
}

 ,

bvn13
()

Странные ошибки при закрытии libGDX приложения

Не знаю, как даже это гуглить.

Приложение почти дефолт, который генерится их сетапом. Открываю - норм. Закрываю окно - вываливается ошибки.

21:02:18: Executing task 'DesktopLauncher.main()'...

Executing tasks: [DesktopLauncher.main()]

Configuration on demand is an incubating feature.
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
warning: [options] bootstrap class path not set in conjunction with -source 1.6
1 warning
:core:compileJava
:core:processResources NO-SOURCE
:core:classes
:core:jar
:desktop:compileJava UP-TO-DATE
:desktop:processResources NO-SOURCE
:desktop:classes UP-TO-DATE
:desktop:DesktopLauncher.main() FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':desktop:DesktopLauncher.main()'.
> Process 'command 'C:/Program Files/Java/jdk1.8.0_202/bin/java.exe'' finished with non-zero exit value -1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.6/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 9s
4 actionable tasks: 3 executed, 1 up-to-date
21:02:28: Task execution finished 'DesktopLauncher.main()'.

В чем дело? Что ему надо?

 ,

bvn13
()

Удаленная отладка приложения, запущенного на Tomcat, из IDEA

Как? Загуглил. Добавление ключа вида

-agentlib:jdwp=transport=dt_socket,address=9103,server=y,suspend=n 

в CATALINA_OPT ничего не дала. Но, возможно, я как-то не так настраиваю IDEA.

Есть у кого-нибудь пример рабочий? Поделитесь настройками/скриншотами, пожалуйста.

 , , ,

bvn13
()

Markdown к нам приходит...

мой pull-request

cast maxcom и всех желающих

_____________________

итак. что добавлено.

1. в настройках профиля появился пункт форматтера по-умолчанию: markdown

2. если в настройках профиля выбрать user lines breaks, то при добавлении топика/коммента можно будет выбрать markdown в выпадающем списке вариантов форматирования. это же касается редактирования комментов

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

 ,

bvn13
()

Почему в emacs перестает работать русский язык?

Только я привык к нему, как снова опять :)

Конфиг на github

Последний раз это было так: сидел работал в org-mode, пошел на обед, прихожу - а оно при русской раскладке печатает английскими.

До этого замечал спонтанность в этой проблеме, но сегодня уже раза 2 или 3 случилось - решил спросить у народа.

Версия Emacs:

GNU Emacs 26.1 (build 1, x86_64-w64-mingw32) of 2018-05-30

ЗЫ. Да, под виндой. Но это, возможно, emacs-о-проблемы, потому что на голом конфиге я не замечал такого (хотя работал мало с голым конфигом).

 ,

bvn13
()

Вставлять названия тем вместо внутренних ссылок в сообщениях

Вместо Исходники движка писать в сообщении название: исходники движка

 ,

bvn13
()

Какую платежную систему выбрать?

Кто-нибудь прикручивал PayPal вообще? Сложно там? Проект на Java, Spring. Вроде бы у них есть SDK. Но я не крутил еще. И опять же, не знаю, запилить ли отдельным микросервисом или в монолит втащить еще и этот SDK.

 , , ,

bvn13
()

Ошибка авторизации через Emacs:EWW

При попытке авторизации - это:

HTTP Status 405 - Request method 'POST' not supported

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

type Status report

message Request method 'POST' not supported

description The specified HTTP method is not allowed for the requested resource.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Apache Tomcat/7.0.76

как быть?

 ,

bvn13
()

Добавляю тег proxypy

 

bvn13
()

BitBucket заблочен РКН

Что, еще не было новости? Никто не пользуется ведром что ли?

https://i.imgur.com/Mmb04GE.png

https://isitblockedinrussia.com/?host=bitbucket.org

Так-то!

 , ,

bvn13
()

Смена симки для интернета с помощью Tasker

Есть телефон Xiaomi Mi 5. Требуется по внешнему событию сменить сим-карту для интернета.

Я установил Tasker, AutoTools, выдал права на изменение системных переменных, воспользовался инструкцией, и нашел нужный мне параметр: multi_sim_data_call. Именно он меняется с 1 на 3 при переключении сим из настроек.

Но вот незадача: если настроить AutoTools на смену значения этой системной переменной и протестировать задачу Tasker-а (контроль делаю выводом системного уведомления со значением этой переменной), то она вроде как установилась, но телефон не понял, что симка переключена.

Поэтому вопрос: как его заставить принять новое значение этой системной переменной и среагировать сменой симки для интернета?

Ну или подскажите, как автоматизировать сей процесс?

UPD: нашел протухший тред на реддите, где также безрезультатно пытались сменить симку https://www.reddit.com/r/tasker/comments/5g39ff/dual_sim_enabledisable_sim_ca...

 , internet access, sim card, ,

bvn13
()

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