LINUX.ORG.RU

Сообщения former_anonymous

 
Форум — Linux-hardware

Термопаста высыхает?

Каждые полгода примерно приходится менять термопасту, т.к. начинаются случайные перезагрузки и зависания. Процессор AMD FX-8370, да, не самый холодный. После замены - всё норм. Использовал разные термопасты включая MX-4. Наношу тонким слоем. Что за ерунда получается, она что усыхает за полгода? :D Куда она девается?

Перемещено hobbit из general

 

former_anonymous
()
Форум — Development

Итерация по unordered_set быстрее чем по vector?

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

Запуск кода вываливается на платформе с ошибкой мол алгоритм отработал слишком медленно.

Барабанная дробь - меняем итерацию по массиву на итерацию по unordered_set - алгоритм укладывается во временные рамки. Что за? Есть разумное объяснение? А то все говорят что итерации по массиву быстрее быть не может за счёт кеширования в CPU и предвыборки элементов массива загодя в кеш. Оказывается может.

int func(vector<int>& nums) {
    unordered_set<int> set;

    for (auto n : nums) {
        set.insert(n);
    }

    // Итерация по nums медленнее чем по 'set' !!!
    for (auto n : nums) {
    ...

 ,

former_anonymous
()
Форум — Talks

Программисты копируют 80% кода, всё просто

Сходил тут на очередных инфоцыган - «компанию» IT Overone из Белоруссии. Не надо верить в «СТЕРИОТИПЫ»! Оказывается, программирование - это элементарно, т.к. 80% кода просто копируется. В конце предложили купить курс за 1000$, где cкорее всего какая-то шляпа состоящая из бесплатных курсов.

https://imgur.com/a/Mm1foBT

По сути - предзаписанная лекция, которая выдаётся как трансляция. В чате сидит 300 ботов, которые расхваливают ведущего и компанию. Цель - окучить вас как потенциального покупателя. Но сделана эта работа честно говоря очень некачественно. Вообще. СТЕРИОТИПЫ блин.

Отдельный разговор по «курсам» английского от этой компании. Нанятый актёр (и актёр ли вообще) Эдвард Хомицкий, успешный ИТ предприниматель, владеющий уровнем английского B2 (который выучил просто по песням), и говорящий на уровне «И хаве трэ панкакес», пытается убедить нас что их курсы обучат нас до B1 за 2 месяца. Правда потом он говорит что всё-таки до C1. А в чате пишут что до B2. Наверное они сами ещё не определились 😂 Тут я уже не поленился и даже записал. Думаю вместо КВН пойдёт. Есть небольшое эхо. Мне иногда кажется, что ведущие этих «трансляций» сами угорают от того что несут. Особенно тот чувак с 80% кода.

https://youtu.be/HbxRvZM4MhA

 инфоцыгане

former_anonymous
()
Форум — Linux-org-ru

Переименовать «автор топика» в «автор» на Форуме?

«автор топика» как-то режет ухо. И глаз. И вообще. Предлагаю опрос на переименование.

Перемещено hobbit из polls

 

former_anonymous
()
Форум — Security

С 1.1.1.1 не работает encrypted dns ?

Привет!

Настроил на Android телефоне частный 1.1.1.1 для доступа к ресурсам, которые заблокированы местным провайдером якобы по решению властей. Ожидаю, что эти ресурсы должны открываться, т.к. вроде как Android будет делать зашифрованные DNS запросы и доступ к сайту тоже через HTTPS. Однако, через провайдера по-прежнему не могу зайти на эти ресурсы. Через мобильные данные причём стало можно на их заходить. Вопрос - а как провайдер это делает? Обрубает шифрованные DNS запросы так что Android возвращается к незашифрованным, и тут провайдер уже их рубит то что «запрещено»? 🤔🤔🤔

 , , , ,

former_anonymous
()
Форум — Development

OpenMP ускоряет но маловато

Привет! Я обрабатываю матрицу MxN данных (выделена одним блоком данных через просто malloc), скажем объёмом 5 Гб. Каждая строка может обрабатываться независимо от других, и это похоже отличный кандидат на использование OpenMP:

const int M = ...;
const int N = ...;

int *data = malloc(M * N * 4);

#pragma omp parallel for
for (m = 0; m < M; m++) {
    const int *line = data + N * m * 4;
    consume_line(line, N);
}

С использованием OpenMP вижу ускорение в три раза на 8-ми ядерном CPU. Как-то маловато. От системы не зависит, даже на MSVC результат схож с GCC на Ubuntu.

Вопрос - а что ж 3x так мало? Можно ли ускорить ещё?

 ,

former_anonymous
()
Новости — Мультимедиа

Новый формат изображений быстрее PNG в десятки раз

Новый формат изображений быстрее PNG в десятки раз
Группа Мультимедиа

Доминик Саблевски представил новый и невероятно простой в реализации формат изображений QOI (Quite OK Image). По представленным тестам, при сжатии изображений QOI производительнее PNG в 20–30 раз, а при распаковке — в 3–4 раза.

Доминик признаётся, что не является экспертом в области сжатия изображений. Идея создать новый простой и эффективный формат изображений пришла к нему во времена работы с MPEG-1. Его целью была скорость и простота.

Файлы QOI больше по размеру, чем PNG на 10–50 % в зависимости от картинки, поэтому QOI стоит применять, когда необходима скорость.

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

В данный момент формат проходит обсуждение финальной спецификации с заинтересованными пользователями.

Также доступны реализации на Zig (github.com), Rust, Go (github.com), TypeScript, Python, C# (github.com). Поддержка QOI добавлена в библиотеку SAIL.

Для пользователей Arch Linux в AUR доступен пакет qoi-git.

>>> Замеры скорости и размеров изображений

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

 , , , qoi

former_anonymous
()
Форум — Development

С/С++: вопросы на собеседованиях

Задача понять хорош кандидат для проекта или нет, как мне кажется, супер сложна. Допустим, он позитивный и всё такое. Поговорим исключительно о технической части. У кого есть опыт - поделитесь что вы спрашиваете у middle/senior разработчиков? Только практические задачи? Теория (какая)?

Ping bugfixer

 , ,

former_anonymous
()
Форум — Development

Как явно указать бинарную версию пакета в Debian control?

Привет!

Есть исходники cmake проекта с debian rules, из которых строится несколько deb пакетов. Всё работает отлично. Ну почти :) Один из пакетов - это просто набор файлов (не библиотека, не бинарник и т.п.).

Система сборки видит, что версию для этого пакета взять неоткуда, и берёт версию основного проекта, что меня не устраивает. Можно ли явно указать бинарную версию этого пакета в control файле, или другим способом.

 

former_anonymous
()
Форум — Talks

Маша и Медведь Патчат KDE

Обнаружили интересную пасхалку. На полке у Маши стоит книга «Как пропатчить KDE».

https://vk.com/wall-46453123_193730

 ,

former_anonymous
()
Форум — Development

Binary compatibility в Си

Привет! Допустим, есть библиотека с функцией, которая возвращает объект структуры в стеке. Например

struct Data
{
    int size;
    void *data;
};

struct Data getData();


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

/* VER 1 */
struct Data
{
    int32_t size;
    void *data;

    char reserved[32];
};


/* VER 2 */
struct Data
{
    int32_t size;
    void *data;

    int32_t new_data;
    char reserved[28]; /* -4 */
};


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

Как есть ещё мысли как обеспечить бинарную совместимость?

 ,

former_anonymous
()
Форум — Development

Геттеры и сеттеры - зло. А что дальше?

Читаю мысли Егора Бугаенко https://www.yegor256.com/2016/04/05/printers-instead-of-getters.html о том что геттеры - зло. Что-то похоже высказывал Аллен Голуб: https://www.javaworld.com/article/2073723/why-getter-and-setter-methods-are-e... .

Краткая мысль: объект не должен раздавать свои внутренние данные налево-направо. Поэтому и геттеров не должно быть.

Но вот что не даёт покоя. Как реализовать при этом подходе простейший use-case:

Есть книжный магазин BookStore. Требуется узнать какие в нём есть книги автора по его фамилии.

«Неправильный» и простейший поход, который напишет 9 из 10 разработчиков (язык неважен, хоть со стримами в java, всё одно в коде буду геттеры):

class BookStore
{
    List<Book> searchByAuthor(String author)
    {
        List<Book> found;

        for (int i = 0; i < this.books.length; i++) {
            // EVIL
            if (this.books[i].getAuthor() == author) {
                found.append(this.books[i]);
            }
        }

        return found;
    }
};


Не пойму как реализовать этот use-case следуя парадигме вышеуказанных авторов без геттеров?

 , , , ,

former_anonymous
()
Форум — Development

getaddrinfo(«12») возвращает успех

struct addrinfo *result = NULL;
int error = getaddrinfo("12", NULL, NULL, &result);



Результат - getaddrinfo() возвращает 0 (успех), и непустую структуру result. Почему? Хоста «12» в сети нет.

 

former_anonymous
()
Форум — Development

Уменьшие размера git

Привет. У меня есть git репозиторий без админ доступа. В нём по историческим причинам долгое время наряду с исходным кодом хранились и большие файлы размером 1 Gb. Я избавился от них, перенеся в другое место. Однако, clone репозитория по-прежнему большой, > 1Gb. Какие есть способы уменьшить...

- уже имеющуюся копию репозитория без пере-клонирования
- копию репозитория, которую клонируют с нуля

 

former_anonymous
()
Форум — Development

WebKit для Qt от annulen всё?

Cast annulen. Последний релиз - 1.5 года назад (https://github.com/annulen/webkit/releases).

 ,

former_anonymous
()
Форум — Talks

На udemy чёрная пятница онлайн курсов обучения

Сегодня вообще узнал что такое udemy - это неплохое сборище видео-он-деманд онлайн курсов. Некоторые курсы весьма ничего (хотя есть и лажа), просматривайте программу курса и предварительные уроки! Все курсы до завтрашнего утра по 11$. Расскажите заодно о впечатлениях об этом ресурсе. Какие ещё есть аналоги кроме и так известной Coursera?

 ,

former_anonymous
()
Форум — Admin

lighttpd не даёт зайти в смонтированный каталог

Ubuntu 18.04. Установлен lighttpd и модуль dir-listing включён. Внутри www рута есть два подкаталога - обычный подкаталог с файлами и каталог куда смонтирован Google Drive с помощью google-drive-ocamlfuse. В обычный подкаталог с файлами в веб-браузере я могу зайти без проблем. В каталог же cо смонтированным GDrive браузер не заходит, говорит 403. Права на оба каталог одинаковые - 775, владельцы тоже одинаковые. В чём может быть проблема?

 

former_anonymous
()
Форум — General

Как установить зависимости локального deb пакета

Привет. Есть у меня локальный сторонний deb пакет. Как установить все зависимости, указанные в его control файле, без установки этого deb? control файл сложный и нужен решальщик зависимостей уровня apt. Тупо сделать dpkg --info | sed не получится - зависимости сложные, с >, >>, |, breaks, conflicts и т.д. Если ли стандартный метод это сделать (наподобие mk-build-deps)?

 , ,

former_anonymous
()
Форум — Development

Можно ли скомпилировать внутри chroot

Привет, хорошие мои!

На тру amd64 системе можно сделать i386 chroot, и компилировать i386 программы внутри него без плясок с флагами. Однако обратного сделать нельзя, и тем более нельзя компилировать таким образом arm программы, например. Чтобы увеличить универсальность, хотелось бы завести какую-то функцию или команду в шелле типа:

# host is amd64

$ can_compile_for arm
false
$ can_compile_for amd64
true
$ can_compile_for i386
true


Какие есть мысли как такого добится без запуска компилятора внутри chroot (самый тупой и очевидный способ)?

 , , , ,

former_anonymous
()
Форум — Talks

А легально ли в РФ удалённо работать?

Собственно, программирование для Линукс :) Проект длинный. Заказчик - один, из США, предлагает какой-то свой стандартный договор, ежемесячные оплаты. Как ИП исполнитель не зарегистрирован. Можно ли в РФ так работать и платить налог раз в год как физлицо? Какие опасности? :)

 , , ,

former_anonymous
()

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