zHz00 Untitled

вторник, 26 февраля 2019
23:59 Или то, что чашка кофе
Ещё со времён Half-Life 1 (а может и ещё раньше) в компьютерных играх для "тайного" перемещения между локациями используются вентиляционные ходы. И, что удивительно, входы в эти ходы всегда расположены так, что туда можно удобно забраться. И внутри их размер такой, что по ним удобно ползать. Естественно, ходы ведут именно туда, куда надо.

Но насколько это соответствует реальности, интересно?

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

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

ecoenergovent.ru/webroot/files/uploads/images/o...
ozontech.ru/wp-content/uploads/2018/01/201-1024...
ultrasale.ru/dbpics/379063.JPG

Может, конечно, в Америке вентиляцию делают именно так, как её показывают в играх, не знаю.

А ещё вентиляция в играх обычно чистенькая, хотя там на стенках такой трешак твориться должен!

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

@темы: Мысли, Игры, Наблюдения

URL
понедельник, 25 февраля 2019
23:59 Признак Белоглазова
Даже если вы проектируете малюсенькую платку с микроконтроллером, на ней в обязательном порядке должны присутствовать компоненты, позволяющие диагностировать её состояние во время работы. Как минимум, это:
-- светодиод питания, который светится, когда на микроконтроллер (!) подано питание;
-- светодиод, управляемый через GPIO микроконтроллера.

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

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

Если для финальной версии платы цветомузыка недопустима, светодиоды можно делать с'ёмными.

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

URL
воскресенье, 24 февраля 2019
23:59 Сделай сам
Заказали диван. Диван привезли. Оплачены под'ём на этаж и сборка.

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

-- А что, вы третью деталь не подняли?

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

URL
суббота, 23 февраля 2019
23:59 О понтах
Выбирали устройство... по документации. Чем качественнее руководство по программированию, тем лучше.

Начальник: И как тебе это устройство?
Я: Инструкция крайне... лапидарная.
Начальник: Лапидарная? Тебе череп не жмёт?

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

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

URL
пятница, 22 февраля 2019
23:59 Who you gonna call?
Я сидел в поезде метро, а передо мной стояла женщина несколько старше средних лет. Она пританцовывала и подпевала плееру. Что ж. Обычно люди так не делают, но... будем считать это вариантом нормы. Ну прёт человека!

И вдруг она сказала:
-- Не пизди.

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

Потом она продолжила напевать. Через минуту она снова сказала:
-- Не пизди.

А через какое-то время:
-- Какое нахуй долголетие??

Я приподнял на неё взгляд и обнаружил, что на куртке у неё было два значка. Один значок был "не отдадим Курилы", а другой был... Ghost Busters. Ага, может тогда она с призраком разговаривает? С кем не бывает. Правда значок был странный. На нём было фломастером написано VON, а лицо призрака с эмблемы было заклеено лицом человека, похожего на Собянина.

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

А когда я собрался выходить, я увидел рядом с дверью телеэкран, который транслировал специальную метроверсию канала Москва 24. И там шёл ролик про программу "Московское долголетие".

Тогда-то я и понял, что всё это значило. Женщина разговаривала с телевизором!

О-о-окей, всё же это был вариант нормы.

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

URL
четверг, 21 февраля 2019
23:59 Я всегда с собой беру
-- А у вас нету случайно с собой кубика Рубика?
-- Нету. Но могу завтра принести. Что же вы заранее не предупредили!
-- Если бы я заранее знал, что он понадобится, я бы и сам принёс.
(коллега хотел на его примере что-то об'яснить студентам)

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

URL
среда, 20 февраля 2019
23:59 Не нажимать
У новых валидаторов справа есть вот такая штука:


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

У старых валидаторов эта кнопка могла быть выведена на поручень (и часто на ней было написано "STOP"). Тут же кнопка входит в состав валидатора. Эта кнопка -- "информирование". Нажимаете кнопку, прикладываете билет -- и видите информацию об оставшихся поездках и сроке годности. Жалко, что не показывает последний проход.

@темы: Лайфхак, Общественный транспорт

URL
вторник, 19 февраля 2019
23:59 шРАстр
У нас на работе есть один доктор наук, очень уважаемый. В узких кругах он известен как борец против гомеопатии, экстрасенсов и прочей антинаучной ерунды. Сегодня на работе его не было.

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

В качестве аргумента она сообщала, что нумерация лет в районе 6000 присутствует в летописях. Однако по моим сведениям календарь с годами в районе 5-7 тысяч соответствует отсчёту времени "от сотворения мира" -- и к славянам отношения не имеет.

Она сказала, что сейчас нагуглит, т.к. не помнит, где слышала. И нагуглила. Ох. Прочитала текст. На словах "Круголет Числобога" я сказал себе "стоп" и пошёл смотреть на сайт своими глазами. И там я увидел то, что ожидал увидеть. Это был сайт инглингов.

Я кратко об'яснил этой женщине, что то, что там написано -- ненаучно, а инглинги запрещены в России как экстремисты.

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

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

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

URL
понедельник, 18 февраля 2019
23:59 О Китае
В мультиметре села батарейка. Так как она садилась уже давно, новая была на готове.

Раскрутил, вставил новую -- не работает. Вставил старую -- (еле-еле) работает. При помощи старой померил новую. 12 вольт с гаком -- батарейка нормальная.

Батарейки одинакового типоразмера. Разных фирм -- это да, но если батарейки приложить друг к другу -- визуально разницы не видно. Спойлер: но она была.

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

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

Но блин. Изготовители что, подгибали контакты под конкретную батарейку? А есл другая отличается на 0.5 мм, то уже всё, ага.

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

URL
воскресенье, 17 февраля 2019
23:59 Untitled [545]
Собрался выйти из магазина, но заметил, что к двери (прозрачной) снаружи прислонился какой-то мужик. Стоит и разговаривает по телефону.

Я медленно надавливаю на дверь, отталкиваия его. "Извините пожалуйста, можно пройти?"

Мужик неохотно поддаётся, отвлекается от телефона и тут мне говорит: "А вы можете пять минут подождать?"

ЧИВО.

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

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

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

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

URL
суббота, 16 февраля 2019
23:59 Как я получал загранпаспорт
История началась... пару лет назад. Маме как-то раз кто-то позвонил и сказал, что у него есть какая-то горящая путёвка куда-то. Мама дала строгий наказ, что надо нам всем срочно сделать загранпаспорта. Ха.

Для начала меня с сестрой мама направила в МФЦ, чтобы мы узнали, что как. В интернете были инструкции по заполнению анкеты, но они были не совсем понятными. Самый страшный пункт анкеты -- "укажите все ваши места работы за последние десять лет". Жесть.

В МФЦ мы пришли и стали допрашивать специалистов по разным пунктам анкеты. Оказалось, что для хранения знаний в МФЦ применяются облачные технологии. О том, как заполнять один пункт, знал один человек. А о другом -- другой. Они постоянно ходили друг к другу консультироваться.

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

О загранпаспорте я вспомнил этим летом. Решил довести историю до конца. Для этого я зарегистрировался на Госуслугах. Тогда же я узнал, что есть двое госуслуг -- московские и федеральные. Они на разных сайтах и нужны для разного. Загранпаспорт делается через федеральные, при этом нужна "подтверждённая" учётная запись, т.е. надо пойти в специальное место и показать свой паспорт. Это всё я сделал.

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

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

При этом по ошибке я сначала пришёл в отделение полиции. Сказал им, что в интернете было написано, что надо прийти именно в ОВД. Они очень удивились, меня внутрь так и не пустили и сказали идти в МФЦ.

ОКАЗАЛОСЬ

что я неправильно прочитал интернет. Там было написано не ОВД, а ОВМ. Это разные вещи. И ОВМ расположен в здании МФЦ, хотя это отдельная структура, причём всё-таки относящаяся к МВД.


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

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

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

Сначала тётка звонила по одному телефону, потом по другому, потом куда-то ушла. А когда вернулась, её ответ был таков:

-- Вроде как сообщать не нужно, но коллега заметил, что у вас заявление подано больше полугода назад, поэтому нужно делать повторную проверку в ФСБ.
-- Э... вообще-то прошло только 5.5 месяцев, смотрите: раз-раз-раз (посчитал при ней).
-- Хм, и правда. Но всё равно лучше сделать проверку.
-- Окей. Мне что, паспорт отдавать обратно?
-- Ну... да.
-- А вы потом мне новый напечатаете или этот же отдадите?
-- Этот же.

И паспорт я... отдал. При этом никакой бумаги об этом составлено не было. Уже потом я подумал -- вот я дурак же! Но было немного поздно. Тётка обещала позвонить через неделю.

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

В один из дней я по техническим причинам прогулял работу. И раз уж прогулял, решил зайти в МФЦ за паспортом. Прихожу, об'ясняю на респешне, чего я хочу. А мне отвечают:

-- А они сегодня работают до 16:45. А сейчас... э... 16:48. Приходите завтра.

АААА!

На третье посещение МФЦ мне всё же удалось забрать загранпаспорт окончательно. Фух.

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

URL
пятница, 15 февраля 2019
23:59 It's a trap!
Сегодня я узнал, что, оказывается, я несколько лет носил ремни в джинсах на женскую сторону...

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

URL
четверг, 14 февраля 2019
23:59 Тёплое яблоко
Жилой массив. Иду по тропинке. На краю тропинки стоят двое детей в возрасте около пяти лет. Один из них со мной заговорил.

Ребёнок: Дайте двести рублей!
Я: Ничего себе!
Ребёнок (обиженно): Да нам на игрушку!

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

URL
среда, 13 февраля 2019
23:59 Untitled [544]
-- И как настраивается, по какому интерфейсу работать?
-- Он автоматически определяет по кабелю. Если в кабеле только три провода запаяно, то RS-232, а если все шесть -- то RS-422.
-- Жесть.
-- Не жесть, а медь.

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

URL
вторник, 12 февраля 2019
23:59 Подводные камни при определении границ сообщений
То, что я напишу ниже, мне лично очевидно. Но когда начинаешь писать прошивки для микроконтроллеров -- это может быть ещё не очевидно. Так, на днях я обнаружил эту ошибку в прошивке у начинающего микроконтроллерщика. А за пару недель до этого -- у себя.

Воспользуемся классической терминологией -- Алиса отправляет Бобу сообщение. Сообщения. Одинакового формата, одно за другим.

Вариант первый -- в соответствии с договорённостью Боб ожидает получить сообщение длиной 8 байт. Однако после третьего байта Алиса внезапно умирает.

Когда Алиса воскресает, она, конечно, не помнит, что и кому она передавала, поэтому начинает передавать сообщение заново. Однако Боб об этом не знает. Получив первый байт нового сообщения, он записывает его как четвёртый байт старого сообщения! Фейл! Границы сообщений "сползают", в итоге Боб будет всё время получать неправильные сообщения и удивляться, почему не совпадает контрольная сумма.

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

Действия тут очевидны:
1. В первом случае: если возникает пауза при передаче, то необходимо "забывать" недополученное сообщение и начинать приём заново. На практике это означает, что надо обнулять буфер приёма, если очередной байт (бит) был принят после паузы на линии.
2. Во втором случае сложнее. Если первый ожидаемый байт оказался неправильным, то буфер, конечно же, должен быть сразу обнулён. Однако, если сообщения сыпятся потоком, на восстановление синхронизации может уйти какое-то время, если сигнатура в сообщении присутствует не только в начале, но и в середине (может же случайно оказаться, что мы хотим передать сообщение 0x55 55 55 55 55 55 55 55?). Полностью эту ситуацию не побороть, можно только уменьшить количество потерянных сообщений, если, к примеру, увеличить длину сигнатуры, либо запретить её применение в остальной части сообщения.

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

URL
понедельник, 11 февраля 2019
23:59 Запрещённые приёмы в конфликте
Я уже писал, что у родителей конфликт. Тогда я писал про роль детей в конфликте.

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

1. Пилить оппонента -- плохо. Пиление заключается в постоянном повторе одних и тех же мыслей, нередко в ругательном тоне. Плохо это, потому что вызывает у слушателя (и не только оппонента!) отвращение. И с каждой фразой это отвращение только крепнет. Думаете, если 100 раз повторить одно и то же, то вас поймут? Скорее всего, вас уже давно поняли, просто не хотят делать то, что вы заставляете.

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

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

3. Угрожать убить оппонента или кого-нибудь ещё! Поздравляю, ваши условия приняты, но теперь на вас смотрят волком и отказываются спать с вами в одной квартире! Опасаются за свою жизнь. И правильно делают. Ну да, можете теперь говорить, что просто пошутили. Конечно.

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

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

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

Если знаете какое-нибудь ещё отвратительное поведение в конфликте -- пишите.

Брэк, брэк!

@темы: Восприятие, Мысли, Наблюдения

URL
воскресенье, 10 февраля 2019
23:59 Untitled [543]
Прислали документ в двух форматах -- пдф и Визио (не помню, какое там у него расширение).

Мне:
-- Документ не открывается! Может, у меня старая версия Визио?
Посмотрел я -- документ-то открывается. Но показывает пустую страницу. В свойствах документа ничего интересного не обнаружил. Спрашиваю:
-- А пдф-ка открывается?
-- Нет.
-- Странно. Ничего, сейчас я вам Суматру поставлю -- всё откроется.

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

Смотрю ещё раз свойства документа и обнаруживаю, что размер файла 0 байт. Это слишком мало. Должно быть 400 KiB.

Дальнейшие эксперименты выявили, что в файерфоксе ПОЧЕМУ-ТО отказала функция сохранения файлов -- и все файлы при скачивании в любую папку оказывались пустыми. Пришлось сменить браузер.

@темы: Случай из жизни, Борьба с техникой

URL
суббота, 09 февраля 2019
23:59 Стог игл и соломинка
Что требуется от поиска в интернет-магазине?
-- Разбивка по категориям;
-- Фильтры (чтобы можно было применять несколько);
-- Сортировка.

В некоторых магазинах всё вроде есть, но работает криво. Или по категориям товар разбит неправильно. Или фильтры неинформативные. Или значения полей не запоминаются: я задаю сортировку по возрастанию цены и по 20 товаров на странице. Жму следующую страницу -- а там снова 10 товаров на страницу и сортировка по-умолчанию. Ну спасибо.

Я не куплю в вашем магазине не потому что мне он не нравится. А потому что я просто найти ничего не могу.

@темы: Крик души, Наблюдения, Очевидное-невероятное

URL
пятница, 08 февраля 2019
23:59 Польза пустоты
Иногда надо поставить точку остановки в программе по условию. Типа -- если произведение трёх переменных меньше, чем 1,2 -- остановиться. В средах разработки могут присутствовать готовые "условные точки останова", но они негибкие и жутко тормозят (по крайней мере в вижуал студии).

Обычно я делал так:

if(a*b*c<1.2)
a=a;//сюда пихаю точку останова

Написать во второй строчке просто ";" нельзя -- точка останова ставиться не будет. Остаётся только написать бессмысленное действие типа a=a.

Так думал я, пока не увидел, что есть специальное бессмысленное действие для этих целей. Доступно оно не во всех компиляторах.

NOP. No operation. Эта команда ассемблера присутствует во всех процессорах, даже в калькуляторе МК-52. Она... ничего не делает. Насколько мне известно, изначально команда предназначалась для затирания ей лишних частей программы без перемещения всего остального (чтобы адреса не c'ехали).

Если в вашем компиляторе есть макрос типа Nop(), как он есть в MPLAB X-IDE (для PIC'ов), его можно использовать для организации точек останова, вот так:

if(a*b*c<1.2)
Nop();//сюда пихаю точку останова

Отличие от a=a; в том, что Nop() -- заведомо бессмысленное действие, поэтому сразу понятно, зачем тут написано это условие и этот Nop().

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

URL
четверг, 07 февраля 2019
23:59 Веселящий газ
Для выдувания пыли продают сжатый воздух в баллончиках. На самом деле это не воздух, это пропан-бутановая смесь с ароматизаторами.

Купили на работу такой баллончик. Беру его в руки и вдруг зеваю. Читаю этикетку: "осторожно, может вызывать сонливость".

Вот уж да!

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

URL