Untitled

НикнеймzHz (а также zHz00, zHz01 и так далее)
О чём пишубыт, аниме, программирование, компьютерная техника
(полный список тегов -- что теги обозначают)
Интересненькоесписок моих статей с разбивкой по темам
Где меня ещё читать Telegram
Как со мной связатьсяTelegram, e-mail, Jabber: [email protected],
Discord: zHz#1243
Как дать мне денегBitcoin

Что тут можно и нельзя (читать правила полностью):
1. Комментировать можно всем.
2. Читать всё можно всем.
3. Раскрывать чьи-либо личные данные нельзя.
4. Нарушать правила @дневников и законы РФ нельзя.
5. Если в записи есть ссылки "<<" или ">>" -- то эти ссылки ведут на связанные записи в цепочке.
6. Если навести мышку на зелёный текст, будет сюрприз.
URL
Записи с темой: Фейлы (65)
пятница, 31 января 2025
02:44 Дайте мне точку опоры
Сегодня я впервые столкнулся с консервами в стеклянной банке, а точнее с тем, что я не могу открутить крышку. Полагаю, что дальнейшее широко известно многим. Но не мне.

У меня есть различные методы открытия, и они предназначены для маленьких крышек типа как у бутылок. Для огромной крышки с гладким гуртом у меня не было ничего. Или постойте...

Что же там держит крышку? Давайте мы её немного сбоку подденем отвёрткой и посмотрим, не приклеена ли она, хорошо ли держится за стекло боковая поверхность? В крайнем случае, ОТОГНЁМ

Я буквально чуть-чуть поддел крышку сбоку и услышал чпок. После этого крышка открылась вообще без усилий. То есть, крышку держал вакуум.

@темы: Еда, Случай из жизни, Лайфхак, Фейлы

URL
воскресенье, 26 января 2025
03:33 Я п-приготовила слишком много!
Очередная попытка сделать котлеты окончилась фейлом. Кусок говядины был нормальный, а вот кусок свинины за 2 дня в холодильнике стух. Парадокс заключался в том, что говядину папа мне купил на рынке с рук, а свинина была куплена в нормальном Перекрёстке.

Ладно. Свинину я отправил по назначению. А говядины было достаточно, чтобы сделать просто говяжьи котлеты. Проблема была в том, что заправку я уже сделал. И её было в 2 раза больше, чем надо.

Пошёл к сестре, спрашиваю -- вот у меня есть такая смесь. Что с ней делать? А она отвечает -- это же у тебя практически блинное тесто. Пожарь.

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

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

Тогда я придумал вот что. Я тупым столовым ножом разрезал её прямо на сковородке на 4 части. (тупым -- это чтобы не повредить антипригарное покрытие) После этого при помощи двух лопаточек я перевернул четвертинки. Это получилось... приемлемо. Две четвертинки перевернуть удалось, а две развалились при попытке переворота.

Удивительно, но эти недо-лепёшки получились вполне вкусными.

@темы: Еда, Фейлы

URL
вторник, 14 января 2025
02:50 Они ждали шанса
Зимой у меня привычка -- дворники у машины поднимать. Так многие делают, чтобы они не примерзали.

Эта зима тёплая. Поэтому реальной необходимости поднимать дворники нет. Почти всегда плюс, снега нет. Но я всё равно поднимаю.

Но вчера забыл. И сегодня дворники примёрзли!

@темы: Автомобили, Фейлы

URL
воскресенье, 12 января 2025
04:55 GitHub и неучтённые коммиты
Гит позволяет указать при локальных коммитах любой емейл (там отдельно указывается ник автора и его емейл). Этот емейл никак не проверяется. Но если вы хотите, чтобы гитхаб считал коммиты вашими, то должен быть указан емейл из списка подтверждённых емейлов на аккаунте.

Честно говоря, не знаю... если какой-то перец укажет ваш емейл и начнёт орудовать на гитхабе, приплюсуют его к вашей статистике или нет. Может, ему откажут в пушах/PR? Но что я знаю точно, что если вы укажете не тот емейл при локальных коммитах, а потом сделаете пуш, то на главной странице вы ваши коммиты не увидите, они будут видны только в списке коммитов конкретного репозитория.

Моя проблема оказалась в том, что в одном из проектов у меня был указан не просто не тот емейл. У меня был указан вообще не емейл. В качестве емейла стояла просто строка zHz00. Почему -- загадка. Теперь у меня написано на главной, что коммитов я не делал, а в списке репозитория указано, что их делал некий zHz00, но не тот, который я. Добавить такую строку в качестве своего емейла на аккаунте я, конечно, не могу. Задним числом поменять емейлы коммитов, скорее всего, тоже.

Если вы знаете, как исправить эту ситуацию, сообщите, пожалуйста.

@темы: Фейлы, Борьба с техникой

URL
пятница, 27 декабря 2024
04:59 Очумелые ручки
Для склейки пластика можно использовать чистый дихлорэтан (или дихлорметан). Но лучше растворить в нём кусочки такого же пластика. Мне пишут, что причина в том, что ДХЭ очень быстро испаряется и впитывается в пластик. Клей с наполнителем гуще, медленнее испаряется и хуже впитывается. Поэтому -- наполнитель.

Так вот, посуду после использования этого клея отмыть не так-то просто. Прошу вас, не пытайтесь отмыть ЭТО пальцами под водой.

Во-первых, вода почему-то сразу стала плохо уходить из раковины. При этом само содержимое посудины было предварительно слито в совершенно другое место и в раковину пошли только ошмётки на дне. Не могло же такое малое количество вызвать засор? Вроде, не могло. Вода потом стала уходить. Так что я не знаю, было это связано или нет.

Во-вторых, вода не растворяет ДХЭ+пластик, а только размазывает. В том числе, по вашим рукам. Помните, в детстве мазали руки клеем ПВА, чтобы потом плёночку отдирать? Вот у вас все руки будут в такой плёночке. Я даже думал, что у меня кожа слезла, но нет. И плёночка эта, собака такая, гораздо хуже отклеивается, чем ПВА. Джва часа шкрябал.

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

Примечание. Вся посуда была из стекла. То же касается нерастворимых пластиков типа полиэтилена. Посуду из растворимого пластика для таких работ использовать нежелательно.

@темы: Случай из жизни, Лайфхак, Фейлы

URL
понедельник, 23 декабря 2024
04:53 Во входном канале никель, в выходном -- пуговица
(никель -- монета в 5 центов)

Выводил текстовый файл при помощи Си++. Использовал класс ofstream. Неожиданно обнаружил, что файл прерывается досрочно. При этом цикл, который туда пишет, дорабатывает до конца. А в какой момент прерывается вывод?

В общем, у меня был импровизированный ассоциативный массив. Так не делайте, используйте готовый, он в Си++ есть (std::map). Но я сделал свой, с б/дж и ш. Ключ у меня был... целое число. А значение -- текстовая строка (char*, так тоже не делайте, потому что есть std::string). Для поиска по ассоциативному массиву была сделана специальная функция, возвращающая char*.

Проблема была в тех случаях, когда ключ был в массиве не найден. Моя функция возвращала NULL, а точнее, (char*)NULL. Нулевой указатель. Который с удовольствием выводился в файл.

Файловый поток такого издевательства терпеть не мог. Он выставлял сразу биты fail и bad (но не возбуждал исключение!). Я, естественно, не проверял статус выходного потока после каждого вывода. Да и не проверял вообще. А так уж поток устроен, что если ошибку не устранить, весь остальной вывод будет молча с'едаться, что и происходило.

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

@темы: Программирование, Фейлы, Говнокод, Борьба с техникой

URL
суббота, 07 декабря 2024
01:25 Ручка удобнее кнопки
Вместо микроволновки, у которой таймер крутится не в ту сторону, купили новую. У неё только кнопки. И я припух. Пока инструкцию не прочитал, находился в недоумении. Чувствую себя лохом, что не понял, как ей пользоваться. Хотя чья это проблема? Моя? Или микроволновки?

В общем, как выбирать мощность, я нашёл. Но если после этого нажать старт, ничего не происходит. Если нажать "таймер", то мощность сбрасывается. Если сразу нажать старт, то разогрев начинается, но на 100% мощности.

ОКАЗАЛОСЬ.
1. Кнопка "таймер" запускает таймер, который просто пикает после того, как время вышло. Он ничего не запускает и не останавливает.
2. Процесс запуска на половинной мощности выглядит так:
а) выбор мощности кнопкой "мощность"
б) нажать "старт"
в) выбрать время нажатием кнопок ВВЕРХ и ВНИЗ
г) нажать "старт" ещё раз

Потому что второе назначение кнопки "старт" -- это "подтвердить".

С кнопочными микроволновками я не работал, только с ручечными. Скажите, это стандартный алгоритм работы для кнопочных?

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

@темы: UX, Фейлы, Борьба с техникой

URL
среда, 06 ноября 2024
05:30 Это не Питон
(но в Питоне тоже можно обосраться похожим образом)

В коде нашёл спящую ошибку. Есть строка типа...

char *str=new char[len];

В эту строку раз за разом копируется разный текст через strcpy

strcpy_s(str,len,src);//src каждый раз разный

Потом эта строка отправляется куда-то на обработку, а после обработки в неё копируется следующая строка. Это происходит не в цикле, а методом китайского кода, т.е. строка за строкой.

Оставим в стороне вопрос о том, почему сразу не отправлять src. Тому есть причина.

Несколько копирований проходит успешно, но во время очередного я получаю access violation. Откуда он там может быть? Я тихо копирую в свою область раз за разом. Может быть, не хватает места?

Но путём отладки я обнаруживаю, что ошибка происходит при копировании в ПЕРВЫЙ байт. А когда это возможно?

Когда пытаешься копировать в const-область или типа того. Но у меня же не константная область? Точнее, не была константная ещё три строчки назад. Хммм...

Поднимаю глаза на предыдущие строки. А там примерно следующее:

if(very_rare_option)
{
str="Very rare string";
}

Много лет редкий флаг не выставлялся, поэтому строчка не выполнялась. Но я выставил этот флаг. В результате произошло присваивание. Но в Си++ строки таким образом не присваиваются. Тип правого выражения это const char *, а тип левого -- char *. Я присвоил константный указатель на строку и успешно с ним поработал. Но при попытке записи я стал записывать не по старому адресу, на который была выделена память, а по адресу &"Very rare string", который теперь содержался в str. А там запрещённая для записи область...

Естественно, пришлось переписать:

strcpy_s(str,len,"Very rare string");

И проблема исчезла.

@темы: Программирование, Фейлы, Говнокод

URL
воскресенье, 03 ноября 2024
04:15 Стелс
Ехал с конюшни по неосвещённой дороге, остановился поспать. Поспал 20 минут, еду дальше.

Понимаю, что что-то не то. Машину впереди вижу, а дорогу не вижу. Передняя машина резко ускорилась, и я понял, что еду почти вслепую. Встречные кое-что освещали, и по их свету я увидел, что я сползаю из полосы. Выровнялся.

Думаю -- похер на встречных, мне надо что-то видеть. Включу дальний свет. Включаю. И... ничего не изменилось. Дальний не включился.

В чём же дело? Когда дальний не включается? Он не включается, если выключен ближний (в жигулях именно так; подозреваю, что во многих других машинах тоже нельзя включить дальний без ближнего).

ОКАЗАЛОСЬ

Что я ехал с габаритными огнями. По совету читателя я перестал спать с заведённым двигателем. А чтобы аккумулятор не сел, я выключил ближний свет, оставил только габаритные огни. Когда поехал, я не включил свет обратно. Поэтому-то и не было ничего видно.

Ближний свет оказался полезнее, чем я думал.

@темы: Автомобили, Фейлы

URL
четверг, 03 октября 2024
02:12 Как я не стал Томом Сойером
Малярные работы -- это жесть. Я ими почти не занимаюсь и стараюсь отдавать на аутсорс. Но иногда приходится.

Машину (почти) подкрасил -- посмотрим, как будет держаться. А вот в квартире...

Малярные работы ужасны тем, что в них множество нюансов, которые надо знать заранее, иначе будет фейл. Если не соблюдать тех. процесс -- тоже будет фейл. А фейл исправлять -- это трата времени и денег. При этом, если ты научился красить, к примеру, деревяшку, то красить железку придётся учиться отдельно. А ещё в интернете везде по разному написано. Одни говорят -- делай так, и никак иначе. А другие, что так делать нельзя, иначе пиздец.

Короче говоря, после замены батарей некоторые стены были раздолбаны. Нам сантехники сосватали мастера, который всё замазал и покрасил. Кроме труб. Трубы он тоже хотел покрасить, но я отказался, потому что опасался, что он сейчас всё забрызгает (валиком-то забрызгать сложнее, а трубы валиком не покрасишь).

Я собирался покрасить трубы самостоятельно. Даже если бы я тоже всё забрызгал, я бы был в ответе только сам. Это приятнее.

Я взял грунтовку, которой он красил стены (и которой, видимо, собирался красить трубы, потому что другой у нас не было) и... сделал это.

А делать это было ни в коем случае нельзя. То есть, нельзя было красить голый металл грунтовкой на водной основе. Ну на водной, ну и что. Вода же высохнет? А металл чистый, новый.

В общем, буквально через 10 минут после покраски на трубах выступили ржавые пятна!

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

@темы: Случай из жизни, Лайфхак, Фейлы

URL
суббота, 10 августа 2024
05:48 Кто самый умный?
Опять про чайник, но смысл другой.

Мама: Включи чайник.
Я: *жму кнопку*

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

Вторая мысль была, что чайник таки окончательно сломался. Стал шевелить провод, розетку, подставку, результата нет.

Мама: А электричество у нас вообще есть?

Включаю верхний свет. Электричества не оказалось.

@темы: Фейлы, Борьба с техникой

URL
понедельник, 22 июля 2024
05:14 Теперь это всё отмывать
Взорвал мясо в микроволновке.

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

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

Но результат один и тот же: мясо размазало тонким слоем по внутренней поверхности микроволновки.

@темы: Еда, Фейлы

URL
пятница, 12 июля 2024
06:17 Ошибка: операция успешно завершена
Многие видели такие сообщения на сайтах или в программах. Видел их и я. А иногда даже делал. Сейчас расскажу, как такое может произойти.

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

Далее, произошла ошибка или нет, определяется не её кодом, а возвращением true или false из определённой функции, в которой ошибка и произошла. Если функция сообщила, что ошибка есть, происходит запрос кода ошибки.

Код ошибки может оказаться нулевым (и показать знаменитое сообщение) по миллиону разных причин. Например, этот код кто-нибудь успеет занулить до того, как он отправится по назначению.

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

В идеальном мире последовательность действий будет такая:
1. Узнаю об ошибке.
2. Сообщаю соседней программе об ошибке.
3. Получаю код ошибки у ошибочной функции.
4. Приходит запрос от соседней программы о коде ошибки.
5. Я отдаю код ошибки.

Опытные программисты уже видят, где тут косяк. Запрос от соседней программы пришёл раньше, чем я узнал о коде. То есть, последовательность оказалась такой:

1. Узнаю об ошибке.
2. Сообщаю соседней программе об ошибке.
3. Приходит запрос от соседней программы о коде ошибки.
4. Я отдаю код ошибки. (нулевой!)
5. Получаю код ошибки у ошибочной функции.

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

@темы: Программирование, Фейлы

URL
вторник, 09 июля 2024
03:36 You can hide but can not run
В какой-то из соседних квартир ремонт. Ровно в 9 утра за окном начинают с размаху кидать строительный мусор. А я бы ещё поспал!

Ну ладно, думаю. У меня комнат много. Сейчас перелягу в другую комнату и там досплю.

Перелёг. Через минуту я узнал, что во второй соседней квартире тоже ремонт.

@темы: Наблюдения, Фейлы

URL
понедельник, 17 июня 2024
03:40 Мария Селеста. Взгляд изнутри
На даче сломалось электричество. Персонально у нас. Надо починить. Вызвали электрика. Электрик назначил время 8 утра.

Окей, встаём в 6, ноги в руки, к 8 часам на даче. Звоню электрику. Он говорит, что к нему неожиданно приехал грузовик разгружаться, и в общем он будет в 08-30.

Что делать? Ложимся досыпать -- папа в одну комнату, я в другую. Блин, я точно знаю, что электрик разбудит. Но тут дело серьёзное, ложусь в обнимку с телефоном.

Поспал, просыпаюсь с удовольствием. Время 9. Думаю -- вот это да, электрик так и не позвонил. В это время я слышу в доме чьи-то шаги. Кто это? Папа бы не стал вставать просто так.

"Хозяева! Есть кто живой?"

Выхожу.

"Здрасьте, а вы кто?"
"Я электрик! Я вам полчаса уже звоню!"

Открываю телефон. 11 пропущенных. Выключенный звук. Вот это называется удачно поспал!

***

В общем, на столбе отгорел контакт в месте разветвления. Электрик его заменил.

А я ему доплатил за косяк с телефоном.

@темы: Случай из жизни, Фейлы

URL
четверг, 13 июня 2024
04:51 ТЗ нечёткое, но виноват сам
Надо было сделать многократное измерение. Сколько максимум раз может пользователь захотеть его сделать? Неизвестно. Сотня точно. Может и больше.

Но как это тестировать? Это пользователь может мерить по своему желанию. Мне запустить замер на много часов или даже несколько дней -- сложнее.

10 итераций проверил. 50 итераций проверил. 100... не помню, проверил или нет.

Пользователь запустил 200. А потом пишет -- а почему у меня количество измерений отрицательным отображается?

Читаю логи. 126 измерений... 127 измерений... -128 измерений...

Это такая классика, что у меня олдскулы свело. Программа, отображающая ход измерений и программа, непосредственно проводящая измерения -- разные вещи. Они обмениваются пакетами. Формат пакетов задаю я сам.

И вот почему-то для общего числа итераций я использовал тип int32_t (4 байта), а для номера текущей итерации -- int8_t (1 байт). При этом в микроконтроллере номер итерации хранится 32-битный. Это он только наружу выходит в урезанном виде.

Конечно же, восьмибитное знаковое число будет "оборачиваться" в минус после 127...

@темы: Программирование, Фейлы, Говнокод, Борьба с техникой

URL
понедельник, 03 июня 2024
06:12 Для сладкого второй желудок
Кассовый чек является документом. А важность этого документа определяется важностью товара.

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

Конечно, при оплате банковской картой чек может быть в банковском приложении, но там будет отображаться только сумма, а не список товаров. Если же ваше банковское приложение получает ещё и список товаров, то откажитесь от приложения и от самого банка. Список покупок банку знать совершенно незачем. Пусть его знает только платформа ОФД. К сожалению, я пока не понял правил, когда формируется электронный чек ОФД, а когда нет.

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

Многие магазины электроники печатают кроме чека ещё и накладную. Это крупногабаритная, осязаемая вещь, которую проебать непросто. Но, например, DNS печатает только чек. А в последнее время даже отказывается ставить печать на гарантийный талон. У вас есть чек!

Чек был, да сплыл. Я перерыл все кучи и осязаемых документов, и продуктовых чеков. Нашёл все чеки кроме нужного.

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

@темы: Лайфхак, Фейлы

URL
суббота, 04 мая 2024
01:58 Таких не берут в космонавты
В общем, по поводу руки -- мне сделали остеосинтез, т.е. поставили пластинку на лучевую кость. Последние дни я "лежал в очереди" на операцию. За это время я повидал и послушал всякое, что я и буду рассказывать.

Лежат в палате конник, мотоциклист и самокатчик. Похоже на начало анекдота, не правда ли?

***

Самую невероятную историю мне рассказали буквально сегодня.

Самокатчик

Возраст около 55. Самокат не электрический, обыкновенный. Да и не его. Он его одолжил то ли у сестры, то ли у дочки. Поехал вниз по склону, чтобы их догнать (те были уже внизу). Развил приличную скорость. А когда он собрался тормозить, у самоката неожиданно отвалился руль.

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

Результат: перелом ключицы.

***

Но это только половина истории. Мужик -- менеджер среднего звена. Он приехал в больницу по ДМС -- и пожалел об этом.

Ему сказали, что сегодня операции не будет. У них есть нужные пластины, но они только для ОМС, а для ДМС надо заказывать отдельно.

Мужик немного прихерел. Не совсем этого он ожидал от платной медицины! Он думал выйти на работу уже в понедельник, но его мечтам осуществиться было не суждено.

Он связался со страховой и это немного помогло. Во-первых, его перевели в платную палату с личной микроволновкой, чайником и электрической кроватью (не путать с электрическим стулом). Во-вторых, доктор лично нашёл ему нормальную косынку для фиксации плеча. А у кого нет своей, ходят просто с бинтом. Ну и про пластину кое-что узнал. Якобы пластины по ДМС гораздо лучше. Но главный недостаток -- задержку операции -- преодолеть так и не удалось, увы.

@темы: Случай из жизни, Фейлы

URL
среда, 24 апреля 2024
00:45 Предусмотрительность
Привёз для установки на прибор деталь на замену. Деталь крепится винтами. Стал думать -- везти винты или нет? У них уже должны быть винты. Но на всякий случай возьму!

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

Удачно я взял с собой винты, да?

Новые оказались слишком длинные.

@темы: Фейлы, Борьба с техникой

URL
суббота, 20 апреля 2024
05:01 Причём тут св. Антоний Падуанский?
Думаю -- почему стиральная машина так громыхает? Пояс из штанов не вытащил? Вытащил. Неужели пуговица может так дребезжать?

Оказалось, я постирал ключи от квартиры.

@темы: Фейлы

URL