Category: it

Category was added automatically. Read all entries about "it".

юмор

К психозу дня

Столлман, конечно, мудак с большими прибабахами. Но он сделал для бесплатно-GNU-того ПО больше, чем все его критики, вместе взятые. Где бы они были без того же GCC?

Ну да, можно не соглашаться с тем, что он там неосторожно брякнул. Но вот эта культура возмущения, которая пронизает уже просто все стороны современной жизни, задолбала. Кисо, ты обиделось? Ну и х. с тобой. Правильно ny_quant говорит — единственным ответом на cancel culture должна стать fuck-off culture.

Mirrored from Лабораторный Журнал №6

юмор

Аффтопрограммирование

В автомобили уже давно ставят компьютер с бортовой самодиагностикой. До 1996 года единообразия работы с этим компьютером не было, а теперь везде можно с ним поговорить по набору стандартов OBD2. Раньше сканеры, общающиеся с диагностической системой, были дико дорогими, но теперь цена стала более демократичной, и самые простенькие можно купить монет за 20, а то и ещё дешевле. Однако дешёвые сканеры имеют крайне ограниченные возможности, и способны только на самые примитивные действия — просмотр диагностических кодов (далеко не всех), их стирание. Если же тебе нужна диагностика чего-то более сложного, придётся серьёзно раскошелиться. Вот, например, возьмём такую распространённую вещь как диагностика катализатора. Когда у тебя вылазит код диагностики P0420, причины для него могут быть самые разные. Может быть, датчик кислорода подох. А может быть, и катализатор. Ведь как возникает этот код? У тебя стоят два датчика кислорода — один ДО, другой ПОСЛЕ катализатора (в машинах, которые дизайнили пидарасы в плохом смысле слова, их аж четыре — см. Ниссан). Код ошибки генерируется когда показания этих датчиков ОДИНАКОВЫЕ. Что логично — это означает, что катализатор ничего не делает.

Чтобы однозначно понять, надо ли менять катализатор, надо показания этих датчиков представить графически. Какие показания будут у них до того, как катализатор прогреется до рабочих температур. Какие после. Показания датчика ДО катализатора должны меняться, и довольно сильно. Показания датчика ПОСЛЕ катализатора должны оставаться постоянными. Увидев всё это, легко понять, что происходит. Но сканер OBD2, способный строить графики, уже недёшев — от 150 монет и выше.

Что можно сделать, если у тебя руки растут из (надеюсь) относительно правильных мест? Можно купить компьютерный адаптер на чипе ELM327, который подключается через USB и становится в компьютере дополнительным COM-портом. Они недорогие — за 10 монет можно купить. Затем берём любую терминалку, и цепляемся к этому порту, выставив скорости от 9600 до 38400 и 115200 (зависит от конкретного адаптера). И разговариваем с ним как с обыкновенным модемом. Ага. Он даже командой ATZ ресетится 🙂

Вот так, например:

OKL1 это на самом деле OK, выданное модемом на команду ATL1 (включающую добавление CR в ответы). Иначе человеку некомфортно.
AT@1 это запрос “ты кто такой”, типа ATI7 на модемах US Robotics 🙂

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

Судари мои, за что мы любим язык программирования Питон? Я вот раньше его недолюбливал, а потом оценил по достоинству. Язык Питон мы любим за то, что на нём можно решить практически любые прикладные задачи если использовать соответствущие библиотеки; ибо кто-то с такой проблемой уже, скорее всего, сталкивался.

Существует специальная библиотека Python-OBD, в которой вся эта расшифровка шестнадцатиричной бредятины уже написана, тебе остаётся только её взать и нарисовать, что тебе надо. В частности, оно может выдавать значения напряжения, выдаваемого датчиками кислорода. Остаётся сунуть эти значения в список (во что же ещё), после чего скормить его matplotlib.pyplot, и представить графически хоть чорта бритого, причём ровно так, как тебе надо.

Ну, а те, у кого с программированием не очень, могут приобрести коммерческие программы, работающие с адаптерами на ELM327. Их много всяких, и они недорогие — всяко дешевле 150 долларов.

Надо ещё сказать, что тут есть засада. Стандартные OBD2 коды хорошо документированы. Но есть и специальные, проприетарные коды, для каждой марки свои, и производители не спешат их описывать и выкладывать описание в открытый доступ. Надо же как-то заставить юзверей ушастых покупать обслуживание в дилершипах. Но есть недорогие программы, которые поддерживают и эти коды. Так, для БМВ есть Bimmerscan, а для Фордов есть Forscan, причём на него бесплатно дают пробную лицензию на два месяца. Кроме того, Forscan работает и не с Фордами, просто он не поддерживает специальные коды диагностики для автомобилей других производителей.

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

PS: Хех, вот уж не думал, что теги “автомобили” и “программирование” когда-нибудь встретятся.

Mirrored from Лабораторный Журнал №6

юмор

Компьютерное

Проапгрейдил жёсткий диск в компьютере. Был 1 “терабайт”, стало 2. В кавычках потому что производители используют альтернативную математику — 1 терабайт у них это 1000 гигабайт, а не 1024.

Тупо перекинул всё Акронисом, благо с твёрдотела на твёрдотел всё копируется моментально. Лет 10 назад я бы всё переставил нахер с нуля, а щас настолько лениво всё это делать! Это что же, все программы с нуля переустанавливать, все игры, все настройки? Нафиг-нафиг.

А ещё я сделал одну вещь, которую тоже не стал бы делать 10 лет назад. Купил игровой ноутбук MSI. Это раньше я думал (ошибочно), что Компьютеры должны быть Большие и Железные, а теперь я ничего такого предосудительного в ноутбуках не вижу. Ноутбук не сильно выпендрёжный, но в нём стоит Нвидия 2060, ничуть не меньше по мощности, чем 1070 GTX, что стоит в стационарном компе. Игры идут замечательно. Да и всё остальное тоже.

Майкрософт, наконец-то, блин, решил давно существующую проблему: как получить компьютер, который может одновременно играть в игры, и работать с софтом под Линукс, которому нужна CUDA, и чтобы без установки двух ОС в многозагрузочной конфигурации. Я уже давно использую WSL (Windows Subsystem for Linux). Это позволяет постоянно иметь под рукой Линукс, на котором можно разрабатывать софт, не отходя от кассы. Не надо путать WSL с Cygwin — WSL это полноценный линукс, запускающий линуксовые же бинарники, а не перекомпилированный в экзешники линуксовый софт. Ещё в нём удобно обмениваться файлами с линуксовой подсистемой — ибо WSL создаёт скрытую шару \\wsl$, из которой ты имеешь возможность обращаться напрямую к / в линуксовой виртуалке.

Так вот, выяснилось, что начиная с WSL версии 2, ресурсы графического процессора нормально прокидываются к гостевой ОС, так что там можно запускать TensorFlow, Caffe, и прочие интересные вещи без того, чтобы тормозить и всё выполнять на центральном процессоре. Так что впервые, блин, можно и на ёлку залезть и не оцарапаться. Раньше подобные задачи решались установкой Линукса в качестве основной ОС, и водружением на него системы виртуализации Xen, которая запускала машину с Виндоуз, в которой уже можно было запускать игры, ибо Xen умеет пробрасывать GPU до гостевой ОС.

Конечно, есть небольшая потеря производительности и в том, и в другом случае. Но потеря производительности на 10% в играх — намного заметнее, чем потеря производительности на 10% при исполнении TensorFlow. Так что как ни крути, а всё же в этом отношении Виндоуз лучше Линукса.

Mirrored from Лабораторный Журнал №6

юмор

Программисты против тестеров

Очень жизненное аллегорическое видео про разработку софта и дальнейшее тестирование, ржал впокат. Сам когда писал небольшой софт, которым пользовались другие люди, попадал именно в эту ситуацию. Программисту очень сложно предусмотреть все возможные варианты того, как будут использовать его творение. На это, собственно, и есть команда тестеров.

Mirrored from Лабораторный Журнал №6

юмор

Про CentOS

Как я уже писал, CentOS сдох. И хрен бы с ним.

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

В небольших количествах лицензии на RHEL теперь раздаются бесплатно.

Хорошо сделали.

Mirrored from Лабораторный Журнал №6

юмор

Фотогимп

На Линуксе для обработки картинок выбор софта очень небольшой. Наиболее продвинутым является GIMP. Важное замечание: “наиболее продвинутый” не значит “хороший”. Это значит, что он говно, но всё остальное — ещё хуже. Помимо отсутствия искоропки некоторых нужных мне фич (динамические эффекты слоёв), у него ещё дико непродуманный интерфейс. Ну, такое часто получается, когда интерфейс пишут программисты, а не спецы по UI. Программисту кажется, что в интерфейсе всё удобно и логично, но пользоваться этим решительно невозможно. Это вполне ожидаемая вешь, кстати. Когда что-то пишешь “для себя”, это совершенно не значит, что это будет так же хорошо “для других”. Чаще наоборот.

Недавно выкатили продукт под названием PhotoGIMP. Это типа GIMP, но с интерфейсом от Фотошопа. Попробовал, поставил, вдруг кактус стал слаще?? Оказалось, не стал. Это по-прежнему кактус, только теперь не зелёный, а серый. Пользоваться по-прежнему можно только от глубокой безнадёги. “А как дысали, как дысали!”

В английском есть такое меткое выражение — “lipstick on a pig”. Дословно — губная помада на свинье. Это означает, что ты безуспешно пытаешься что-то облагородить, но ограничиваешься чисто внешней частью дела. Свинья с нанесённой губной помадой по-прежнему остаётся свиньёй.

Mirrored from Лабораторный Журнал №6

юмор

CentOS — всё

UPDATE: Я эту запись уже второй день пытаюсь в ЖЖ опубликовать. Извиняюсь за спам. Попробуем ещё разик.

И хер бы с ним. Никогда эту грёбаную Шапку и производные не любил. Если бы не YellowDog, подаривший Шапке yum, установка софта на Шапке до сих пор была бы извращённым сексом с закоулками, потому что rpm не может в автоматическую установку необходимых сопутствующих библиотек.

Уточню. CentOS не совсем “всё”, просто раньше это был, по сути, слегка переделанный RHEL, а теперь это будет называется CentOS Stream, и он будет являться не переделанным RHEL, а его бета-версией. Что автоматически означает, что в производство его ставить нельзя.

Так что с точки зрения сисадминов CentOS — таки “всё”!

Mirrored from Лабораторный Журнал №6

Винда и установленные программы

Вот вы как думали, что всё, что установлено — видно в панели управлении на Windows? Ага, щас. На самом деле установлено там намного больше, только некоторые вещи в панели управления не отображаются. Принципиально.

Получить весь список можно, пройдя руками в реестр:

HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall (для 64-битного софта)
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall (для 32-битного софта, ага, надо по-другому)

Можно, например, в шелле сделать так:

$programs = Get-ChildItem -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall; foreach ($program in $programs) { $program }

Узнаете много нового, я гарантирую.

Надо сказать, что rpm -qa или apt list –installed значительно проще в применении (лично мне). Микрософт, правда, не законченные придурки, поэтому быстренько подсуетились и выкатили winget, с которым можно делать очень похожие фокусы. Я его, правда, толком пока не щупал, неизвестно, как оно показывает установленный софт — даёт полный список или кастрированный, как в панели управления.

А вообще забавно, конечно, наблюдать как Windows семимильными шагами идёт к копированию линуксоподобных вещей. Ещё бы установку обновлений привели бы к простоте apt update && apt upgrade и стало бы совсем хорошо. Новое — хорошо забытое старое!

Mirrored from Лабораторный Журнал №6.

Пупсик

До меня, наконец-то, допёрло, что “пупсик”, английское “puppet”, pupa (энтомологическое, “куколка”) и немецкое Puppe — это одно и то же слово (корень латинский).

А вот испанский почему-то от латыни не заимствовал — там кукла это “муньека”.

Но лучше всего, конечно, идиш. На идише кукла называется простым и понятным словом “лялька” 🙂

Mirrored from Лабораторный Журнал №6.

Говорил я вам…

Рабочее.

Дев №1: нам надо высылать почту из облачного вебсервиса Azure.
Я: не выпендривайтесь и возьмите SendGrid.
Дев №1: это дорого, давайте мы будем посылать через Graph API, там бесплатно
Я: это не будет работать
Дев №1: фигня, будет
Дев №2: да не, точно будет, я тут погуглил, всё будет путём!

Прошла неделя.

Дев №1: бляха-муха, а оказывается, чтобы посылать почту через Graph API надо иметь подписку на MS365
Дев №2: у, блин, это дорого, у нас её нет, и нихера не работает!
Я: А чо я вам сказал ровно неделю назад, блин????!!!
Дев №1: и чо теперь?
Я: возьмите SendGrid и не выпендривайтесь.

Mirrored from Лабораторный Журнал №6.