LINUX.ORG.RU

Сообщения trex6

 

Персональный сервис для хранения фотографий

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

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

Пожелания:

  • хранить фото в s3,
  • уметь сохранять фото в несколько s3 корзин для резервирования,
  • уметь работать с s3 корзинами не из AWS (ex: DigitalOcean),
  • иметь приятную вебморду (js/ajax/дизайн),
  • иметь приложение для Android (желательно, чтобы его можно было собрать для работы только с персональным сервером).

Экономия ресурсов сервера - плюс, но не критично.

Желательно уметь в шифрование на стороне клиента, но я сомневаюсь что это хотя бы где-то нормально реализовано.


Update#1:

Nextcloud

Пробежался по их сайту. Наткнулся на скромную документацию, которая в итоге посылает на https://portal.nextcloud.com/article/nextcloud-deployment-recommendations-7.html, но прочитать страничку можно только после регистрации.

UPD: Нашел документацию по настройке S3 на https://docs.nextcloud.com/. Идея с зашитим в базу S3 access key/S3 secret key мне не очень нравится.

Буду рад услышать о других альтернативах.

 

trex6
()

Jetbrains всё

https://blog.jetbrains.com/blog/2022/03/11/jetbrains-statement-on-ukraine

Today we are announcing that we will be suspending sales and R&D activities in Russia indefinitely. Sales in Belarus are also suspended indefinitely.

 , ,

trex6
()

Переключится на русскую версию хабра

На хабре все сломали и меня теперь постоянно редиректит на https://habr.com/en/all/

Раньше похожее случалось, но чинилось правкой урла ручками на https://habr.com/ru/all/ или типа того. К сожалению трюк больше не работает :(

Кто-нибудь знает, есть ли какая-то возможность «вернуть все в зад»?

P.S. Аккаунта нет, айпишник из СШП.

 ,

trex6
()

Weston. Список реализованных протоколов.

Пытаюсь разобраться с Wayland/Weston.

Начал с того, что прочитал https://wayland.freedesktop.org/docs/html/

Потом начал смотреть все доступные расширения протокола: стабильные ( https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tree/master/stable ) и нестабильные ( https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tree/master/unstab... ).

А потом неожиданно наткнулся на https://cgit.freedesktop.org/mesa/mesa/tree/src/egl/wayland/wayland-drm/wayla... , которого нет на https://gitlab.freedesktop.org/wayland/wayland-protocols/

Собственно вопросы:

1. Как посмотреть список всех протоколов, реализованных для конкретного wayland-композитора не запуская его? Можно на примере weston https://gitlab.freedesktop.org/wayland/weston

2. Есть ли у wayland-тусовочки какой-то IRQ/Discord/etc. где можно пообщаться с ними online?

**Update#1**

* Найти все глобальные интерфейсы можно через поиск вызова функции `wl_global_create` (спасибо @arrecck). Вопрос про неглобальные интерфейсы остальных протоколов все еще не решен.

* Чатик вроде как тут https://webchat.freenode.net/ > #freedesktop , но в информации о канале со всеми вопросами предлагают обращатся в xdg@lists.freedesktop.org

P.S. Если где-то в терминах плаваю - не стесняйтесь «поправлять» в комментариях. Я в этой теме совсем недавно.

 ,

trex6
()

Universal UI for Rust

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

Примерно полгода назад, когда я начинал изучать Rust, я обнаружил в нем фатальный недостаток - отсутсвие крейта, который бы реализовывал удобный и кроссплатформенный UI. Хотелось поддержки Linux/Windows/MacOS/WASM-web/Android/iOS и удобства использования уровня Qt с их сигналами-слотами.

В ходе парочки бессоных ночей (на самом деле намного больше) появилась некоторое количество крейтов, которые позволяет писать UI вот так:

#[derive(UWidget)]
struct MyWidget {
    #[uwidget]
    layout: LinearLayout,

    #[public_slot] // у структуры будет публичный метод, через который слот будет доступен снаружи
    #[uprocess(on_text_updated)]
    slot_set_text: SlotImpl<String>,

    slotproxy_set_text: SlotProxy<String>,

    #[uprocess(on_button_clicked)]
    slot_button_clicked: SlotImpl<()>,
}

impl MyWidget {
    pub fn new(placeholder: String) -> MyWidget {
        let slotproxy_set_text;
        let slot_button_clicked = SlotImpl::new();

        let mut layout = LinearLayout::new(Orientation::Horizontal);
        layout.push_widget({
           let textedit = TextEdit::new(placeholder);
           slotproxy_set_text = textedit.slot_set_text().proxy();
           textedit
        });

        layout.push_widget({
            let mut button  = Button::new("Push me");
            button.signal_clicked().connect(&slot_button_clicked);
            button
        });

        return MyWidget{
            layout,
            slot_set_text: SlotImpl::new(),
            slotproxy_set_text,
            slot_button_clicked,
        };
    }

    fn on_text_updated(&self, s: String) {
        self.slotproxy_set_text.exec_for(s);
    }

    fn on_button_clicked(&self, _:()) {
        info!("button clicked!");
    }
}



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

pub fn new(placeholder: String) -> MyWidget {
    let layout = layout!(
        orientation: Horizontal,
        widget: text_edit!(
        	placeholder: placeholder,
        	slot_set_text: proxy!(slotproxy_set_text),
        ),
        widget: button!(
        	signal_clicked: connect!(slot_button_clicked),
        ),
    );

    return MyWidget{
        layout,
        slot_set_text: SlotImpl::new(),
        slotproxy_set_text,
        slot_button_clicked,
    };
}


Немного технических подробностей:
* Уже работает для Linux (Qt) и WASM (web-sys).
** В ближайших планах минимальная поддержка Windows/MacOS через Qt и поддержка Android (Java-jni, нативные виджеты).
** В среднесрочных планах поддержка нативных виджетов Win/Mac, поддержка iOS.
* Система сборки на build.rs-скриптах для cargo, которая позволяет из одних и тех же исходников собирать проект для любой платформы. Небольшой (2-5 строк) скрипт придется написать самому, используя готовые функции из библиотеки.
* В самой библиотеке есть еще Property, которые умеют хранить состояние и обладают встроенными сигналами/слотами. И немного других улучшалок.
* Никаких unsafe в интерфейсах для пользователя (внутри - только для работы с native-кодом).
* Никаких RefCell, Rc и прочих Arc в интерфейсах. Внутри их тоже практически нет, к релизу хочу выпилить совсем.


В основном вдохновлялся Qt, но изначально все писалось под web-sys, с последующим прикручиванием Desktop'а.


Тут хотелось бы обсудить 2 вещи (на самом деле 3):
1. Интересна ли вам такая библиотека.
2. Насколько удобным выглядит интерфейс.
3. Насколько Rust ущербен, порекомендуйте уже готовые библиотеки, и вот это вот все.

P.S. Буду держать вас в курсе, так что можете сразу ставить uniui тег в игнор.

 , , , uniui

trex6
()

Еще одна распределенная социальная сеть. Но на этот раз есть шанс, что оно выстрелит.

https://twitter.com/jack/status/1204766078468911106

Джек Дорси (тот, который глава твиттера и один из создателей Square), анонсировал разработку протокола для распределенной социальной сети.

Пообещал, что твиттер будет частью этой сети, так что в отличии от других РСС, у этой есть шанс выстрелить.

Ниже есть его размышления о том, почему это правильно. Тоже интерсно почитать.

Twitter is funding a small independent team of up to five open source architects, engineers, and designers to develop an open and decentralized standard for social media. The goal is for Twitter to ultimately be a client of this standard.

Вольный перевод:

Твиттер профинансирует небольшую независимую группу из пяти архитекторов, инженеров и дизайнеров, которые будут разрабатывать открытый и децентрализованный стандарт для социальных медиа. Выжная цель Twitter - быть клиентом этого протокола.

 , , , ,

trex6
()

Некорректное удаление комментариев

В теме Разработчик С/С++ (Embedded Linux) от 80 000, Новосибирск были некорректно удалены комментарии которые раскрывают подробности условий труда у работодателя.

Просьба починить.

 

trex6
()

Video driver for linux kernel

Подскажите с чего начать разбираться с видеоподсистемой ядра.

Больше интересует ARM, но любая информация будет полезной.

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

Если у кого-то есть знание и силы оказать посильную консультацию, я готов за это залпатить.

 , ,

trex6
()

Переезд в США

Выполняю обещание, данное вот тут
Ищу работу: C++11, структуры данных, алгоритмы, сеть, lock-free, highload. (комментарий)

В этой теме готов ответить на вопросы о том, как программисту линуксоиду переехать жить в США. Сам уже 1.5 года как переехал.

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

Написать большой пост сил так и не хватило, так что задавайте ваши вопросы.

P.S. Ответы в большинстве своем относятся к Калифорнии и конкретно Долине и ее окресностям. В других штатах все может быть немного по другому.

 , ,

trex6
()

Разыскивается ненужный PC в Краснодаре

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

У меня внезапно нарисовался студент из Красодара. Он еще школьник, но у него все очень хорошо с математикой и он готов погружаться в мир программирования.

Со своей стороны я готов его обучать.

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

Мне тоже сложно достаточно быстро помочь им с этим, т.к. я нахожусь более чем за 10000 км от места событий.

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

В связи с этим разыскивается подержанный ноутбук или системник+монитор.

Очень желательно, чтобы там было хотя бы 2Gb оперативной памяти, не совсем мертвый HDD и чтобы Linux (планируется к установке Linux Mint/MATE) мог стартовать и подключаться к WiFi.

Если у кого-то вдруг завалялось старое ненужное железо в радиусе 100км от Краснодара, то вы можете его удачно пристроить и заодно помочь молодому поколению постигать программироваие и Linux.

Всех с наступившими и наступающими новогодними праздниками!

 , ,

trex6
()

С чего начать разработку для ПЛИС

Всем доброго дня.

Решил в отпуске попробовать пописать что-нибудь для ПЛИС.

Хочу советов от знающих-умеющих с чего проще всего было бы начать.

Конкретно прошу посоветовать:
1. Устройство. Крайне желательно, чтобы его можно было приобрести в СПб, т.к. отпуск начинается уже в понедельник и ждать посылку из китая времени нет совсем.
2. Средства разработки. Желательно со свободным исходным кодом и непременно поддерживающие работу под GNU/Linux.

Все спасибо за советы.

 ,

trex6
()

Outsession@California

Всем привет.

Ближайшие 8 недель нахожусь в Калифорнии (Санта Клара и Моунтин Вью).

Если в этих местах есть лоровцы, готовые на outsession, тогда предлагаю встретиться, пообщаться, поднять по бокалу чая/кофе/пива/вина на ваш выбор.

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

Можно писать на почту trexlinuxus@yandex.ru

P.S. Раньше на вики была страничка с готовыми на оутсейшн регистрантами. Ее ведь кто-то сохранил себе? Там был кто-нибудь из Калифорнии?

P.P.S. Если знаете место, в которое интересно было бы сходить в CA - пишите. Про ГуглПлекс, АпплеХедКвартир, ГоденГейт и музец истории Computer Sciens я уже вкурсе :-)

 

trex6
()

Турандот в Александровском парке

15 июля опера «Турандот» прозвучит в Александровском парке перед зданием театра «Мюзик-Холл».
Дирижер - Сергей Стадлер

Начало в 19:00
Вход свободный.

Го?

 ,

trex6
()

Заблокировать запуск браузера

Всем привет.

Есть одна консольная утилитка, написанная на java. После завершения выполнения своей задачи она очень любит открыть в браузере страничку с результатами своей деятельности.

Использование самой этой утилитки я обложил скриптами для автоматизации процесса. Осталость только отучить ее открывать браузер - и все будет ок.

Собственно вопрос к знатокам десктопной джавы и линуксов: как отучить эту утилитку от плохого? Я могу запускать ее в специальном окружении, где /usr/bin/browser указывает на /usr/bin/do_nothing, но пока что не понимаю, что именно ей необходимо подменить.

 codecollaborator,

trex6
()

Метаданные, привязанные к бранчу

Всем привет.

Есть необходимость приязать к каждому бранчу метаданные (строчка в несколько символов).

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

 , ,

trex6
()

Commit в bare-репозиторий во время hooks/update

Добрый день, уважаемые знатоки.

Вот что пишет нам телезритель.

Пытаюсь решить странную проблему: во время hooks/update мне необходимо записать дату в файл и закоммитить эти изменения в ветку, в которую совершается push.

В bare-репозитории сделать git commit не получиться по понятным причинам.

А теперь внимание, вопрос:
Как правильно закоммитить некоторые изменения в ветку, в которую пришел push?

 ,

trex6
()

И ты тоже мечтаешь работать в Газпроме?

С удивлением прочитал сегодня в РБК ( http://top.rbc.ru/business/16/06/2015/557edb339a794772d9274ef0 ), что современные студенты мечтают работать в первую очередь в Газпроме и Роснефти.

И ладно бы это были менедржеры-дармоеды, но нет, Роснефть намного популярнее у технических спецов, а менеджеры готовы смотреть в сторону Гугла и прочих.

Как так то?

Лоровец, неужели и ты мечтаешь о работе в крупной госкорпорации?

 , ,

trex6
()

Наведем порядок в джоб

А давайте уже начнем резать скор в [Job] за глупые требования «предъявить вилку»?

 

trex6
()

Скриншоты для Андроид на билдсервере

Всем привет.

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

В качестве билдсерверя я использую jenkins.
Для удобной работы с эмулятором поставил плагин из стандартных репозиториев.
Сейчас дженкинс умеет собирать сборки для разных магазинов/распространителей. Плагин умеет делать скриншоты для одной связки магазин/размер экрана/язык интерфейса.

Чего хочется: для каждого билда делать скриншоты все возможных комбинаций магазина-разрешения экрана-языка.

Кто-нибудь уже пробовал? Готовы поделится знаниями?

Заодно можно рассказать как кошерно наделать скриншотов для различных состояний приложения. Сейчас пользуюсь monkeyscript с четко вывверенными координатами для кликов по элементам интерфейса. Для новых разрешений все поломается. Хочется сделать «по-уму».

Ну что, боги автоматизации, готовы поделится тайными знаниями?

 , ,

trex6
()

Синхронизация клиентов через сервер

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

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

Задача: синхронизировать начало операции на клиентах с помощью сервера. Точность синхронизации - миллисекунды.

Готов почитать различные исследования в том числе на зарубежной мови.

trex6
()

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