zHz00 Untitled

четверг, 31 октября 2024
02:12 Библиотека curses. Краткий обзор
Если линукс-приложение имеет симпатичный интерфейс с кнопочками в текстовом режиме, то обычно считают, что это сделано при помощи curses. Но, как оказывается, пользоваться ей не так-то просто.

Если вы хотите сделать симпатичное переносимое приложение в текстовом режиме, то, возможно, curses не лучший выбор. Да, у вас будет работать и на винде, и на линуксе, и на аналогичных системах. Но какой ценой?

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

Может показаться, что это немало, но у каждого пункта есть "но". Вот примерный список проблем библиотеки:

-- Вывести текст в правый нижний угол экрана непросто (и я не уверен, что вообще возможно)
-- Во всех функциях первый аргумент -- ИГРЕК, а второй -- икс
-- Гарантированно поддерживается только 8 цветов. На многих терминалах поддерживается большее число, но рассчитывать на это нельзя. Далее, каждый терминал видит эти 8 цветов по-своему. Поэтому если вы сделали симпатичное сочетание, то при запуске другой терминальной программы вы рискуете получить нечто вырвиглазное.
-- Атрибуты типа жирный, мигание поддерживаются, но гарантий что они будут отображаться -- нет.
-- Рамочка у псевдо-окон доступна по-умолчанию только одна, одинарная. Для рисования любой другой надо вручную передать 8 символов, которые будут служить границами. Эта рамочка после рисования сразу забывается, поэтому если вы будете выводить сплошной текст, он будет затирать рамку при переносе строки.
-- Поля ввода поддерживаются, но другие контролы типа кнопок, чекбоксов -- нет. Делайте сами.
-- Скролл мышкой гарантированно работает только в одну сторону, через BUTTON4. Скролл в другую сторону генерирует сигнал, который у меня совпал на видне, на линуксе в ssh через putty и в xfce в эмуляторе терминала. Но у этого кода нету именованной константы. Я его подобрал. Это 0x200000. Как вы понимаете, нету гарантий, что это есть на всех реализациях.
-- Проблемы с передачей сочетаний с Alt и с кнопкой Esc. В винде всё работает идеально (что забавно), а в линуксе после эскейпа идёт пауза 1-2 секунды. Видимо, ждёт ввода эскейп-последовательности. Это, кажется, можно победить. Но получить через терминал готовые сочетания типа "M_a" ("ALT_A") невозможно. Вы сначала получите код 27, потом надо ещё раз вызвать getch(). Возможно, при не-удалённой работе линукса на собственном железе этих проблем не будет, пока не проверил.
-- При работе через ssh надо следить, чтобы тип эмулятора терминала с обоих сторон совпадал. Иначе у вас будут неправильно работать клавиши F1...F12. И не только.
-- При работе в графических эмуляторах терминала происходит перехват части нажатий в пользу менюшек. Это можно отключить, но это геморрой.
-- А заставить в линуксе правильно обрабатывать Home, End пока вообще не вышло. Приходит по 3-4 нажатия. Буду разбираться.
-- Самое неприятное, что разницу в работе вы обнаруживаете только в процессе работы. Я работал с библиотекой через питон. И вот вы запускаете один и тот же исходник на одной и той же системе с одной и той же версией пакета curses -- и получаете разный результат в разных терминалах (и ещё отдельный результат через ssh).
-- Команда изменения размера терминала работает через раз. В винде она отрабатывает правильно (что забавно). В линуксе изменяется виртуальный размер терминала, но реальный -- не всегда. При этом терминальная программа сама решает, какие строчки выводить. Например, она понимает, что такое статусная строка, и будет выводить последнюю строку экрана в приоритете. Но часть другого может не понять. И как мне работать? Пользователь может запустить терминал в размере 10 на 10 символов. Иногда это приводит к падениям программы, если пытаться вывести в границах виртуального экрана, но за границами реального. Хотя вроде вызываешь изменение размера, потом проверяешь -- всё ок. Выводишь символ в разрешённую позицию -- и программа падает. *пингвин кланяется* Это происходит не всегда, в глубинной причине не разобрался.

Выводы:
-- Если ваша основная задача это вывод текста в определённой позиции экрана, то всё хорошо
-- Надеяться на стабильное оформление нельзя
-- Надо рассчитывать на минимум доступных цветов, цветовых пар и прочего. При этом ваш терминал может на самом дел всё поддерживать (например, при игре в NetHack через Putty+SSH я вижу больше цветов, у меня работают все сочетания и автоизменение размера экрана, но библиотека говорит, что больше не может)
-- Удивительно, но неплохо работает мышка, хотя это вообще не основная задача терминала

Мне уже Minoru подсказывал альтернативные библиотеки по работе с экраном (STFL, он пишет, что мёртвый). Тем не менее, если вы знаетете библиотеку, которая позволяет:
1) Работать в питоне и с виндой и с линуксом
2) Делать не только поля ввода, но и менюшки, и кнопки и прочее (привет Turbo Vision)
3) Делать стабильное оформление

То сообщите мне.

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

URL
среда, 30 октября 2024
06:05 Telegram. Картинка под текстом
Обычно в постах картинка располагается над текстом. То, что ниже, технически является "подписью". Тем не менее, иногда можно видеть текст, а картинку в конце. Я спрашивал у специалистов, мне сказали -- идите в бота, бот вам сделает пост с картинкой снизу. Бот действительно сделал, но как это работает на самом деле?

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

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

Я скопировал текст поста и вставил в текстовый редактор. И я обнаружил гиперссылку. Невидимую! Потому что она состояла из непечатного символа.

Вот и ответ.

Сразу отвечаю на вопрос, как сделать картинку снизу, но без вертикальной черты. Никак.

***

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

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

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

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

URL
вторник, 29 октября 2024
04:30 Windows 11 -- установка
В целом, я расстроен технологиями последних лет. Кроме, может быть, локальных нейронных сетей: потому что они дают возможности и свободу, а не забирают их, как многое другое.

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

I agree everything will be deleted including files, apps and settings

И пока галочку не поставишь, некст нажать нельзя.

Тут у меня двоякое отношение. С одной стороны, и так известно, что установка ОС это опасная процедура, во время которой могут быть повреждены данные. Можно случайно не тот раздел отформатировать, в конце концов (реальный случай). С другой стороны, у нас всегда был доступен апгрейд предыдущей версии. Это по политическим причинам апгрейд больше невозможен? Или этому есть технологическое об'яснение?

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

@темы: Программы

URL
понедельник, 28 октября 2024
01:45 Юморист
Был в шиномонтаже, всё сделали, говорю с администратором:

-- Давайте оплачивать.
-- Давайте. У вас как оплата?
-- По карте.
-- Хорошо. А по карте наличными?
-- Вы угораете?
-- У вас перевод на карту?
-- Нет, прикладывается.

(это он что, называл оплату прикладыванием "по карте наличными"? или он реально прикалывался?)

***

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

-- А вы это как будете считать? По гарантии? Или надо будет оплатить?
-- Это будет по гарантии... оплатить.

@темы: Викторика, Автомобили

URL
воскресенье, 27 октября 2024
08:28 Что меряет УЗО?
УЗО меряет разницу тока, выходящего через фазу розетки и входящего обратно через нейтраль. Если разница равна нулю, можно работать. Если разница не равна нулю, то кто-то схватился за розетку, и часть тока утекает через него.

Выключил автомат, ковыряюсь. Замкнул случайно нейтраль и заземление. Вышибает УЗО. Почему?

Автомат выключает только фазный провод. Нейтраль подключена всё время. И на ней никогда не ноль (ноль там только в идеальном случае). Поэтому замыкание нейтрали на землю создаст ток. Который, очевидно, не будет равен току через фазу, потому что фаза отключена физически, и через неё ничего не течёт.

@темы: Электроника

URL
суббота, 26 октября 2024
01:45 Буква Зю
На ЖК-дисплеях на дорогах часто показывают или фактическую информацию о дорожной обстановке или какие-нибудь советы типа "осторожно, с нами мотоциклисты" или "осторожно, меняйте шины на зимние". Сейчас везде висит об'явление о том, что пользоваться смартфоном во время езды опасно. Но при этом смартфон изображён чёрного цвета. Такого же, как цвет фона. Издалека смартфон почти не виден. Кажется, что нарисован логотип в виде буквы Z на боку.

Собственно говоря, вот как это выглядит. Извините за плохое качество:



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

@темы: UX, Автомобили, Наблюдения

URL
пятница, 25 октября 2024
05:51 Добавка к штрафу
На сайте ГИБДД можно проверить штрафы, выписанные на определённый автомобиль. Не надо быть его владельцем, чтобы проверить. Но надо кроме номера машины знать ещё номер СТС (свидетельства о регистрации). Вы знаете эти два номера -- и вы смотрите штрафы. Штрафы видны не все, а только неоплаченные, но именно неоплаченные интереснее всего.

Если штрафов на машине нет, то пользователю просто показывается информация, что штрафы не найдены. А если штрафы есть? Тогда перед просмотром таблицы со штрафами вы должны посмотреть рекламу! Да, реклама социальная, но сама идея зависимости рекламы от наличия штрафов -- это весьма впечатляюще.

@темы: Автомобили, Наблюдения

URL
четверг, 24 октября 2024
03:16 Ютьюб блочит впн
В России мы имеем двоякую проблему: одни сайты блочит РКН, другие блочат Россию. А некоторые блочатся с обоих сторон.

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

На днях я обнаружил, что мой ВПН был заблокирован ютьюбом. Я стал получать сообщение Sign in to confirm you're not a bot. При этом я уверен, что необычных действия я не совершал, и с моего айпи-адреса больше никто не выходил. Вот какую информацию мне удалось собрать:

1. Ютюьб использует метод "анального огораживания", а именно, блочит не только спамящий айпишник, но и соседние (вплоть до подсети). Поэтому не надо что-либо делать, чтобы тебя заблочили.
2. По-видимому, активизировались блокировки в последние полгода.
3. Если залогиниться в жмейл/другой гугл аккаунт, то ютьюб работает. (только вот логиниться не всегда возможно, и не всегда желательно)
4. Удивительно, но без логина показывает через официальное мобильное приложение. Но при этом с одного устройства показывает нормально, а с другого только две минуты, а потом перестаёт подгружать. Можно сразу перемотать на нужное место, но перематывать каждые джве минуты -- это геморрой.

(сменить айпишник не предлагайте, пока не могу)

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

URL
среда, 23 октября 2024
03:59 Live and drink, traveller
То, что в магазинах стало плохо с соками -- это я заметил давно. Но почему-то больше всего досталось сокам 0.2 литра (и это произошло в последние полгода или меньше). Как выяснилось, они проходят по категории "детское питание". Точнее, теперь проходят. Раньше и на стендах с обычными соками были 0.2, а теперь всё перенесено туда (во всех магазинах).

Маленькие соки мне периодически нужны, поэтому-то я и обнаружил следующие новшества.
1. Уменьшенные пакеты. Казалось бы, куда уж уменьшать 200 мл? До 120...150, например. Это уже выходит за пределы "шринкфляции". И это, простите, один глоток.
2. Смеси. Полноразмерные соки тоже в большинстве своём являются смесями. Но одновкусовые соки всё же есть, хотя и не в таком большом количестве, как раньше. Маленькие соки же из одного вкуса есть только одного вида: яблоко. Наверное, ещё томат есть, но это я не отследил. Надо в Ашан зайти, посмотреть, что там. Потому что одновкусовых соков Каждый день раньше было достаточно.
3. "Напиток". Минимум два изготовителя решили уменьшить количество сока открыто. Например, появился "напиток супер-джус" с пометкой: "сок+вода". СОК ПЛЮС ВОДА. И так известно, что соки делают из концентратов и они содержат в себе воду. Но в других соках, видимо, нет столько воды, чтобы приходилось указывать воду в заголовке.

Выводы я делать не буду, я просто исторически фиксирую.

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

URL
вторник, 22 октября 2024
05:44 Проблема с розеткой
В дальней розетке пропало электричество. В ближней на месте. Провод проложен в плинтусе, можно добраться. Но не хочется, т.к. стоит несколько шкафов, которые надо разгружать.

Я хотел прозвонить кабель в плинтусе, но не так-то легко это сделать, когда точки замера разнесены на 4 метра! Поэтому я взял прожектор с 5-метровым кабелем. Не спрашивайте, откуда он взялся. Главное, что я мог вставить его в розетку с одного конца и добраться до контактов с другого конца. Но до прозвонки дело не дошло.

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

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

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

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

URL
понедельник, 21 октября 2024
05:34 Повешу вторую
Сестра решила сепарироваться от мамы и, в общем, она переехала ко мне.

В туалете у меня специальная полочка для размещения там смартфона. Очень удобно.

Сестра собирается заходить в туалет и говорит:
-- Ты в туалете телефон забыл.
-- Ничего страшного. Пусть пока там полежит.
-- Это хорошо, но полочка нужна мне тоже.

@темы: Случай из жизни, Викторика

URL
воскресенье, 20 октября 2024
06:02 Второй шанс и поллитровая мышь
Косяки бывают разной степени серьёзности. После некоторых надо сразу прощаться (с работником, например). Но иногда говорят, что дадут второй шанс.

А иногда ситуация бывает такая: "если хоть раз ещё произойдёт Х, то будет У". Например, говорят ребёнку: "если твоя собака ещё раз нагадит, мы её отдадим". Это ультиматум.

Мы, конечно, будем полагать, что ультиматум настоящий, не блеф. Ну, потому что для начала так надо полагать всегда.

Итак, в чём проблема таких ультиматумов? В том, что количество разрешённых косяков ограничено, а время, на котором они будут проверяться -- не ограничено. Бесконечно.

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

То есть, в некоторых ситуациях ультиматум заведомо невыполним, вопрос в сроках. Осознаёт ли сторона, которая выставляет ультиматум, что это такая форма перекладывания ответственности? Это не имеет значения. Имеет значение -- что бы предпринять в таком случае?

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

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

@темы: Восприятие, Мысли

URL
суббота, 19 октября 2024
04:22 Очередные мошенники. Что это?
Папа рассказал. Ему позвонили и спросили, когда он заберёт с почты письмо.

Он сказал, что про письмо ничего не знает, но раз пришло -- то заберёт.

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

Он стал расспрашивать, что за код и говорить, что код не нужен. После этого трубку повесили.

Он пошёл на почту. Там ему сказали, что письма ему никакого нет. А звонили мошенники. Но.

***

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

И таких случаев незавершённого мошенничества масса. Не то чтобы я был недоволен, что кого-то не удалось обмануть. Но одно из главных средств против мошенников -- это информированность. А если мошенничество прервалось слишком рано, то информированность остаётся недостаточной.

Другой случай незавершённого мошенничества -- это звонки от высшего начальства институтов, заводов и пр. с сообщением о том, что скоро с человеком свяжется куратор из ФСБ. Куратор даже иногда связывается. Но во всех отчётах о подобных случаях не описано, что было дальше. Либо мошенников раскусили и прекратили общение, либо... история просто обрывается (видимо, когда куратор был настоящим). Только в 1-2 местах написано, что будут выманивать деньги. Но как?

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

@темы: Мошенники, Мысли, Наблюдения, Звонки

URL
пятница, 18 октября 2024
04:09 Про запчасти
Может быть, у каких-нибудь крутых машин с запчастями дела обстоят иначе. Но у отечественного автопрома -- дела обстоят так, как я пишу ниже.

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

Но со снятыми запчастями следует быть осторожным. Бывали случаи, в т.ч. у меня, когда запчасть, которая работала долго и успешно, и была снята полностью исправной, портится от лежания на полке или в бардачке. При повторной установке оказывается, что деталь отказала. Это может сбивать с толку. Например, если отказала новая деталь, меняешь на старую и ничего не меняется. Значит, обе исправны и дело в чём-то ещё? Нет. Обе сломаны.

***

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

***

Сам я с этим не сталкивался, но записываю сюда же для комплекта -- закон парных случаев. Если 2+ части были установлены вместе, и одна отказала -- то скоро жди отказа второй.

***

ПОЭТОМУ если уж есть подозрение, что ещё одна запчасть понадобится, лучше проверить новую на правильность и надёжность, а после проверки купить вторую такую же, а б/у, пусть даже рабочую -- выбросить.

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

URL
четверг, 17 октября 2024
02:52 Скрытая функция
Попользовавшись бритвой на аккумуляторах, я остался ей недоволен. То разрядилась. То не разрядилась, но уже не тянет (то есть, тоже разрядилась). От сети одновременно с зарядкой почему-то не работает. А я бы хотел, чтобы бритва работала надёжно.

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

Когда я раскрутил корпус, я обнаружил внутри... незапаянный батарейный отсек. Штош, понятно.

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

URL
среда, 16 октября 2024
06:09 Дело было не в бобине
Дайри внезапно усилил защиту CloudFlare, возможно специально для меня. Я уже писал, что проверяет эта защита. А у меня долгое время работало просто по куки _identity_. Но перестало.

Я стал делать по своей же инструкции (в конце концов, для себя я её и писал), но не достиг успеха.

Через некоторое время я обнаружил, что User-agent, который я задавал в настроечном файле, не применяется. А почему он не применяется?

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

***

Когда читаешь англоязычные сайты, где различные люди описывают, как они решали программные, аппаратные и другие подобные проблемы, можно периодически видеть выражение "no luck". "I tried XXXX and YYYY, but no luck".

Понятно, что это что-то вроде фразеологизма. И тем не менее, мне как-то не по себе от таких фраз. Luck -- это удача. В то время как большинство программных и аппаратных проблем имеют конкретную причину, которая срабатывает независимо от удачи. И если в результате XXXX и YYYY ничего не вышло, то это не no luck, это no success, no solution или что-нибудь такое.

@темы: Программирование, Восприятие, Борьба с техникой

URL
вторник, 15 октября 2024
04:28 КЦ надо проверить, сейчас вернусь
Папа попросил заказать ему новый компьютер -- десктоп. Я компоненты подобрал, заказал в Регарде. Там же они всё собрали. И вот настал день Х -- курьер должен привезти системный блок!

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

-- Вот деньги.
-- Хм, я думал у вас безналичная оплата.
-- Нет. (это правда! я указывал на сайте наличные)
-- Здесь точная сумма?
-- Нет, нужна сдача.
-- Эх, тогда придётся идти за сдачей в машину.

В этот момент он собрался идти, взяв с собой все предложенные деньги! Сестра спохватилась.

-- Я пойду с вами.
-- Да не ходите -- там же дождь идёт!

Может, конечно, он от чистого сердца позаботиться хотел. Но может и нет. Сдача была 2-3 тыщи с пятитысячной купюры. Системный блок он оставил в квартире.

Был ещё один нюанс. Он приехал на машине, а двор закрывается автоматически. Выпустить его должен был я, позвонив куда следует. Если бы он не вернул сдачу, как бы он уехал? Ждал бы, пока кто-нибудь ещё выедет? Это бы не позволило скрыться быстро. Или... или, возможно, если бы сестра ему доверилась, она не стала бы мне сразу звонить, а позвонила бы после 10 минут его отсутствия. При такой ситуации он бы позвонил мне о воротах раньше сестры. И я бы его выпустил.

@темы: Случай из жизни, Мошенники

URL
понедельник, 14 октября 2024
03:56 Если не дунуть, чуда не произойдёт
Баллончик со сжатым воздухом можно использовать не только для выдувания пыли из компьютера.

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

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

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

URL
воскресенье, 13 октября 2024
06:06 Делать хорошо надо сразу
Пет-проектов у меня немного. Тем не менее, кое-что есть. И вот какой эффект я у себя заметил.

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

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

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

Но... непонятно, где тогда экспериментировать с новыми средствами. Делать отдельный репозиторий для экспериментов и никому не показывать?

@темы: Программирование

URL
суббота, 12 октября 2024
06:58 Хорошо замаскировались
На всякий случай записываю, что крупа "булгур красный" отличается от крупы "булгур".

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

@темы: Восприятие, Еда

URL