LINUX.ORG.RU

Сообщения crowbar

 

autojump

Кто пользуется autojump? Периодически сбрасывается история, подозреваю сабж.

 

crowbar
()

Декораторы в Java для listener'ов

Надоело каждый раз вызывать листенеры в цикле, придумал такую вещь:

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.List;

public class ListenerProxyHolder<T> implements InvocationHandler {
    private final T proxyObject;
    private final List<T> listeners = new ArrayList<T>();

    public ListenerProxyHolder(Class<T> interfaceClass) {
        proxyObject = (T) Proxy.newProxyInstance(interfaceClass.getClassLoader(), new Class[]{interfaceClass}, this);
    }

    public void addListener(T t) {
        listeners.add(t);
    }

    public void removeListener(T t) {
        listeners.remove(t);
    }

    public T getProxy() {
        return proxyObject;
    }

    @Override
    public Object invoke(Object o, Method method, Object[] objects) throws Throwable {
        for (T listener : listeners) {
            method.invoke(listener, objects);
        }
        return null;
    }
}

Используется так:

public class Main {
    private ListenerProxyHolder<Listener> proxyHolder = new ListenerProxyHolder<Listener>(Listener.class);
    public Main() {
    }

    public void addListener(Listener listener) {
        proxyHolder.addListener(listener);
    }

    public void removeListener(Listener listener) {
        proxyHolder.removeListener(listener);
    }

    public void sum(int... args) {
        int sum = 0;
        for (int a : args) {
            sum += a;
            proxyHolder.getProxy().onResultReady(sum);
        }
    }

    public static void main(String[] args) {
	    Main main = new Main();

        main.addListener(new Listener() {
            @Override
            public void onResultReady(int result) {
                System.out.println("Listener 1: " + result);
            }
        });

        main.addListener(new Listener() {
            @Override
            public void onResultReady(int result) {
                System.out.println("Listener 2: " + result);
            }
        });

        main.sum(1, 2, 3);
    }

    private static interface Listener {
        void onResultReady(int result);
    }
}

Таким образом код прохода по всем листенерам находится в одном месте, а не раскидан по местам вызова. Причем вместо цикла, может быть и более сложный код, вроде отправки Runnable'а в EventLoop.

Так вообще принято делать, или java-way — это писать кучу однотипного кода руками?

 

crowbar
()

4.0 confirmed

Следующая версия linux будет 4.0.

Может ли это вызвать какие-то проблемы совместимости в ПО, которое не рассчитано на изменение первой цифры номера ядра?

 , ,

crowbar
()

Толстый троллинг

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

Возникли вопросы:

1. Какая вероятность что они вообще обратят на это внимание.

2. Какие можно поиметь проблемы с законом кроме ночи в КПЗ.

3. Какая вероятность подброса нарконтиков.

4. Как изменятся ответы на предыдущие вопросы, если сделать то же самое в районе оцепления ФСО (ну когда сами знаете кто приезжает).

 

crowbar
()

Мой емаил сломался

Добрый вечер.

Есть ли у модераторов возможность отредактировать мой e-mail, убрав из него символ '+'?

 ,

crowbar
()

Пятничный баттхерт

Это ж надо, я оказывается в своих приложения не могу по нормальному сделать использование общих загружаемых данных (карт). Казалось бы, сохранил все в «/sdcard», но нет в 4.4 эти бараны из гугла выпилили любую возможность писать в /sdcard.

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

 , ,

crowbar
()

Киллер фича firefox'а

1. Целкаем по ссылке правой кнопкой мыши

2. Жмем Ctrl+W

3. Ссылка открывается в новом окне

Это вообще поддается логическому объяснению?

 

crowbar
()

Пароль

Добрый день

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

Иначе разлогин — и всё, прощай аккаунт.

 

crowbar
()

Бухта ожила

Правда мой провайдер об этом не знает, поэтому у меня пока бесконечный «Connecting...»

 ,

crowbar
()

SATA шифрование

А есть кто-нибудь, кто использует встроенное шифрование SSD? Мой Intel 530, как пишут в спецификации, поддерживает шифрование, но никакой документации по этому поводу нет. Я предполагаю это должно работать так:

1. Устанавливаю пароль через hdparm --security-set-pass

2. Пишу initrd-hook, который будет запрашивать пароль при загрузке и разблокирует ssd вызовом hdparm --security-unlock

3. Дальше линукс работает как обычно до следующей перезагрузки.

Вроде все просто, какие могут быть подводные камни (типа неполной поддержки SATA Security в linux)?

Почему не LUKS: потому, что если использовать LUKS, встроенная функция сжатия данных того же SSD идет лесом (а SSD у меня ради скорости работы и жертвовать её я не хочу).

 , ,

crowbar
()

Винда в дуалбуте vs отдельный линукс с виндой в kvm в дуалбуте

дискасс. мне хочется сделать сабж[2], но есть подозрение что это немного упорото.

 , , , ,

crowbar
()

Ресурс вентиляторов видеокарты

Добрый день

Заметил что с драйвером radeon вентиляторы видеокарты вращаются заметно быстрее, чем с драйвером fglrx (или в винде).

Отсюда возник вопрос, как ресурс вентилятора зависит от скорости вращения? Бывает ли вообще такое, что вентиляторы видеокарты отказывают?

UPD: ладно, этот вопрос не так принципиален, fglrx все равно заруливает radeon, больше интересно, возможно ли как-то отключить питание неиспользуемой дискретке?

 , , , ,

crowbar
()

Циклы в systemd

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

В мануале пишут что Requires и Wants не определяют порядок выполнения юнитов, и если не задано Before и After, юниты будут выполнены одновременно.

 

crowbar
()

А че с тифаретником? У меня одного заблокировано?

 ,

crowbar
()

Они пришли за мной

Я думал меня это не коснется. Но сегодня звонит мегафон-бот, и сообщает что у меня задолжность 60 рублей.

В сервис-гиде обнаружилось что деньги сняты за мобильный трафик, 73 рубля за «45 шт». На телефоне мобильный интернет разумеется отключен. Я знаю, что приложения могут сами включать и выключать GPRS, но в «Использовании данных» чисто. Что это может быть?

 , ,

crowbar
()

systemd юнит срабатывает когда не надо

Всем привет

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

[Unit]
Description=Local system resume actions
After=suspend.target

[Service]
Type=simple
ExecStart=/usr/bin/hdparm -B 254 /dev/sdb

[Install]
WantedBy=suspend.target

юнит отрабатывает до засыпания. менять suspend.target на sleep.target пробывал.

 , , ,

crowbar
()

Пять джоинов подряд — это норма?

это однозначный code smell, или зависит от ситуации

 

crowbar
()

Проблемы с suspend to disk

Могут ли проблемы с suspend to disk быть вызваны слишком быстрым включением компьютера?

Я уже сталкивался с тем, что некоторые устройства как бы некоторое время сохраняют состояние после выключения. Например wi-fi отказывается сразу работать после перезагрузки из венды, ему нужно дать «отдохнуть» в выключенном состоянии. Возможно ли подобное с гибернацией?

Под «проблемы» я подразумеваю проблемы с выходом из спячки — черный экран или паники.

Перемещено mono из talks

 , ,

crowbar
()

Рунет всё

Государственная дума приняла во втором и третьем, последнем, чтениях поправки в «антипиратский» закон, которые позволяют решать споры по авторским правам без суда и блокировать сайты-нарушители. Об этом в пятницу, 14 ноября, сообщает «Интерфакс».

http://tvrain.ru/articles/gosduma_okonchatelno_prinjala_uzhestochennyj_antipi...

 

crowbar
()

Меряемся

$ pv /dev/zero > /dev/null
 109GiB 0:00:06 [18,2GiB/s] [                  <=>                                                                                                                                           ]

 , ,

crowbar
()

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