@0xd34df00d
0xd34df00d
10 Dec 04:41
0xd34df00d

Наткнулся на ещё один пример говёности gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80947 . В частности, потратил полчаса на попытку выяснить, что за хрень

вылезает в ответ на код

template<typename Err = Util::Void>
auto HandleReply (QNetworkReply *reply, QObject *context)
{
    using Result_t = Util::Either<Err, QByteArray>;
    QFutureInterface<Result_t> promise;
    promise.reportStarted ();

    QObject::connect (reply,
            &QNetworkReply::finished,
            context,
            [promise, reply] () mutable
            {
                reply->deleteLater ();
                Util::ReportFutureResult (promise, Result_t::Right (reply->readAll ()));
            });
    QObject::connect (reply,
            Util::Overload<QNetworkReply::NetworkError> (&QNetworkReply::error),
            context,
            [promise, reply] () mutable
            {
                reply->deleteLater ();
                auto report = [&] (const Err& val) { Util::ReportFutureResult (promise, Result_t::Left (val)); };
                if constexpr (std::is_same_v<Err, QString>)
                    report (reply->errorString ());
                else if constexpr (std::is_same_v<Err, Util::Void>)
                    report ({});
                else
                    static_assert (std::is_same_v<Err, struct Dummy>, "Unsupported error type");
            });

    return promise.future ();
}

rayslava приди gcc почини

0xd34df00d
10 Dec 00:54
0xd34df00d

В 2017 году живём., теоркат — прошлый век уже, а identity type metafunction в стандартной либке нет :(

0xd34df00d
10 Dec 00:51
0xd34df00d

Нельзя передать variable template аргументом шаблона.

Что-то сегодня день говна прямо.

0xd34df00d
10 Dec 00:34
0xd34df00d

Страница с дефектами C++ подвесила мне личкрафты // и хром.

http://www.open-std.org/JTC...wg-defects.html#2141

0xd34df00d
10 Dec 00:18
0xd34df00d

common_type от двух int&int. Вот так, без ссылки, да. Пруф:

#include <iostream>
#include <type_traits>

template<typename... Args>
void PrintArgs ()
{
    std::cout << __PRETTY_FUNCTION__ << std::endl;
}

int main ()
{
    PrintArgs<std::common_type_t<int&, int&>> ();
}

выдаёт

void PrintArgs() [Args = <int>]

Написать сохраняющий ссылочность и при этом допускающий «немного» разные возвращаемые значения из разных ветвей визитор становится всё сложнее.

0xd34df00d
09 Dec 22:10
0xd34df00d

Если кто еще не видел, вот хороший разбор уязвимости с рутом в эпплоговне: https://objective-see.com/blog/blog_0x24.html . С дизасмом и дебаггером, все как надо. tl;dr: в эппле работают криворукие макаки, а return codes для сообщений об ошибках снова соснули.

Впрочем, нахрена вообще какая-то защита для ОС, предназначенной исключительно для понтов и котиков?

0xd34df00d
09 Dec 21:31
0xd34df00d

Ускорил сборку дебиан-образов в 6 раз (с 30 минут до <5):

eatmydata рулит и педалит.

0xd34df00d
08 Dec 19:46
0xd34df00d

Псевдообратные матрицы для лохов, давайте решать линейную регрессию генетическими алгоритмами!

0xd34df00d, Если тебе интересно, как решил человек без высшего образования
1. Проводим прямые линии через каждые 2 точки
2. Получаем [a; b] для каждой линии
3. Перекрещиваем (mating / скрещивание) между собой комплекты [a; b] как если бы это были агенты в генетическом алгоритме (min; max; обмен аллелями; среднее значение аллелей с несколькими разными коэффициентами)
4. Получаем RMSE для каждого агента
5. Выбираем K лучших
6. Повторяем со второго пункта, если RMSE >= некоторое значение

Но всё равно спасибо

0xd34df00d
08 Dec 10:13
0xd34df00d

0xd34df00d
08 Dec 00:29
0xd34df00d

Стал разминаться на работе, поднимаясь со своего 18-го этажа на 22-й по лестнице, затем спускаясь с него на 17-й, наворачивая круги на каждом этаже с умным еблом, затем возвращаясь на свой 18-й. Занимает минут 7, дает 1100 шагов за раз, не в падлу повторять раз в полтора-два часа (а можно и еще чаще). Дает заряд бодрости и помогает от замерзших ладошек. Збс, короче.

0xd34df00d
07 Dec 09:50
0xd34df00d

За кого будет TWT? С одной стороны его любимые порноактрисы, с другой --- его любимые пидоры.

Сраные SJW затравили August Ames за отказ сниматься в сцене с пидором. В итоге она совершила роскомнадзор. Good night, sweet princess :(
https://www.thesun.co.uk/ne...er-husband-confirms/

Ещё один повод ненавидеть сраных сжвшников.

0xd34df00d
07 Dec 01:10
0xd34df00d

Сделал do-нотацию в плюсах через корутины: в самом низу https://godbolt.org/g/6XMDit

Все бы хорошо, но есть одна проблема: асм ужасен. Это все потому, что, похоже, значение из промиса копируется в кошках реализации, поэтому у меня нет выхода, кроме как создавать настоящее значение на хипе и передавать туда-сюда шаред_поинтер на него, что напрочь убивает все возможности для оптимизации.

А еще на самом деле это нечестная do-нотация, подходящая только для эффектов с early return-семантикой, либо что-нибудь типа STM. Как туда тот же List впихнуть, например, я сходу не знаю.

0xd34df00d
06 Dec 23:43
0xd34df00d

Понял, что на корутинах можно захуярить монадический парсер на манер attoparsec. Назову его coproparsec.

0xd34df00d
06 Dec 06:59
0xd34df00d

Destiny Potato — югославский д-д-д-джент. Типа. Dual female frontend с хуёвыми текстами. Хуёвыми. Хуёвейшими. Просто пробивающими дно хуёвости. Обычно я дослушиваю альбомы до конца, даже когда от них начинает болеть голова, но это неслушабельно и невоспринимабельно, так что я дропнул на третьем треке.

Жалею, что потратил фрилич-токен. Надо аккуратнее подходить к выбору исполнителей на artist similarity map.

Yugoslavia does not djent.

0xd34df00d
06 Dec 00:22
0xd34df00d

Научился проявлять ДИПЛОМАТИЮ и вместо того, чтобы сказать «хули ты несёшь долбоёбина», ответить хорошо и вежливо, и чтобы чувак сам сел в лужу при этом:

И насрать в оценку комментария, конечно. Американская дипломатия прст.

0xd34df00d
06 Dec 00:18
0xd34df00d

А вот Erra — Augment [2013] хорошо зашло. Это прям как первый их альбом Impulse, тот же стиль вокала, та же композиция, тот же стиль игры. Просто моар песен в таком стиле.

Хорошо, короче, не то, что их Drift [2016], который какой-то попсовый и сопливый, слушать невозможно.

0xd34df00d
05 Dec 23:57
0xd34df00d

Заценил TesseracT — Polaris [2015]. Как будто в ранний тессеракт добавили Porcupine Tree времён этак Lightbulb Sun — Deadwing. Получилось \2.

0xd34df00d
05 Dec 20:49
0xd34df00d

Обнаружил, что у меня на redacted 60 фрилич-токенов. Потратил все за 20 минут.

ТЕПЕРЬ Я БУДУ СКАЧИВАТЬ ВСЮ МУЗЫКУ

0xd34df00d
05 Dec 08:32
0xd34df00d

Монадическая обработка ошибок особенно прекрасна стектрейсами:

0xd34df00d
03 Dec 01:14
0xd34df00d

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

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.