zHz00 Untitled

воскресенье, 14 апреля 2019
23:59 Лабораторный журнал
На работе я делаю всякие программистские пометки и зарисовки на листочках A4. Это удобно. Исписанные листы хранятся в отдельной стопке. Если оттуда что-то нужно -- найти бывает непросто.

Сначала я думал -- сколько взять листов бумаги с собой в командировку? А потом плюнул -- и взял тетрадь 48 листов.

Это было очень правильное решение. Тетрадь не рассыпается на листочки, и её хватает на долго. Я всего полтетради исписал (хотя ещё не вечер).

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

Хм, возможно на работе тоже следует переходить на тетради...

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

URL
суббота, 13 апреля 2019
23:43 Ултар
Тема диссертации: взамиоотношения Николая II и Баст.

@темы: Викторика

URL
пятница, 12 апреля 2019
22:35 Как различить голых анимешных девочек (совершеннолетних)?
Если открыть википедию на статье про какое-нибудь языческое божество, то в блоке общей информации можно найти графу "атрибуты". Там будут какие-нибудь характерные особенности. Например, плащ, синяя шляпа и один глаз. Зачем божеству нужны атрибуты? Чтобы формировать внешний образ. Если известны атрибуты, то божество можно опознать на изображениях (и в описаниях... вы узнали?). А ещё можно самому сделать узнаваемое изображение. Если атрибуты неизвестны, придётся подписывать словами.

Что же с анимешными девочками? У них тоже есть атрибуты. И есть фанарты. У художников разный стиль рисовки, но персонажей всё равно можно узнать. В этом смысле наблюдается некоторая аналогия между божествами и анимешными девочками. С анимешными мальчиками ситуация гораздо хуже: попробуй, наскреби атрибутов. Если только это не сёдзё.

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

@темы: Дзякиган, Мысли, Аниме

URL
четверг, 11 апреля 2019
23:59 Dual Aurora Wave
На об'екте, где я налаживаю установку, сложные условия. Каждый день приходится надевать каску, рабочий халат, перчатки, респиратор и беруши. Чувствую, что делаю хеншин.

Хеншин... в программиста. Вы видели программиста в каске?

***

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

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

URL
среда, 10 апреля 2019
23:30 Об отладке движущихся железок
Каков обычный подход к отладке? Запускаем, потом смотрим, что получается. Если получается не то, что надо, то разбираемся в оставшихся ошмётках, пытаясь по ним определить, что произошло.

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

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

Вот что я придумал, пока пытался ничего не сломать:
1. Точки останова и интерактивную отладку вообще следует использовать с большой осторожностью. Пока программа остановлена, движущиеся части могут продолжать двигаться. Поэтому точки надо ставить ПОСЛЕ команд, которые всё останавливают, а не до. Важно помнить, что если точка стоит на строчке с командой Stop(), то команда выполнена не будет! Надо ставить на следующей строке. Если вам нужно поставить точку там, где нет тотальной остановки, её надо туда временно добавить.
2. Тем не менее, запускать весь алгоритм целиком -- опасно. Тут есть два метода:
а) Алгоритм надо разбить на отдельные этапы, между которыми программа будет вставать на паузу, а все движущиеся части останавливаться. По кнопке программа должна выполнять следующий кусок, если предыдущий прошёл успешно. А если нет -- как раз в этот момент можно будет покопаться в памяти при помощи интерактивного отладчика. Таким образом отладка будет состоять не из серии прогонов и разборов полётов, а из серий прогонов кусков 1, 1+2, 1+2+3 и т.д.
б) Начальные точки движения частей надо расположить подальше от препятствий, а диапазоны перемещений сделать маленькими, поэтому даже если система поедет не туда, она ничего не вывернет.
3. Отладка должна вестись одной рукой. Вторую надо держать на выключателе, который всё обесточивает (система должна быть разработана так, чтобы при пропадании питания по инерции ничего не ехало, но это задача не программиста; ещё одна задача не программиста -- минимизировать риск столкновения частей при штатной работе, например механически ограничить зоны деятельности разных деталей так, чтобы они никогда не пересекались).
4. Во время правки кода система должна быть выключена, а программа не должна выполняться, т.к. пока код не отлажен, что-то может поехать, пока вы отвернулись и уткнулись в монитор. У меня так поехало, причём я до сих пор не знаю, когда поехало и почему.
5. Удобство интерфейса отладочной многокнопочной утилиты (или что вы там используете) очень важно. Чем понятнее для вас всё сделано, тем меньше шанс по ошибке нажать не ту кнопку. Очевидно, что надо перед нажатием чего бы то ни было вообще по два раза проверять, что вы нажимаете. Непонятное расположение кнопок, двусмысленные надписи, разные единицы измерения в разных полях ввода -- это всё очень опасно.
6. Выдавать окошечки с кнопкой ОК для информирования вас о чём-либо -- плохая идея. Они перекрывают главное окно, а могут вообще его блокировать. Таким образом, вы теряете контроль над установкой.
7. Отдельного трактата достойна обработка исключительных ситуаций. Это дело я пока вообще только обдумываю. Например, управляющая программа может УПАСТЬ, а любые подчинённые микроконтроллеры -- зависнуть или умереть. Какие части будут продолжать двигаться после этого? Насколько долго? Сколько промасленных котов намотает на вал? Как можно от этого защититься?

Меня утешает, что тем, кто пишет ПО для спутников, приходится гораздо хуже.

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

URL
вторник, 09 апреля 2019
22:58 Отпечатки пальцев, мухахаха
В г. Новочеркасске я зашёл в Магнит, что-то там взял и спросил у кассирши, есть ли сдача с 5000? Она сказала, что есть.

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

Я спросил, со всеми ли банкнотами они так делают или только с пятитысячными? Она сказала, что только с пятитысячными.

А сдачу дали двухтысячными.

@темы: Случай из жизни, Наблюдения

URL
понедельник, 08 апреля 2019
21:04 Untitled [550]
Добро должно быть с кулачками.

@темы: Викторика

URL
воскресенье, 07 апреля 2019
20:27 Презерватив
Сегодня я ел гамбургер. Нет, я делал это не в первый раз.

Когда-то я дал обет не ходить в МакДоналдс. Не помню, когда и кому. Кажется, обет я дал себе -- когда прочитал "Оно" С. Кинга. В МакДоналдсе я ни разу не был. Но обета не есть еду оттуда я не давал. И мне пару раз доставались тамошние гамбургеры. Они мне не понравились. Есть их неудобно. Привкус странный. В общем, фе.

Но тут меня завели в бургерную, где готовят, как выразился коллега, "правильные бургеры". С'ел я этот гамбургер и понял, что просто в МакДональдсе -- лохи. Гамбургер может быть вкусным!

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

Когда я гамбургер доел, то я понял, что перчатки -- это не блажь для педантичных аккуратистов. И они нужны не для того, чтобы держать гамбургер чистым от грязных рук. Они нужны для того, чтобы держать руки чистыми от гамбургера!

@темы: Лайфхак, Наблюдения

URL
суббота, 06 апреля 2019
23:17 Ответная часть
Очень нишевый совет. Если не можете взять с собой в поездку нож, то возьмите точильный камень.

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

URL
пятница, 05 апреля 2019
23:08 Сон разума порождает не только чудовищ
С одной стороны -- программирование -- это творческое занятие. Но с другой -- ремесло. Эффективность работы во многом зависит от наработок, опыта, а не от какой-нибудь музы.

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

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

@темы: Программирование, Очевидное-невероятное

URL
четверг, 04 апреля 2019
22:45 Как я летал на самолёте
Летал первый раз, было интересно.

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

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

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

Пытался следить по GPS, как проходит полёт. Очень интересно: GPS отлично работал на земле и всю середину полёта. Но от взлёта до набора высоты -- и от начала спуска до посадки -- GPS работать не хотел.

Про переезд в Ростов-на-Дону -- было первое апреля, но не совсем. Я в командировке.


@темы: Случай из жизни, Общественный транспорт

URL
среда, 03 апреля 2019
22:33 Время Евы
К посетителю в кафе подсел знакомый.
Официант: Вам ещё приборы принести?
Посетитель: Осциллограф, пожалуйста.

@темы: Викторика

URL
вторник, 02 апреля 2019
01:24 Цветик
Я купил беруши. Я пару раз покупал их до этого. Один раз повезло, другой не повезло. В этот раз мне вынесли беруши марки... 3M. Я даже не знал, что они беруши делают. Фирма мне эта была знакома как изготовитель, в первую очередь, пятидюймовых дискет. А ещё у меня на работе есть наушники этой фирмы. Шумоподавляющие. Работают.

В коробочке с берушами была инструкция. Я её открыл -- и очень удивился. Взгляните сами:


Стишок в инструкции к берушам! Замначальника какого-то там участка рудника! Я сначала думал -- это он заплатил, чтобы его стишок опубликовали в инструкции -- или ему заплатили?

А потом решил этот стишок загуглить. И обнаружил, что в интернете этот стишок существует с 2007 года. Присутствует, как правило, в докладах школьников по теме "звук". И нигде не указано его авторство. Кроме того, у стишка есть ещё одна строфа, которая тут отсутствует. По ФИО этого замначальника тоже ничего интересного найти не удалось.

Загадочная история.

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

URL
понедельник, 01 апреля 2019
02:10 Аптека, улица, фонарь
В последние несколько дней об'ём моих постов резко сократился. Я был очень занят.

Завтра я уезжаю жить в Ростов-на-Дону. Как часто смогу писать посты -- пока не знаю.

@темы: Другое

URL
воскресенье, 31 марта 2019
23:13 О конкуренции
Делал новую симку.

Кассир: Вы пользуетесь ещё какими-нибудь операторами?
Я: ВСЕМИ!

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

URL
суббота, 30 марта 2019
23:59 Untitled [549]
Завтра у него был выходной: он взял работу на дом.

@темы: Викторика

URL
пятница, 29 марта 2019
23:59 Untitled [548]
Пропустить метропоезд ближе к полуночи "потому что народу много" -- плохая идея. Мало того, что интервал больше, чем днём, так ещё и часть составов проезжают станцию мимо. Поэтому время ожидания может оказаться большим. А в следующем нормальном поезде тоже будет "народу много".

@темы: Фейлы, Общественный транспорт, Наблюдения, Очевидное-невероятное

URL
четверг, 28 марта 2019
23:42 Колесо без оси
В установке смешанное питание: большая часть однофазная, но есть трёхфазный двигатель.

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

При попытке включения установки выбило УЗО. Электрик-электронщик долго смотрел, прозванивал -- но никаких неполадок не нашёл. Кабель питания был сделан правильно, фазы разведены правильно, нейтраль на нейтрали. Переключились обратно на однофазное -- работает.

Я посоветовал электрику-электронщику проверить розетку. Розетка тоже трёхфазная, пятиконтактная. В моём понимании выбивать УЗО могло, если нейтраль и земля в розетке перепутаны местами (но почему это не обнаружили раньше?). До этого я думал, что земля и нейтраль перепутаны внутри установки, но эта гипотеза не подтвердилась.

При проверке напряжений в розетке

ОКАЗАЛОСЬ

что в ней нету 220 вольт. Только 0...15 и 380. А это могло означать только одно. Земля и нейтраль не были перепутаны. Нейтрали не было вовсе! Почему же этого никто не замечал? Потому что в помещении, где мы работали, стояли станки. Станок, который штатно питался от той трёхфазной розетки, которую мы одолжили, не требовал нейтрали, поскольку с электрической точки зрения состоял из одного трёхфазного двигателя. Трёхфазным двигателям нейтраль не нужна.

Я изучил потом щиток: действительно, все трёхфазные отводы от щитка идут без нейтрали (но зато с землёй). А нейтраль идёт только в однофазные линии.

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

URL
среда, 27 марта 2019
23:59 О документации
Аморфный пост разрозненных мыслей.

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

***

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

2. Между версиями может возникнуть путаница. Какая самая новая? Я при создании новой версии на всех обнаруженных экземплярах старой версии надписываю "устарело". Но... что, если кто-то наткнётся на ненайденный экземпляр? А лучше -- на фотографию найденного. В общем, устаревшие версии следует оставлять только в случае, если есть хотя бы один экземпляр устройства, для которого эта документация актуальна. В противном случае устаревшую документацию надо уничтожать или хотя бы прятать подальше в архив.

***

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

@темы: Мысли, Электроника, Очевидное-невероятное

URL
вторник, 26 марта 2019
23:59 Untitled [547]
Ущерб, который получаешь, совершая доброе дело -- это бесплатное приложение к отсутствию благодарности.

@темы: Тухлые идеи, Мысли

URL