LINUX.ORG.RU

Сообщения former_anonymous

 

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

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

https://imgur.com/a/Mm1foBT

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

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

https://youtu.be/HbxRvZM4MhA

 инфоцыгане

former_anonymous
()

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

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

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

 

former_anonymous
()

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

Привет!

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

 , , , ,

former_anonymous
()

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
()

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

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

Ping bugfixer

 , ,

former_anonymous
()

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

Привет!

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

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

 

former_anonymous
()

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

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

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

 ,

former_anonymous
()

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
()

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

Читаю мысли Егора Бугаенко 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
()

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

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



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

 

former_anonymous
()

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

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

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

 

former_anonymous
()

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

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

 ,

former_anonymous
()

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

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

 ,

former_anonymous
()

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

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

 

former_anonymous
()

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

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

 , ,

former_anonymous
()

Можно ли скомпилировать внутри 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
()

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

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

 , , ,

former_anonymous
()

Свой FindZlib.cmake

Привет. Конфигурирую проект с помощью cmake. Проект зависит от zlib. Он не находит debug версию zlib из-за неправильного имени zlib библиотеки в дефолтных cmake скриптах (он ищет zlibd1, хотя нужно искать zlib1d). Я сделал свою версию FindZLIB.cmake, но не получается указать cmake чтобы он подхватывал мою версию вместо системной. Конечно, я можно было бы запатчить проект и установить там CMAKE_MODULE_PATH, но менять исходники самого проекта нельзя (особенности билд-системы которые я не контролирую), только через командную строку. Идеи? :)

 

former_anonymous
()

Получить историю коммитов в бранче

Есть git ветка, уже смёрженная в master. Как узнать историю коммитов, сделанных в эту ветку? Наподобие svn log --stop-on-copy

 

former_anonymous
()

Закачать файл обратно :)

Есть большое Dropbox хранилище с настроенным smart sync (все файлы по-умолчанию - sparse, скачиваются по запросу). Я скопировал несколько файлов из моего каталога Dropbox на диске на флешку, и эти файлы синхронизировались и заняли реальное место на диске. Мне они более не нужны. Как вернуть им статус несинхронизированных, чтобы они перестали занимать место на диске? Единственное и кривое решение что я вижу - это отключение Dropbox клиента, удаление всего каталога целиком, и включение Dropbox клиента, чтобы он создал все sparse файлы заново. Но это криво и долго (файлов миллионы).

 

former_anonymous
()

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