LINUX.ORG.RU

Сообщения bytecode

 

awesome wm tags + IntelliJ IDEA

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

Не так давно перешел с KDE на awesome. Многое нравится, многое подстроил под себя, кое-что пока остается нерешенным. В частности - у меня два тега отведены под development («dev[1]» и «dev[2]»). Есть также правило, которое заставляет idea открываться на dev[1]. Но, мне бы хотелось, чтобы при открытии ещё одного инстанса идеи, она открывалась уже в следующем теге.

Нашел, как можно задавать instance (aka name) при запуске приложения, по которым можно выстраивать правила, но во-первых, в idea в принципе не взлетело, во-вторых это происходит не динамически, а хотелось бы. Ибо.

Вопрос: кто сталкивался/реализовывал такую хотелку, когда каждый следующи инстанс приложения открывается в следующем теге?

Спасибо заранее.

 , , ,

bytecode
()

Металла с оркестром пост

Привет, ЛОР.
Помню, были здесь треды про митол, в т.ч. недавно. Даже по моему запросу были, но, повторюсь.
Посоветуй мне металла с симфоническим оркестром, пожалуйста. Чтобы было as эпично as «No leaf clover» by Metallica was. Dimmu Borgir не предлагать, ибо. все понимают, что не Ъ и шлак. Вот бы My Dying Bride или ещё кто с аркестром выступили. Мечты, мичты...

 ,

bytecode
()

«Тупой» python шаблонизатор

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

Сразу к делу. Есть пара десятков конфигурационных файлов в xml формате. Есть пара «properties» файлов (java-style). Как в темплейтах конфигов, так и в properties-файлах, плейсхолдеры и ключи встречются с разедлителями в виде точек.

Пример конфига:

<?xml version="1.0" encoding="UTF=8" standalone="yes"?>
<common-conf>
    <primary_db>${db.url.primary}</primary_db>
    <some_soap_stuff>
        <swifts>${url.ws.swiftinfo}</swifts>
        <customer_info>${url.ws.customerinfo}</customer_info>
    </some_soap_stuff>
    <!-- and so on -->
</common-conf>

Есть, назовем его, common.properties файл:

db.url.primary=jdbc:oracle:thin@blah:1521/BLAH
url.ws.swiftinfo=http://endless.soap.sheet
url.ws.customerinfo=http://endless.soap.shit

Любой шаблонизатор считает себя достаточно умным, поэтому, когда он видит в placeholder'е точку, он ждет от меня dict или объект.

Ткинте пальцем в тупой шаблонизатор, который будет впиливать значения по ключам as is, или у которого этот режим опционален.

P.S.: Эту простыню ссылок на шаблонизаторы я видел, а данный тред - выбора пост.

P.P.S.: текущая имплементация шаблонов пилилась ещё в бородатые времена и, судя по всему, по той же причине, сначала темплейты преобразуются в ровно такие же, но точки заменяются на underscores, затем шаблоны обрабтываются. Никто также не догадался пропустить шаг и сразу склепать ключи и шаблоны без точек, но с underscore'ами. А у меня тут так, просто любопытство. Наверняка же есть где-то моя хотелка, воплощенная в код.

Заранее благодарен.

 ,

bytecode
()

tiling wm

Доброго времени, ЛОР.
Преамбула: не использовал (на постоянной основе, только пробовал) тайловые wm, хочу найти подходящий.
Подскажите, пожалуйста, в каком тайловом wm можно:

1. Удобно задавать правила размещения окон (тег/размер/положение для каждого приложения)
2. Задать состояние (открытые приложения + п.1), в котором wm будет встречать после логина/ребута.

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

Awesome больше по душе потому, что конфиг представляет собой код (не «ini-файл»), хоть и на весьма ущербном с моей т.з. языке. Впрочем, оно лучше js, с которым кроме Java к сожалению приходится сталкиваться.

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

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

 ,

bytecode
()

debian долго стартует

Решил попробовать Debian, поставил Jessie 8.1. Проблема в том, что от включения машины до появления gdm, и каждый второй shutdown подолгу висят. Старт машины от выбора пункта в grub2 до gdm при этом ~16 секунд, shutdown может занимать до 30 сек. Мой dmesg после старта. Debian в тегах ровно потому, что на арче и генте ни разу не ловил таких проблем. Руки не кривые, но больше заточены писать код, чем ковырять онтоп.

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

 ,

bytecode
()

su - change $SHELL

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

chsh -s `which zsh`
Теперь при любой попытке su под рута выдает:
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]

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

P.S.: Да, я пробовал

su -s /bin/bash
ибо первое, что пришло в голову. Спасибо.

 , , , ,

bytecode
()

plasmoid development

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

Есть пара вопросов, если кто-нибудь с ходу знает ответы. К делу. Ткните в места в документации, по которым можно было бы понять:
1. Как сваять окно настроек для Plasmoid.
2. Можно ли определить место расположения плазмоида при его добавлении (на панель или стол)? Хотелось бы рисовать разные представления в зависимости от.

P.S.: Plasma 4.

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

 , ,

bytecode
()

JUnit + h2m + hibernate или третий лишний

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

@Entity
@Table(name = "sessions")
public class Session {

    @Id
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name = "uuid", strategy = "uuid2")
    @Column(name = "id", unique = true)
    private String id;

    @Column(name = "movie")
    private String movie;

    @Column(name = "time")
    private Date time;

    @OneToMany(mappedBy = "session", fetch = FetchType.LAZY)
    private List<Reservation> reservations;
    
    ...

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Session session = (Session) o;

        if (id != null ? !id.equals(session.id) : session.id != null) return false;
        if (movie != null ? !movie.equals(session.movie) : session.movie != null) return false;
        if (time != null ? !time.equals(session.time) : session.time != null) return false;
        return !(reservations != null ? !reservations.equals(session.reservations) : session.reservations != null);
    }

    @Override
    public int hashCode() {
        int result = id != null ? id.hashCode() : 0;
        result = 31 * result + (movie != null ? movie.hashCode() : 0);
        result = 31 * result + (time != null ? time.hashCode() : 0);
        result = 31 * result + (reservations != null ? reservations.hashCode() : 0);
        return result;
    }
}

Где-то по соседству:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:ticket-app.xml")
@ActiveProfiles("test") 
public class SessionTest {

    private static List<Session> expectedSessions;

    @BeforeClass
    public void setUp() throws ParseException {
        expectedSessions = Arrays.asList(
                new Session("69c48d7f-77e4-46de-b72f-93310c2fdcca", "Movie #1", new Timestamp(new SimpleDateFormat("dd-MM-yyyy").parse("10-06-2015").getTime()))
        );
    }

    @Test
    @Transactional(propagation = Propagation.REQUIRES_NEW)
    public void thatTicketsSelectionWorks() {
        List<Session> sessions = ticketService.listSessions(new Date());
        assertTrue(CollectionUtils.containsAny(sessions, expectedSessions));
    }

    ...
}

new Timestamp(new SimpleDateFormat(«dd-MM-yyyy»).parse(«10-06-2015»).getTime()), Карл! (т.к. хибернейт намекает на Timestamp, а ручками менять сгенерированные идеей equals - последнее дело). Потому что ручками, тащемта.

Суть проблемы: в containsAny коллекции пустые, хотя на строке, в которой я их получаю из h2m - коллекции наполнены, как и ожидается. Вопрос - кто здесь неправ?

 , ,

bytecode
()

Google Chrome native messaging

Доброго времени. Пришлось написать native messaging клиента для google chrome. Как это работает: «браузерная часть экстеншена» кидает асинхронное сообщение, поднимая коннект к нативному приложению, оно стартует и начинает слушать stdio потоки. Точнее, с одного читает, через другой общается в обратную сторону. Возникла проблема - после закрытия браузера, нативное приложение не завершается. Ещё смущает странная магия - в приложении написан бесконечный цикл, слушающий поток, но реально начинает работать только когда в потоке появились данные. Собственно, что хотел спросить - никто не работал с этим велосипедом? Как обработать ситуацию, когда вкладка с моим приложением или браузер закрываются. Беглый поиск по событиям в экстеншенах и общих браузерных не дал ничего, кроме пары тредов на stackoverflow, где народ жалуется, что обработчики событий даже если и вызываются, отработать уже не успевают.
Вопрос: как быть и не приходилось ли кому-нибудь решать такую задачу?

 , , ,

bytecode
()

Angular route

Доброго времени. На JS пишу мало, на Angular писал максимум углубленные хэлоуворлды с год назад. Преамбула: есть RESTful сервис, который выдает содержимое директорий на сферической машине в вакууме. Хотелось бы, находясь на одной странице (index.html), нажимая по наименованиям папок, в URL видеть выстраивание пути в соответствии с открытой на текущий момент папкой, но чтобы при этом по факту была открыта всё та же index.html, на которой бы js дергал REST интерфейс, соответствующий URL'у в адресной строке.

Вопрос:

is_that_possible().success(function(answer) {answer.positive && how()})

 

bytecode
()

ncmpcpp. Single mode: off

Доброго времени суток. Давно не пользовался ncmpcpp и mpd в целом, решил вернуться. Наткнулся на странное поведение: ни один мод не выставлен, single соответственно тоже в off. Если запустить воспроизведение трека из плейлиста, после его окончания ожидаемо запускается воспроизведение следующего. Но, если открыть media library (3 окно), то после воспроизведения трека ничего не происходит. Следующий по списку трек из открытой директории не запускается. Вопрос: ЧЯДНТ? Помню, вроде работало когда-то.

>ncmpcpp -v
ncmpcpp 0.6.3

optional screens compiled-in:
 - tag editor
 - tiny tag editor
 - artist info
 - outputs
 - visualizer
 - clock

encoding detection: enabled
built with support for: curl fftw ncurses taglib unicode

 , , ,

bytecode
()

Арч не торт? Руки?

Из около 5 лет опыта использования линукса между работой, т.е. дома, около 3х лет в совокупности использовал арч. Дома, кроме рабочего ноутбука (aka основной машины) есть стационарный PC, на который был водружен Gnome Shell. Никогда его (Gnome Shell) не любил, стоял просто так - «дал шанс». Неделю назад он начал фейлиться на логине, даже логи читать не стал, перешел на openbox. Сейчас решил попробовать Plasma 5 со свежими kde-applications. Два раза после выхода из сессии мне SDDM не дал залогиниться обратно. Вместо этого месиво из артефактов и (sic!) после попытки перехода в tty для рестарта оного, рач не дал мне туда перейти. Буквально. Мерцающий курсор, никакого намека на логин. Карма? Руки? Арч? Или я зря паникую, радея за какчество арча? Кеды 5 упали - не мудрено, а оплошность с gnome - временный фейл?

Сказать-то што хотел... Никто регресса в качестве не замечал? Обидно слегка. Обратно на gentoo? В квартире до сих пор батареи не отключили, да и собираться долго. А где ещё теперь найти вменяемый rr?

 

bytecode
()

Актуальность документации Gentoo

Доброго времени.

Планирую мигрировать с арча на генту. Опыт использования был, но очень давний, примерно 2 года назад. Где-то мельком видел на ЛОРе несколько топиков о том, к примеру, что меняется структура основных конфигов (make.conf в частности?). Возможно, были и другие изменения.

Вопрос: насколько актуальна документация (handbook) в свете последних изменений в дистрибутиве? Интересуют в частности systemd и UEFI.

Заранее благодарен генту-господам за ответ.

upd: Забыл задать главный вопрос. Когда сидел на генту, был выверенный десятками (по нубости) пересборок ядра конфиг. И то был стационарный PC, всё было просто и замечательно. Теперь собираюсь ставить на лэптоп и приоритеты с кразноглазия сместились к разработке. Вопрос: велика ли вероятность, что если я соберу ядро genkernel'ом, у меня перестанет крутиться какой-нибудь кулер или ноутбук взорвется?

 , ,

bytecode
()

DTO: java to C#

Доброго времени.

Коллеги с соседнего проекта хотят странного - у них есть jar с набором POJO, они хотят их сконвертить в описание классов на C#. Нет ни xsd, ни wsdl, это объекты для rest клиента. Может кто-нибудь знает, как можно реализовать? Думал в сторону protobuf и даже ручного разбора метаданных этих классов, но самым простым кажется вариант с декомпиляцией классов из jar, сохранения сорцов и ручной замены нужных конструкций. Но тут, опять таки, с маппингом типов непонятно что делать. Классов, говорят, очень много.

Нет ли у господ идей?

 ,

bytecode
()

Java и ORM. Окей, просто ORM.

Доброго времени. Боли и недоумевания тред.

На проекте на работе (5-й год разрабатываем говн интернет банк для очень большого и известного, но не зеленого банка). Для доступа к БД используем Apache Cayenne. Того же поля ягода, что и MyBatis. Сначала я не понимал концепта, но теперь почти счастлив. Оно умеет в native SQL через шаблонизатор перед исполнением. Няшка. Но черт побери, я хочу поддержку управления транзакциями на тех же человеческих аннотациях, JTA хочу, а такой возможности нет.
Понадобилось написать очередной эмулятор очередной системы, с которой интегрируемся - решил попробовать хибернейт, и обомлел. Оно генерит километровые left join'ы. Перед insert'ом связываю наполняемую сущность через reference с ещё несколькими сущностями, а перед тем, как заперсиститься, он делает N селектов, где N - количество связанных сущностей, чтобы проверить, что связи верны. Судя по логам, селектит таки все поля, что не лениво инициализируются. И слава б-гу у этих сущностей все тяжелые поля LAZY, а если бы нет? Почему просто id не заселектить? Почему не попытаться просто в БД положить, ну пусть уже она ругается. OpenJPA - вовсе обрубок по ощущуениям, после хибернейта. Подозреваю, что TopLink и EclipseLink трогать и вовсе смысла нет. JDBC? Слишком низкий уровень, динамически запросы не повыстраивать, а очень хотелось бы. Ну не строки же конкатенировать, да ещё билдеры под это писать. JdbcTemplate спринговый таки манит удобным управлением транзакциями, но таки jdbc остается jdbc, никакой динамики в селектах. Вот, разве что, ещё на JOOQ стоит посмотреть (оно ещё шевелится?).

Хочу поинтересоваться у местных яверов - какие ORM используете вы (на работе/в собственных проектах)? Не используете ORM? Почему?

// P.S.: Уютненький, вот, на спринге с JdbcTemplate писан. Выглядит очень лаконично, работает быстро. Но таки будь выборки позабористее, не факт, что был бы jdbc, думается.

Upd
Читал в мануале на сайте хибернейта про паттерны работы с тразнакциями, но мне интересно вот что. В рамках приложения, как далеко из DAO уходят Entity? На выходе из DAO слоя по вашему мнению должны возвращаться именно Entity? По-моему логично возвращать их, чтобы в неком «сервисном слое» можно было пробрасывать транзакции без лишних аттачей/деттачей. Один сеньор со своим чувством прекрасного склонен считать, что на выходе из DAO сразу стоит конвертить Entity в dto. Получается 100500 конвертеров, что по моему мнению сран ад какой-то. И библиотеки для ремаппинга тут не очень-то спасают, ибо всё-равно ад и тормоза.

 , , ,

bytecode
()

Развертывание LOR на локальном стенде

Доброго времени.

В ознакомительных целях и с желанием попейсать код в свободное время, решил развернуть уютный (заинтересовали в частности последние подвижки в сторону RESTful API). Следуя инструкциям wiki получил тестовую БД и задеплоенное приложение. При старте ругается на недостающие библиотеки, квест с которыми начинается с jar с имплементацией логгера, которого недостает. Возник вопрос, актуальна ли на данный момент документация?

Разворачивал второпях, но упустить детали при сборке и деплое на Tomcat одного war файла в принципе довольно сложно.

P.S.: вопрос оффтоп: почему же до сих пор 1.0-SNAPSHOT, может, почтить тёплый ламповый release плагином?

Перемещено mono из linux-org-ru

 ,

bytecode
()

Где можно запилить бложек?

Доброго времени суток. Давно призадумался поискать площадочку для блога, который будет нафиг никому не нужен кроме, конечно, меня. Юзкейсы простые: TODO, какие-то фрагменты кода, мысли (чтобы не забыть). Бесплатность, либо низкая стоимость категорически приветствуются. WordPress, насколько понимаю, модный нынче под такие цели, не слишком пугает, но если придется запилить свой велосипед, то тоже ок.
P.S.:Давно обитал на жуйке, сейчас все переметнулись на какой-то хипстерский point.me, для моего реквеста оба два не совсем торт.
Ну и основное требование, конечно, чтобы сабж не был about to die. Заранее спасибо и прошу прощения, если ошибся разделом.
P.P.S.: По поводу своего велосипеда: PHP не предлагать. Серьезно. Можно жабу (наверное сложно с хостингами?), либо js only.

 

bytecode
()

Touchpad settings

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

1. Пользуетесь ли вы тачпадом?
2. Если да, настраиваете ли вы его сами или пользуетесь конфигурацией из коробки вашего дистра (читай, иксов)?
3. Если используете кастомные настройки, то в чем настраиваете? Средствами DE или X'ов?

У меня стоит арч с kde. Как только ни пробовал настроить тачпад - никак не получается настолько же приятного отклика, как в предустановленном оффтопе. Пытался обойтись настройками KDE (kcm_touchpad) и X'овыми конфигурациями. Постоянно либо проблемы с силой нажатия (приходится сильно давить на тачпад), либо проблемы с чувствительностью (указатель начинает понимать, что его перемещают, когда уже половину тачпада пальцем пересек), либо глючит драг'н'дроп. Причем, как драг, так и дроп, как бы это необычно ни звучало. Единственные более менее юзабельные настройки стоят из коробки в иксах, но с ними не работает double finger скроллинг. Как только включаю его в иксовом конфиге, так сразу начинаются глюки.

P.S.: готов услышать, что это арчепроблемы, в таком случае, постараюсь с него наконец мигрировать.

Собственно, хотелось бы услышать истории успеха/неуспеха, а также увидеть примеры конфигураций, если вас всё устраивает.

Спасибо заранее.

 ,

bytecode
()

Alt+Shift+Tab

Доброго времени суток. Арч, KDE 4.13.3. Для переключения окон в kKWin работает Alt+Tab. Крайне нехватает переключения «в обратную сторону» по Alt+Shift+Tab. При попытке поменять в шорткатах KWin, Setting Manager сообщает мне буквально следующее: «The key you just pressed is not supported by Qt». Попытка прописать Alt+Shift+Tab в ~/.kde4/share/config/kglobalshortcutsrc также ни к чему не привела. Кто сталкивался/решал проблему - подскажите, как. Спасибо.

 ,

bytecode
()

arch terminal closes

Столкнулся с проблемой - после установки арча при попытке запустить любой эмулятор терминала в иксах, он просто схлопывается без объявления войны. Дано: kde, пользователь в группах wheel, video, audio. Подскажите, в какой лог можно подсмотреть? Вспомнившиеся навскидку логи возможных причин не содержат.

 , ,

bytecode
()

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