Тег ‘запретите им’

Еще раз про MATLAB

Сим постановляю:

  • Считать MATLAB Coder кривым куском говна;
  • Сайт techbriefs.com приравнять к рекламным листовкам, напечатанным на мягкой бумаге;
  • Его читателей считать говноедами.

А теперь подробнее – несложная функция в два десятка строк на MATLAB (содержащая в основном операции с матрицами – несколько вычислений нормы и умножений) с помощью этого прекрасного инструмента превращается в четыре (!) полуработающих функции на C, общей длиной – что-то около 3000 (!) строк кода. Ни одна из функций не работает полностью правильно, на всех возможных вариантах входных данных. Написанная вручную функция, делающая то же самое – всего 80 строк (в SLOC и того меньше, комментарии мне сейчас считать лень). Как это соотносится с декларируемыми в статейке “benefits”:

no need to schedule time for hand-coding GN&C algorithms (60,000+ SLOC were autocoded by the Critical Design Review), and a detailed requirements review was replaced by a review of MBD artifacts that had proven functionality

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

Симулятор ковида, или зачем нам нужны программисты

Листал тут твиттер и наткнулся на твит @ID_AA_Carmack, где тот пишет о том, как помогал привести в божеский вид симулятор распространения вирусных заболеваний под авторством Имперского Колледжа Лондона. Симулятор можно найти на гитхабе:

https://github.com/mrc-ide/covid-sim

Есть пара мыслей о полезности программистов во время массовых эпидемий. Во-первых: симулятор написан на банальном и тупом Си. Никаких модных концепций вроде объектно-ориентированного или функционального программирования, никаких этих ваших хаскеллей с монадами и прочей такой хероты. Просто банальный “процедурный” код, местами – в стиле книжки Numerical Recipes или, прости господи, в неподражаемом духе “you can write Fortran in any language“. Тупо – но просто и понятно:

Before the GitHub team started working on the code it was a single 15k line C file that had been worked on for a decade, and some of the functions looked like they were machine translated from Fortran. There are some tropes about academic code that have grains of truth, but it turned out that it fared a lot better going through the gauntlet of code analysis tools I hit it with than a lot of more modern code. There is something to be said for straightforward C code. Bugs were found and fixed, but generally in paths that weren’t enabled or hit. Similarly, the performance scaling using OpenMP was already pretty good, and this was not the place for one of my dramatic system refactorings. Mostly, I was just a code janitor for a few weeks, but I was happy to be able to help a little.

https://mobile.twitter.com/ID_AA_Carmack/status/1254872369556074496

Во-вторых: как вы думаете, сколько ссылок на гитхаб-репозиторий с этой моделью нашлось на самом айтишном и професси-анальном ресурсе Рунета (нет, не на ebanoe.it)? На том, где уже который месяц темы про ковид не вылезают из самых обсуждаемых, и набирают многие сотни и даже тысячи комментариев?

Угадали? Правильно – ноль!

Как мне кажется, в скором времени надо будет отлавливать всяких там фронтендеров, бекендеров, сеньоров с трехлетним стажем, дата-саентистов и прочих специалистов по бигдате и строго спрашивать – “А что ты сделал для борьбы с ковидом?” За ответы вроде “высрал сто комментариев на хабре”, “напечатал на 3D-принтере клапан для ИВЛ” и тому подобные – выводить в чистое поле к стенке отправлять санитаром в чумной барак.

Евро

Забавно, как ранние постсоветские люди обожали приставкой “евро” обозначать что-то новое и им незнакомое – евроремонт, евровилку с евророзеткой или евровинт. В этой самое Европе пользуются тремя-четырьмя несовместимыми типами розеток (и Schuko – далеко не единственный), Europlug выглядит совершенно колхозански (и втыкается в самые совдеповские розетки), евровинт – это совершенно обычная мебельная фурнитура, а уж об определении евроремонта можно только догадываться.

Все еще про ковид

Владимир Табак в фейсбуке пишет:

В начале марта я был назначен одним из руководителей ицк – информационного центра по борьбе с короновирусом. Мне звонили многие друзья и знакомые, чтобы узнать какую-то информацию про болезнь, новости про карантин, советовались про меры предосторожности. Хотя сам я их совершенно не соблюдал. Я бы мог сейчас сказать о том, что был настолько поглощён важностью задачи – информировать граждан России обо всем, что касается этой коварной болезни, что не было времени думать о себе – но это было бы откровенным враньём. Я смеялся над теми, кто приходил в масках, лихо брался за ручки дверей, нажимал кнопки лифтов, здоровался за руки, обнимал старых знакомых. Три дня назад я наконец выписался из больницы. Я пролежал там 15 дней – подтверждённый covid 19 и двухсторонняя полисегментарная пневмония.

https://www.facebook.com/tvova/posts/10218459488331106

А потом мы удивляемся, а чего это вдруг информационная кампания по борьбе с коронавирусом “провалена“, с такими-то руководителями.

Про учебники по C++

Прочитал недавно рецензию на учебник Столярова, где тот обозвали “плохой методичкой“. Ну да, я и сам согласен с тем, что оставлять студентов наедине с книгами Столярова нельзя – но при всех недостатках книжка по C++ (полностью вошедшая в четвертый том многотомника) более-менее подходит для того, чтобы понять основные принципы языка (всякие там rule of three, RAII и так далее). И кстати, не могу согласиться с тезисом о том, что автор не “сделал хоть что-нибудь положительно отличающее текст от бесконечного числа вузовских методичек, призванных помочь студенту сдать экзамен автору методички” – особенно когда перед этим в трех пунктах утверждается, что автор – ебанутый фанатик (в хорошем смысле). В конце концов, большая часть софта, которым мы все пользуемся, была сделана как раз ебанутыми.

А если говорить о dark side образования – ознакомился на днях с конспектом курса “С++ для математиков”, который в TU D-stadt читают Dr. Alf Gerisch и Dr. Adrien Semin. Курс представляет собой какую-то смесь из странным образом подобранных элементов C++ и взятых из численных методов примеров.

Из положительного хочется отметить разве что довольно подробную лекцию о IEEE 754 с некоторыми примерами правильных вычислений с плавающей запятой (например, с решением “плохих” квадратных уравнений). А вот отрицательного, к сожалению, гораздо больше. Во-первых – разбираемое в лекциях подмножество C++, как бы это сказать… совершенно недостаточно для нормальной продуктивной работы. Это такой поверхностный обзор в стиле введения в “Язык программирования C++” Страуструпа – вот у нас есть классы, вот как выглядит наследование и полиморфизм (множественное наследование не разбирается), вот есть шаблоны (делаем класс Polynom), вот библиотека STL (в ней есть класс vector).

Во-вторых – вот за такое можно поймать лектора в темной подворотне и отпиздить, желательно ногами по голове (классы все здесь по размеру маленькие, максимум два числа и ссылка на функцию):

int main(void)
{
    // list of two base class pointers
    numInt1D** integrator = new numInt1D*[2];
    // fill with two pointers to derived class objects
    integrator[0] = new numInt1D_rectangleLeft(0.0, 1.0, &f);
    integrator[1] = new numInt1D_trapezoidal(0.0, 1.0, &f);
    // output numerical integral approximations
    std::cout << "Integral approximation using rectangle rule = "
        << integrator[0]->integrate() << std::endl;
    std::cout << "Integral approximation using trapezoidal rule = "
        << integrator[1]->integrate() << std::endl;
    // clean up
    delete integrator[0]; delete integrator[1];
    delete [] integrator;
    return 0;
}

Вообще, не раз наблюдал вот такую ничем не объяснимую любовь к new в C++ у быстро переученных на него джавистов.

Есть, конечно, одно обоснованное возражение - а зачем студентам-математикам учить C++ в каком-то приближенном к реальной жизни объеме, тем более, что для численных методов этого достаточно? Вот возьмем для примера мехмат МГУ - который, в отличие от факультета математики провинциального немецкого ВУЗа, все-таки пытается готовить профессиональных математиков (а пошедшие в программисты выпускники для факультета - третий сорт, после преподавателей этой самой математики). Что входит в "Практикум на ЭВМ" на втором курсе? Отнюдь не только численные методы, но еще и "тонкости" вроде "Десять способов неправильного описания прототипов методов сложения (operator+) и "увеличить на" (operator+=) и единственный правильный способ", да и совершенно "практические" вещи типа библиотеки Qt стороной не обошли. В курсе есть достаточно мест, где можно наступить на стандартные C++-ные грабли и навсегда их запомнить (а нормальное обучение C++ и должно строиться на том, что все эти многочисленные "грабли" надо собрать в процессе обучения самостоятельно и больше их не забывать).

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

PS PDFку с лекциями очень просили не распространять, если будут какие-то вопросы - пишите.

О новом этапе борьбы с ковидлой

Чем дальше, тем больше убеждаюсь, что ответственные за это государственные органы перешли от стадии “запугивание” к стадии “запутывание”:

https://odintsovo.info/news/?id=71963

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

1. Иванов проживает в Москве, и получив в модном приложении одноразовый пропуск с кодом 1504-ABCD-EF01-2345, натыкается в метро на патруль. Старший патруля путает цифру 0 и заглавную латинскую букву O, после чего оформляет протокол на Иванова за нарушение пропускного режима. Как Иванову доказать наличие действующего пропуска при обжаловании штрафа в суде через три месяца?

2. Петров проживает в г. Люберцы по адресу 3-е почтовое отделение, д. 74. У Петрова заканчивается гречка и туалетная бумага и он идет пешком в ближайший магазин, расположенный через дорогу, по адресу г. Москва, ул. маршала Полубоярова, д. 16к1. По дороге Петров встречает а) московский б) подмосковный патруль. Будет ли Петров оштрафован за пересечение границы субъекта Федерации и контрабанду гречневой крупы?

3. Сидоров едет на электричке МЦД из Лобни в Подольск, спасаясь от эпидемии. На станции Беговая в поезд заходит патруль, не ознакомленный с внешним видом подмосковных пропусков. Сидорова снимают с поезда и доставляют в отделение, где выясняется, что документы в порядке. Тем временем срок действия пропуска Сидорова истекает. Будет ли Сидоров оштрафован, нарвавшись на новый патруль уже в Подольске?

4. Живущий в Рязани Харитонов едет на автомобиле из Рязани в Тверь. Маршрут может быть разным:

а) по М5 до Третьего транспортного кольца в Москве, затем по Ленинградскому шоссе;
б) по М5 до МКАДа, затем по Ленинградскому шоссе;
в) по М5 до А107, затем по Ленинградскому шоссе.

Где и как следует Харитонову оформлять пропуск в этих случаях? Должен ли это быть “московский” или “областной” пропуск?

Посмотрел “подмосковное” приложение от короновируса

Вопрос номер 0 – а чем нормально декомпилируется Kotlin (похоже, что приложение на нем)? Стандартные инструменты вроде dex2jar выдают что-то ужасное.

public static final class b<T, R> implements e<T, s<? extends R>> {
  public b(a param1a, String param1String1, String param1String2) {}

  public Object a(Object param1Object) {
    param1Object = param1Object;
    if (param1Object != null) {
      param1Object = r.a(new p.d[] {
            new p.d("scope", "http://esia.gosuslugi.ru/usr_inf?mode=w"),
            new p.d("client_id", "PGU"), new p.d("grant_type", "password"),
            new p.d("state", param1Object.getStateMarker()),
            new p.d("client_secret", param1Object.getSecret()),
            new p.d("timestamp", param1Object.getTime()),
            new p.d("token_type", "Bearer"),
            new p.d("instanceId", this.e.c.d()),
            new p.d("terminal_name", Build.MODEL),
            new p.d("terminal_type", "Android"),
            new p.d("username", this.f),
            new p.d("password", this.g) });
      return this.e.b.a((Map)param1Object);
    }
    i.a("it");
    throw null;
  }
}

Во-первых – приложение действительно требует ввода логина и пароля от “Госуслуг” и где-то там внутри себя логинится на “Госуслуги”. Учитывая, что оно тащит с собой кучку “мониторинговых” штук типа Crashlytics – есть вероятность, что логин и пароль для Госуслуг улетят куда-то в отчете об ошибках. Что мешало сделать нормальный OAuth2 – непонятно.

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

Основная функциональность приложения – вероятно, опросник “китайского образца”, у них было модно делать такие приложения системы “да-да-нет-да-сидите дома”. Пропуска прикрутили, видимо, в экстренном порядке. Собственно, пропуск генерируется по указанным данным, и представляет собой QR-код со ссылкой вида https://www.gosuslugi.ru/checksession/1?id=GUID. При переходе по ссылке показывается страничка, содержащая урезанные данные – мол, Петр Сидорович И. с паспортом номер 46** ******80 едет из точки А в точку Б. Видимо, проверка этих пропусков сотрудниками полиции будет состоят в переходе по ссылке и сличении этих данных с реальностью. Зачем здесь фотографии паспорта и все такое – непонятно. Особой валидации данных, похоже, нет – но еще раз повторю, при выдаче пропусков она и не нужна.

Что неприятно – все действия в приложении необходимо выполнять с включенным интернетом, выключив соединение, нельзя даже остановить таймер, измеряющий время с момента выхода из дома.

И вот еще один момент – похоже, что запустили веб-версию этого безобразия на “Госуслугах”:

https://www.gosuslugi.ru/395224/1

Сервис, разумеется, безбожно лежит, но ни фотографий паспорта, ничего сверх уже указанного на “Госуслугах” не требует.

UPD Получил через веб-версию разрешение “вынести мусор” – то же самое, QR-код со ссылкой. Главное достоинство по сравнению с мобильным приложением – информация о выданных пропусках сохраняется в личном кабинете Госуслуг, это может пригодиться при каких-либо разборках из-за неправильно выписанных штрафов.

Следующий логичный шаг столичных властей

Жду, когда между Северным и Южным Бутово построят демилитаризованную зону (с привлечением корейских специалистов), а между Западным и Восточным Бирюлево – стену (по немецкому проекту).

Боженька, жги, здесь уже ничего не исправить

Чуваки запускают маленькую и простую программу почти без всяких внешних зависимостей (OpenSSL разве что нужен) с помощью docker:

https://fossil-scm.org/forum/forumpost/5f106b752f

При этом (проверено) fossil работает на любой более-менее разумной платформе – от настольного Windows до shared-хостинга с Linux, легко собирается из исходников в практически любом unix-подобном окружении, и зачем при этом паковать его в docker – решительно непонятно.

А вот еще про IT-”журналистику”

Вот обнаружил очередной беспроигрышный вариант, достаточный для того, чтобы называться “IT-журналистом” (то есть ходить по всяким презентациям, фкусна жрать и многа пить). Совершенно случайно наткнулся на один лажовый сайтик с “обзорами” всякого железа – а точнее, на вот это:

ds420j-transformer

Подпись к картинке гласит: “В NAS установлен контроллер Gigabit LAN от американской компании bothhandusa под названием 24HSS1041A-2″. На самом деле никакой это не “контроллер Gigabit LAN”, а банальный трансформатор – впрочем, от IT-”журналиста” уже давно не требуется даже приблизительно представлять, что это за деталька и зачем она нужна. В остальном же содержание стандартно – перепечатываем спецификации с официального сайта, немного разбавляя их своими мудрыми мыслями. Добавляется несколько стандартных фоток – и все, “обзор” готов (в принципе, почти тем же занимается девочка, наполняющая каталог системообразующего ДНС-а – только девочку никто не называет журналистом, обидно даже за нее).

Но нет, здесь пошли еще дальше – в самом деле, зачем держать штат дрочеров на железки? Видите в урле странички странные слова artikel и netzwerk? Оказывается, все без исключения материалы этого сайта – переводы с немецкого, а автор этой “статьи” – вовсе не Дмитрий Чеканов, а Kai Malura:

https://www.hardwareluxx.de/index.php/artikel/hardware/netzwerk/52133-synology-ds420j-im-test-kompaktes-einsteiger-nas-mit-bekannter-optik.html?start=2

(да, все та же лажа там на месте)

Особенно смешно, что там в разделе “О сайте” отметился все тот же Синяков, которому Xiaomi не наливало :) Да-да, теперь именно так выглядит “симбиоз германского качества и отечественного творчества” (то, что в проекте нет ни того, ни другого – никого не волнует).

Ебучее красноглазие

Вот какого хера, простите, я решил сегодня уже вчера вечерком собрать пару малораспространенных, но полезных опенсорсных программ для NAS Synology? И господи, какой же в этом вашем линуксово-опенсорсном мире творится бардак с кросс-компиляцией, когда серьезно советуют не тащить на нормальную рабочую машину всякий кал в виде вендорского SDK, а поставить это в виртуалке. Вообще не понимаю, как с этим можно нормально жить и не ругаться матерно.

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

Обожаю, сука, теоретиков

Вот некоторые люди, не будем показывать пальцем, любят строить свою картину мира (в последнем абзаце) по рекламным листовкам типа таких:

https://www.techbriefs.com/component/content/article/tb/techbriefs/aerospace/28025

Так вот, немного оторвавшись от разгребания нагенерированного MATLAB Coder’ом говна, скажу – все эти заявления про торжество “model-based design” на основе MATLAB – чистая реклама, к реальности имеющая очень опосредованное отношение. Для тех, кто не знает – MATLAB – это такой весьма кривой и уебищный язык программирования в комплекте с не менее кривой и уебищной IDE, имеющий, впрочем, ровно два достоинства:

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

Так вот, что мы имеем в процессе “кодогенерации” из матлаба? Во-первых – генератор местами тупит и требует писать код с “грязными хаками” для учета его особенностей. Во-вторых – нагенерированный код страшен и уебищен с точки зрения человека (нет, пресловутой readability из матлабовской же рекламы там не пахнет). В третьих… Нет, если вам нравится копаться в коде вроде такого (нет, ошибок в нем нет) – я не могу вас винить:

i100500 = b_mxA->size[0] * b_mxA->size[1];
b_mxA->size[0] = b_mxB->size[0];
b_mxA->size[1] = b_mxB->size[1];
emxEnsureCapacity_creal_T(b_mxA, i100500);

Ругаться закончил.

У москвичей будут (или не будут) конфисковывать автомобили

Прочитал тут очередную новость-страшилку с таким вот заголовком – мол, в Мосгордуму внесен законопроект, согласно которому у нарушающих “режим самоизоляции” москвичей будут конфисковывать автомобили и помещать их на штрафстоянки (а это отдельная веселая “услуга” от московской мэрии). Не поленился, нашел текст законопроекта (UPD: уже закона):

https://duma.mos.ru/ru/38/adopted_documents/corebofs002080000n2c54mac69ssgpc

Просто поражаюсь, до каких высот дошла московская законотворческая мысль! Прочитайте хотя бы эту фразу:

В целях пресечения административного правонарушения, предусмотренного частью 4 статьи 3.18.1 настоящего Кодекса, применяется задержание транспортного средства в порядке, установленном частями 4 – 8, 10 – 12 статьи 27.13 Кодекса Российской Федерации об административных правонарушениях.

- а затем откройте статью 27.13 КоАП РФ – в которой есть не только “части 4-8, 10-12″, а еще и закрытый список административных правонарушений, для пресечения которых можно задерживать ТС (пункт 1). Но нет, давайте в связи с распространением ковидлы закроем глаза на те части, которые не нравятся!

death-wagon

Ну и привет собянинской урбанине, как же без этого.

И еще для праздничного настроения

Московские власти решили нас порадовать в ночь на первое апреля, выпустив в Google Play мобильное приложение для проверки, соблюдают ли граждане режим то ли “карантина”, то ли “добровольной самоизоляции”. Краткий конспект основных функций:

  • Приложение получает доступ ко всей информации на телефоне: GPS, камера, местоположение, возможность звонить, просмотр любых данных, доступ к любым настройкам.
  • Приложение передаёт собранную информацию на серверы мэрии в открытом виде без какого-либо шифрования. Это провал.
  • Для распознавания лиц, приложение использует эстонский сервис identix.one — то есть, передаёт фотографии в эстонскую юрисдикцию и на серверы, расположенные в Германии. Обе страны входят в НАТО.
  • Разработкой приложения занимается компания «Гаскар», подрядчик «Инфогорода».
  • В QR-кодах зашифрованы MAC и IMEI (индивидуальные идентификаторы) устройства.
  • На приложение было потрачено 180 млн рублей. Судя по его качеству, украдено было 99% бюджета.

Приложение настолько понравилось пользователям, наставившим единичек, что уже в 10:00 оно было выпилено из гуглплея.

А вообще я считаю, что контролем перемещений окарантиненных граждан должна заниматься Росавиация. У них есть большой опыт разрешения полетов в “уведомительном порядке” – вот пусть Вася, решивший посетить ближайшую “Пятерочку”, и уведомляет примерно по той же форме, что и “пользователь воздушного пространства категории G”. Разумеется, посещение пятерочки без получения соответствующей информации (о воздушной обстановке, аэронавигационной и метеорологической) от органа полетно-информационного обслуживания должно быть строжайше запрещено.

Обожаю медузоньку

20 марта этого года, в России 253 заболевших COVID-19, принимаются первые санитарно-эпидемиологические меры по ограничению распространения заболевания. На “Медузе” выходит интервью правозащитника из “Агоры” Леонида Соловьева, где тот рассказывает, что все это незаконно (на самом деле нет, все эти меры были довольно прилично “подкреплены” юридически):

https://meduza.io/feature/2020/03/20/zakona-po-kotoromu-vam-nelzya-vyhodit-iz-doma-net

30 марта, число заболевших переваливает за 1500, в Москве и Московской области принимаются довольно бестолковые и путанные указы о “самоизоляции”, говорящие головы из телевизора вертятся ужом на скороводке, пытаясь не произнести слов “карантин” или “чрезвычайная ситуация”, а все та же “Медуза” разъясняет: “похоже, это правильно”:

https://meduza.io/feature/2020/03/30/v-moskve-vveli-zhestkie-karantinnye-mery-pohozhe-eto-pravilno-matematicheskaya-model-pokazyvaet-chto-inache-mogli-by-pogibnut-bolshe-100-tysyach-chelovek

КМПВ, юристов из “Агоры” будем отправлять в Коммунарку (в рамках действующего законодательства).

Про мебель

Кстати, выбирал тут себе для home office хороший стол. Да-да, не смейтесь – несмотря на то, что человечество придумало письменность 5000 лет назад – и видимо, примерно в те же времена был придуман и банальный письменный стол, в начале XXI века купить в Москве приличную мебель как-то… проблематично. Собственно, почти весь выбор в московских магазинах можно отнести к одной из четырех категорий:

- офисное убожество (тут же примерно и Икея) – предлагается собрать рабочее место своей мечты из нескольких модулей типа угловых и не очень столов, тумбочек и полочек; цвет ДСП практически безальтернативно “орех светлый”. Выглядит все довольно убого – видимо, для контраста со следующей категорией –

- “дорого-багато” – может быть, было бы и ничего (во всяком случае, полет фантазии в компоновке ограничен довольно удачными в целом “классическими” вариантами), но как-то мебель в стиле всех Людовиков одновременно мне не особо нравится, да и цены кусаются;

- “для детской” – удивительно, но что-то похожее на обычный, известный человечеству тысячи лет письменный стол можно найти разве что в этой категории; недостатки – либо какие-то сомнительные цветовые решения (если от офисной мебели просто тянет блевать, то тут возможны эпилептические припадки), либо “детские” размеры;

- “компьютерный стол” – если дизайнеру становится скучно работать над предыдущими категориями – то из его сока мозга рождается страшное чудовище с многочисленными бесполезными полочками, рассчитанное на скрюченного безногого инвалида. Честное слово – я не могу представить, как можно расположиться за отдельными особо выдающимися конструкциями. Впрочем, довольно впечатляющая подборка принадлежит перу интернет-пиздобола от мебелестроения товарища Сергелина:

https://web.archive.org/web/20110224155211/http://www.sergelin.ru/critics/007.asp

При этом стоит зайти на сайт любого американского магазина – и в категории “Computer desk” мы наблюдаем вполне себе классические письменные столы, “компьютерность” которых в лучшем случае выражается в дырке для проводов и встроенной в стол USB-зарядке:

https://www.wayfair.com/furniture/sb0/computer-desks-c1774639.html

Сука, когда же сдохнут все российские распиловщики ДСП, на полном серьезе предлагающие покупателю за его же собственные деньги инопланетный пиздец?

Хоть ссы в глаза

“Точка” (подразделение банка “Открытие” для работы со всякими там ИПшниками) письмо прислала, а в нем написано:

tochka

Вот хоть бы постеснялись писать про “100% дочку ЦБ”, честное слово! Для тех, кто не понял – “Открытие” было одним из крупнейших банков, попавших под санацию ЦБ, называть это “государственным участием” может лишь совершенно бессовестный пиарщик.

UPD Кстати: https://www.interfax.ru/business/666863

Если у вас есть недруги

Зайдите на страничку

http://covid.mos.ru

…и вы уже знаете, что делать!

Никогда, даже в 1937 году нельзя было так легко отправить кого попало в Коммунарку.

Отдельно предлагается оценить соответствие этого поделия нормам 152-ФЗ.

Рождение новояза

Не могу не поделиться замечательной интерактивной публикацией на сайте Washington Post:

https://www.washingtonpost.com/graphics/2020/world/corona-simulator/

Замечательна она, конечно, не джаваскриптовым симулятором с бегающими туда-сюда точками, а совершенно шикарной подменой понятий – мол, “карантин” – это плохо и тоталитарно, как в Китае, а в свободных и демократических странах следует пользоваться “social distancing“. Впрочем, под “social distancing” понимаются совершенно обычные противоэпидемические меры, да и пресловутый карантин в Ухане тоже включает в себя элементы этого самого “социального дистанцирования”.

Вообще, конечно, представления американцев о том, что такое “тоталитаризм”, иногда поражают.

Тренинг по решению проблем

Ознакомился с некими советами по решению проблем, разработанными лучшими психологами. Например – если вы столкнулись с недостатком креативности – соберите ассоциации и сделайте решение из них. Попробовал применить их к своим задачам и осознал всю мощь психологического подхода.

IMG_20200218_195126_238

Например, диаграмма направленности антенны ассоциируется у меня с хуем. Если положить этот хуй на любую проблему – то и решать ее не придется!

Ничего не скажешь – работает психологический подход, прекрасно работает!