All streams
Search
Write a publication
Pull to refresh
19
0
Иван Шведунов @ivan4th

User

Send message
Про недонапряжение — знал, что плохо, но про пожар из-за холодильника как-то не слышал. Вполне допускаю, тем не менее. Кстати, в СНТ часто бывает полный швах с напряжением — просаживается эдак до 180 (у меня тут такой проблемы нет, но, например, на даче у тёщи — вполне бывает). Холодильники есть у всех. По идее должно бы часто наблюдаться… А так, насколько я слышал, обычно в качестве причин пожара на даче называют — плохая/старая проводка, пьяный хозяин уснул с сигаретой и т.д.

Про две фазы — на самом деле у меня так и сделано, но не уверен, что это полностью решает проблему.
Рубильник — реверсивный, т.е. это переключатель на самом деле. Т.е. чтобы подключен был ИЛИ генератор, ИЛИ внешняя сеть, и ни при каких обстоятельствах одновременно и то, и другое. Автомат тут скорее для перестраховки, он номиналом поменьше, чем на трубостойке. Про УЗМ-3-63 подумаю, спасибо — уже думал что-нибудь от перенапряжения добавить. Варочная панель — точно не помню, по-моему даже поболее 16А, если все конфорки включить на полную (вероятно, придётся так не делать). С этой точки зрения не очень удачный вариант, но просто уж так получилось, что она уже есть.
Schneider Electric «Этюд» KA10-001K без фиксации (кнопка). Тут была проблема косметического характера — розетки и короба (открытая проводка, т.к. дом деревянный) текстурированные под цвет дерева, довольно хорошо смотрится, а накладные выключатели без фиксации почему-то можно найти разве что вот кремовые. Решить можно, вставив пружину в обычный выключатель (по-моему, с накладными Schneider Electric фокус должен пройти) или, что дороже, на механизм кнопки напялить текстурированные корпуса. Но я что-то решил не заморачиваться и взять кремовые.
Да, Милур 305 на самом деле без пломбы (см мой комментарий рядом). Чисто для измерений + удобства.
Вообще слегка планирую переделать и правый щиток. Я в комментарии выше, наверное, не очень чётко выразился — опломбированный счётчик на трубостойке, Милур — не опломбирован. Там была интересная история — сначала электрик установил Меркурий 230, для которого я незадолго до того написал драйвер. Я надеялся, что мне разрешат подключить WB к счётчику, но на деле всё вышло печально — МОЭСКовцы счётчик просто не приняли с формулировкой «отсутствует устройство контроля максимальной мощности» (вводной диф. автомат, типа, недостаточен). В итоге пришлось ставить другой Меркурий (навязанный можайским МОЭСКом) без нормального цифрового порта. Он, я так понимаю, «ограничивает» также, как и 230 (т.е. фиксирует превышение и т.д.), так что проблема чисто бюрократическая. Я поискал по интернетам — оказалось, требование незаконно, и были выигранные суды против энергокомпаний, требовавших наличие «устройства ограничения максимальной мощности» на стороне клиента, но мне, увы, был срочно нужен свет, а времени на суды не было, так что я поступил безответственно и пошёл на поводу у бюрократов. В итоге купил в довесок Милур и подключил WB к нему.

УЗО — помимо вводного диф. автомата (на трубостойке) у меня пока по рекомендации электрика стоят дифавтоматы 30мА для стиралки и посудомойки. Пока в раздумьях, достаточно ли этого.

N и Gnd раздельные есть, у дома устроено заземление. Перекос фаз возможен, но пока нет чёткого понимания, как его полностью искоренить (есть однофазная варачная панель, например). Рубильник — да, для генератора, я заядлый удалёнщик и без этого дела швах. Правда, прежде, чем его использовать в этих целях, видимо, надо купить дополнительный полюс и сделать отключение от внешней N при переходе на генератор — мало ли что по проводу придёт по милости электриков во время ремонта трансформатора (или от меня электрикам).
WB deployment in progress:

image

Пока не закончено и не особо красиво, глубоко в процессе (провода буду переделывать, поставлю проходные клеммы, 1-wire термодатчики пока развешены абы как, выключатели не подключены) + я программист, а не электрик (правый щиток собран электриком).

Пишу софт для WB — движок правил, ряд MQTT-драйверов и прочее, заодно строю умную избу.

Оборудование:
Установлены — Wiren Board 5, WBIO-DO-R3A-8 (управление «сервоприводами» радиаторов), WB-MR11 (свет, ТЭНы котла).
Справа — счётчик Милур 305 (неопломбированный, «настоящий» — на трубостойке), с него по RS-485
считываются данные о расходе электроэнергии, напряжении, мощности и т.д. Проводку клал электрик,
чтобы особо не мудрствовать, я попросил его кинуть UTP до выключателей — на
выключатели (без фиксации — кнопки) снизу наклею 1-wire термодатчики, плюс можно
будет ставить дополнительные кнопки по необходимости, например, чтобы с кровати
можно было выключить свет во всём доме.

Функции:
— управление освещением (для кого-то блажь, а по мне — удобно)
— управление ТЭНами котла (твердотельный — Теплодар с блоком ТЭНов)
— управление термоэлектрическими сервоприводами Oventrop на радиаторах
— набор 1-wire термодатчиков (котёл, температура в комнатах)
— замер тепловых потерь дома

Алгоритмы управления отоплением пока тривиальные (позиционное регулирование),
но думаю сделать нормальный ПИД-регулятор.

WB подключается к моему VPN, и перед приездом на дачу я могу выставить подходящую
температуру.

Из идей развития:
— голосовое управление (сначала Tasker+AutoVoice, потом что-нибудь ещё придумаю, чтобы без телефона + что-нибудь вроде «алё, изба» вместо «ок, Google»)
— автопрокачка скважины
— сигнализация на магнитоконтактных датчиках движения, датчиках открытия дверей etc.
— автополив и прочее огородное (в перспективе)
— …

В общем, имейте в виду, что при разработке софта WB определённый элемент dogfooding'а
присутствует :)
Надо было уж не мелочиться и приложить ещё для сравнения ссылку вот на это видео уникальных строительных технологий. Смотрите, 3D-печать надёжнее! Хотя да, конечно, лично мне было бы интереснее увидеть, как делаются окна-двери, перекрытия, etc.

А что касается цветных индикаторов на головке принтера — так известное дело, айтишники часто страдают гиподинамией, надо же как-то с этим бороться — вот пусть побегают.
Вот на вскидку из чьих-то биндингов для библиотеки exiv2: github.com/abustany/goexiv/blob/44f56aad5477a9e8dabe44270c99aeabffec7361/exiv.go#L53 «Дистиллированный» пример прямо сейчас нет времени писать, сорри, от компа уже убегаю.
Если варить кашу из топора, она будет, скорее всего, вовсе не вкуснее каши без топора, и, быть может, будет иметь какой-то привкус — особенно в случае, если топор был грязный. В этой связи считаю топор инструментом бесполезным и даже немного вредным.

Искренне прошу прощения, не удержался. По делу: представьте себе, что вы делаете биндинги для сторонней библиотеки, написанной, например, на C. И в этой библиотеке какие-то объекты должны создаваться функциями create_XXX() (внутри вызывают malloc()) и освобождаться функциями free_XXX(). И вот, честно избегая SetFinalizer, мы пишем в документации, что, хотя Go — язык с GC, конкретно вот эти вот объекты, вследствие особенностей их внутренней реализации, надо обязательно освобождать через какой-нибудь Free(), при том, что эта функция/метод по своей сути не будет делать ничего, кроме освобождения памяти. Звучит логично? По-моему, нет. Как раз для оборачивания подобной логики управления памятью SetFinalizer подходит идеально.
Да зачем так? Надо просто вспомнить старину. Сделают, как в телеграммах — плата за каждое слово, ну, скажем, после границы в 140 символов. Жаль только название «telegram» уже занято.
Я, как емаксер, всегда в качестве Ctrl использую CapsLock. В этой связи прошлый вариант X1 Carbon я покупать не стал (Home+End вместо CapsLock) и взял вместо него X240 — в основном ок, хотя тоже не без недостатков, ghosting на экране и вайфай под убунтой весьма так себе работает (подозреваю, что на карбоне та же проблема может быть, во всяком случае, на самом первом варианте X1 Carbon вполне наблюдалось; надо смотреть чипсет, Intel 7260 — проблемный). Ещё у прошлого карбона F-кнопки были сенсорными — вообще об стенку убиться, как мне кажется. У свежего же вернули вменяемую клавиатуру, это хорошо.
Движок правил написан на Go, для JS (ECMAScript, если быть точным) используется duktape.
Недавно был на очном собеседовании в Дублинском Google, не знаю пока, возьмут или нет. Знакомый в Google написал мне рекомендацию, но это было уже после prescreen, изначально же на меня вышли, судя по всему, благодаря повышенной активности на гитхабе.
Я когда-то, лет 15 назад, имел несчастье делать кроссплатформенный GUI layer для одной софтины, в случае винды работавший с чистым Win32 (долго объяснять, почему так получилось… но вот получилось). Из этого экспириенса мне больше всего запомнились разрушение памяти ядра в Win9x на BitBlt(), и, конечно, INITCOMMONCONTROLSEX. Последнее, мне кажется, хорошо отражает некоторые особенности работы с многими из Windows API.
По моему опыту, чтение на английском улучшает словарный запас, но не улучшает восприятие на слух и может ухудшать произношение — читаешь про себя, как пишется, потом хрен кто поймёт, когда говорить станешь. Грамматика тоже как-то в голове не очень откладывается. Читал на английском много, сейчас большинство современных художественных произведений без обилия архаизмов и т.д. обычно безо всяких словарей читаю довольно легко, того же Мартина без труда осилил. Англоязычные фильмы до недавнего времени старался смотреть с английской озвучкой и английскими субтитрами.

Я сейчас готовлюсь (или пытаюсь готовиться) к on-site interview (SRE) в Дублинском Google. Во время телефонных/hangouts интервью понял, что с engineers на технические темы общаюсь довольно свободно, а вот когда приходилось говорить с рекрутерами на более житейские темы, было несколько труднее. Сотрудница Google, которая на меня изначально вышла, судя по фамилии — ирландка; в разговоре по hangouts мы более-менее друг друга поняли, но некоторые усилия для восприятия на слух мне всё-таки приложить пришлось.

В этой связи решил послушать аудиокниги на английском. Рецепт такой — берётся книга, которую уже читал, но достаточное время назад. В моём случае это оказалась The Dark Tower by Stephen King (самое то, оголтелая технофобия — перед гуглом-то). Акцент не тот, да и ещё содержит примесь искусственных диалектов, но, думаю, сойдёт — в конце концов, насколько я понимаю, в данном офисе технари, в основном, с разных концов света. После прослушивания 50+ часов заметил, что стало гораздо проще воспринимать на слух нетехнические англоязычные ролики на youtube (с техническими больших проблем и так не было) — причём и американские, и английские, и ирландские. Смог ещё пару серий с позволения сказать The Walking Dead посмотреть без субтитров.

В то же время замечу, что без практики эффект, похоже, временный. Много лет назад слушал сначала (вспомнив детство) про Шерлока Холмса на английском, затем The Chronicles of Amber и The Hitchhiker's Guide to the Galaxy. Потом был длительный перерыв и восприятие на слух/произношение снова вернулось где-то к исходной точке. Ещё момент — если особо не стараться, грамматика от подобных экзерсисов тоже не очень улучшается.
В Яндексе не работаю, да и не монстр, но в моём случае расклад такой: 1979 г.р., с 1990 кодил «для души», так что по меркам Яндекса можно считать, что 25 лет. Какое-то время назад на меня вышли рекрутеры Google. К своему удивлению (thinking under pressure — это не моё, олимпиады никогда не любил, например) я прошёл их телефонные/hangouts interview (SRE) и они решили свозить меня в Дублин on-site interview ближе к маю (на головокружительный успех не рассчитываю по вышеназванным причинам, но может хоть Гиннеса там попью :) В процессе общения с recruiting manager мне заметили, что в резюме я указал многовато опыта — 18 лет. Я ответил, что начал отсчёт с момента, когда начал писать используемый в production софт на благо ядерных физиков МГУ — на это мне возразили, что опыт надо считать с момента окончания института. Всё равно мол порядочно выходит, но тем не менее. Так что, видимо, каждый считает, как кому нравится.
Так я же и написал про association lists выше по тексту. Можно ещё
plists (property lists):

(users (:name "Alice" :age 20))
По поводу s-expressions (Lisp) скажу — они, на мой взгляд,
бывают (не всегда!) удобнее HTML, XML, JSON и прочего, когда в документе
сравнительно мало текста. Т.е. для, скажем, представления
AST какого-либо языка или для задания layout'а (вёрстки, на которую
ложится CSS, без наполнения) HTML-страницы — очень хорошо.
Скобки — проблема надуманная, при активном
использовании обычно становятся незаметными
недели через две, если, конечно, редактор имеет правильный
autoindent и умеет подсвечивать парные скобки, а при использовании
средств типа paredit скобки неплохо помогают в редактировании.

Проблемы с s-expressions для представления данных / документов
следующие:
  • если документ преимущественно текстовый — получается некрасиво;
  • по сравнению с XML, не хватает namespaces. В случае CL есть
    packages, но их трудно назвать достаточнго гибкой заменой
    пространств имён для файлов данных;
  • tooling — XPath/XQuery/Relax NG/etc. В случае использования s-exprs
    для данных обходимся без этих полезняшек или строим велосипеды.

JSON по сравнению с s-exprs поддерживает унифицированное представление
dicts (objects), вместо которых в символьных выражениях используются
property lists, association lists либо какой-то кастомный синтаксис, специфичный
для языка (например, Clojure) или приложения (reader macros в CL).
По-моему, это не очень большая проблема, т.к. выразить ассоциативный
массив в виде s-exprs таки не сложно.
С другой стороны, JSON нет стандартных широко поддерживаемых
комментариев и это [очень плохо]. _comment-поля, на мой взгляд — извращение.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity