Costco я не встречал, но совсем рядом со мной в Гамбург-Ральштедт есть греческий магазин Метеора, надо будет к ним наведаться, у них греческое масло есть. Кстати, анисовая водка там тоже имеется и тут ещё вопрос что полезнее для организма — ложка оливкового масла или ложка Узо.
Мне вообще его вкус не нравится, он все портит! Не понимаю, почему его за бугром так форсят.
Я много лет назад тоже был такого же мнения — оно как по мне "горчило" всё, что я пробовал, до тех пор, пока не съездил в отпуск в Лигурию. Там итальянец пояснил — понимаете, всё, что южнее — там слишком много солнца, а вот тут — самое оно, и вот ещё сорт местный — Таггиаска (или Таджаска), он "правильный". Понятно, что каждый кулик своё болото хвалит, но вот когда я слопал блюдце этого масла с булкой вприкуску я понял, что попал. С этим маслом ещё песто лигурийское делают "Дженовезе", но там ещё и чеснок местный, особый. Короче, теперь раз в год заказываю из Лигурии в Германию коробку этого масла, под новый год, сразу после сбора урожая, что обходится мне в трёхзначную сумму, но оно того стоит. Ну и сортов оливкового масла оказалось много, я потом ещё один нашёл мне понравившийся, теперь покупаю. Кстати, итальянцы порой мешают свои оливки с испанскими ради удешевления, ну вот и получается масло, резкое по вкусу как коррида.
Комментатор уровнем выше имел ввиду видимо поздних переселенцев, у них практически у всех по два паспорта (у меня много знакомых) и раньше было. А те, кто на ПМЖ (типа грин/блю карточники, к примеру), имели право подать на гражданство через сколько-то лет, и да, сначала получали подтверждение о том, что гражданство будет выдано, потом отказывались от предыдущего. Теперь отказываться не нужно. Двойных стандартов там нет, и не было, просто параграфы разные совсем.
Эх, а VB-99592 так и не пофиксили — это когда у меня браузер задвинут частично за пределы монитора, так что бóльшая его часть за пределами окна и включено подтверждение выхода, то окошко подтверждения появляется за пределами границ монитора, так как центрировано по клиентской области браузера, а хочется чтобы оно было всплывало на мониторе, как любое нормальное модальное диалоговое окно в Windows. Я Вивальди использую при программировании ПЛК, и когда я в среде разработки, то бывает сдвигаю его вниз либо в сторону, но мне хочется иметь диалог, чтобы случайно не закрыть, иначе потом логиниться надо и вот при нажатии на крестик всё встаёт колом, и если следом я случайно ввод нажму, то и закроется.
Вы же можете показывать это окно где угодно, ну попросите у ОС геометрию рабочего стола и сдвиньте его в видимую область того монитора, на котором кнопка закрытия или большая часть браузера, хоть по центру, хоть рядом с тем местом, где юзер по кнопке жамкнул, или где ещё, но что б его хотя бы видно было, ну пожалуйста.
Я не работал с таким микроскопом, но работаю с зашумлёнными рентгеновскими изображениями, и первое, что там делается для увеличения соотношения сигнал/шум — это интегрирование (усреднение) по нескольким изображениям. То есть вместо одного изображения, которое вы снимаете 40 секунд, вы набираете пятнадцать штук, так что одна "фотография" будет сниматься 10 минут, а потом складываете их вместе попиксельно и делите на количество. Обычно выбирают степени двойки — 2, 4 ,8 ,16, 32, чтобы делить сдвигом, так быстрее (хотя современному компу при таких размерах изображений и обычное деление норм). Это позволяет достичь очень хороших результатов, при условии, что все усредняемые картинки сделаны без смещений, конечно (а если и так, то можно попытаться это дело перед усреднением скомпенсировать). Из моей практики — усреднение до 64 картинок имеет смысл, дальше разница гомеопатическая, но скажем между одной и шестнадцатью картиками — отличие очень велико. Ну а алгоритмы используются только когда по каким-то причинам мы не можем усреднять, либо усреднения недотаточно (деталь в движении, требования по скорости захвата и т.д.). Из алгоритмов — понижение шума вейвлетами может дать неплохие результаты.
Физтех, начало девяностых, лаборатория Владимира Максимовича Тучкевича. Куча измерительных приборов и рабочих мест с ДВК (те, что клон PDP). На первое апреля местный программист, в совершенстве знающий ОС RT11 пошутил, модифицировав драйвер принтера так, что после каждой третьей запятой он выводил слово "блин". Ну не совсем "блин", но я уж не буду тут уточнять. Научные работы докторов наук и письма заиграли новыми красками. Не все же читают распечатки. Самое прикольное, что драйвер разошёлся по отделам и ещё долго удивлял коллег. Такой вот был юмор. Но ему потом отомстили - он занимался тяжёлой атлетикой и у него возле рабочего места стояли две пудовые гири. Как-то вечером коллеги налили в углубления внизу этих гирь густой эпоксидки и поставили их на линолеум как ни в чём не бывало. Когда он начал их поднимать, все начали глумиться - что-то ты ослаб, Валера. Он правда смог оторвать их от пола, но с кусками линолеулема. Эти две дырки долго напоминали о весёлых временах.
На немецкой винде надо использую "Administratoren"
Тоже работает (после перезагрузки будет одноразовое сообщение что пароль некорректен, но на работоспособность не влияет, после второй перезагрузки его не будет)
Про маразм двух переходов я в общем согласен, просто в данной реализации можно задать скажем одно условие перехода по достижении переменной значения 5, а второе, в другое состояние при 10, и установив значение в 15 мы фактически активируем оба перехода, но выполнится только один (просто я знаю, как оно под капотом устроено). В статике это никак не проверяется, тут это на этапе дизайна автомата отсекать надо. Кстати не факт, что асинхронная модель расширенной версии как раз отработает оба перехода и следующие состояния параллельно, мне просто лень древнюю LabVIEW расчехлять, чтоб проверить.
Табличное представление в теории возможно, но в общем не очень нужно, потому что из представления автомата (а там просто граф) можно сгенерить нативный графический код LabVIEW, то есть одно графическое представление перебрасывается в другое, эквивалентное, и мне, мыслящему категориями потоков данных LabVIEW оно даже в чём-то понятнее (котя этот код мне не очень нравится).
А так там чистая незамутнённая логика, никакой магии, божественности и недетерминированности нет и в помине (с маленькой поправкой на то, что Windows не является ОСРВ в некоторых частных случаях).
Что ж, я рад, что хоть чем-то удалось удивить. Я так понял, что в "ВКП" эти диаграммы нарисованы чуть ли не MS Visio, а здесь у нас примитивное "Visio" прямо на борту, с возможностью редактирования и отладки, пошагового исполнения и т.п., что переводит программирование автоматов в разряд "как слышится — так и пишется". Нужно новое состояние — значит "New State", а новый переход — "New Transition", а больше там ничего и нет. В бекэнде там работает цикл обхода графа — состояние->переход->состояние и т.д. Не помню, что будет, если сработают два перехода (этим воскресным утром у меня нет компа под рукой), скорее всего выполнится тот, кто был создан первым, у него выше приоритет. Довольно элегантно решён вызов начинки стейта — там абстрактные интерфейсы, собственно стейт понятия не имеет что он там внутри вызывает — для него что коммуникация с ПЛК, что анализ изображения — всё едино. Ну там ещё по мелочи — есть переменные, само собой, которые я могу писать в одном состоянии и читать в другом и ими же могу управлять переходами. Элементы интерфейса тоже отражаются на переменные. Можно запустить несколько автоматов параллельно (скажем один управляет подающим конвейером, а второй — анализирует изображения), но это редко бывает надо, обычно у меня ПЛК есть для этого.
Вы правы, это картинка (Picture Control в терминах LabVIEW), но есть нюанс — она интерактивная.
Вот как создаётся такой автомат. Изначально у меня есть состояния Start (откуда я влетаю в машину состояний) и End (куда я выхожу, но так-то я могу сидеть в автомате так долго, как хочу):
Допустим я хочу сделать гильотину, которая по команде юзера (или внешнему сигналу) отрежет мне несколько ломтей чего либо. Опуская обвес датчиками, мне нужно три состояния - ожидание внешнего сигнала, собственно отрез и инкремент счётчика (в принципе я могу и двумя обойтись, засунув инкремент в отрез, но пусть будет три для наглядности), назову их Wait, Cut и Inc :
Теперь мне надо организовать транзакции между состояниями, тут всё довольно очевидно (у любого стостояния должна быть как минимум одна дефолтная транзакция, по умолчанию она замкнута сама на себя, но я их растяну вот так)
Теперь я набросаю наипростейший ГУЙ, ну пусть будет хотя бы так:
После этого мне надо настроить условия транзакций, заодно я их могу переименовать, чтоб нагляднее было (хотя я могу, конечно сделать х4х6х12 и т.д., но пусть будут осмысленные имена). Мне собственно только три надо — переход из ожидания в "отрез" срабатывает когда юзер жамкает по "Старт", затем переход из отреза в ожидание, когда число отрезов достигнуто, ну и выход, а дефолтные транзакции мне трогать не надо, они срабатывают автоматом, если другие не триггерятся:
Почти готово Осталось настроить состояния - собственно мне достаточно просто инкрементировать счётчик, ну и показывать его на экране (так то мне надо управлять гильотиной, так что в реальной жизни я добавлю больше кода для управления, чтобы послать сигнал, и.т.д). Каждое состояние может иметь несколько акций, они выполняются последовательно в пределах одного состояния, к примеру Inc будет выполнять два действия - никрементировать счётчик и потом обновлять интерфейс
Ну и вот, до тех пор пока не нажата кнопка старт, срабатывает дефолт транзакция состояния Wait, а если начинается работа, то мы прыгаем между состояниями Cut и Inc, и потом возвращаемся в Wait.
Это режим отладки с подсветкой - активное состояние обводится рамочкой, а активная транцакция подсвечивается синеньким (где-то в гифке имена транцакций потерялись, ну и ладно).
Технически линии транзакций рисуются безье кривой, так что я могу немного править диаграмму машины по вкусу, позиции лейблов тоже можно подвигать ну и состояния размещать как мне нравится (размер овалов менять нельзя), чистая косметика:
В принципе на C#/WPF это не очень сложно реализовать. В LabVIEW это где-то с седьмой версии появилось, стало быть где-то 2003 год, эх, двадцать лет прошло, вот ведь время летит.
Что касается примера из коммента выше, то там в первом стейте выполняется загрузка картинки и классификация
Собственно классификация - это предобученный классификатор
А транцзакции срабатывают соответственно классам. Вся иделогия в том, что из состояний наружу торчат их результаты, которыми и триггерятся транзакции.
Ну и дальше стейт для шестерёнок считает зубчики поиском границ
А другой для колёсиков считает в них дырочки
Как я уже писал, мне в принципе не надо заводить отдельный стейт на инкремент счётчика, вот, к примеру есля я хочу проверять упаковки шоколадок, чтобы быть уверенным, что автомат кладёт туда 12 штук:
то мне достаточно вот такой машины состояний:
Ну и в реальности оно, конечно сильно быстрее бежит, чем я поазал в режиме отладки с подсветкой выполнения:
Тот код, который выполняется внутри стейтов - суть как плагины организован, есть библиотека из готовых кирпичиков как для процесинга изображений, так и для общения с внешними устройствами (Modbus, OPC, OPC UA, TCP, платы ввода вывода и т.д.), но можно и самому написать, конечно.
Это же просто цитата из книги. Там идёт отсылка на две работы, оригинальная 1972 года Hafele J.C., Keating R.E. Science, 177, 1972, p.166. и следом Spencer D.E., Shama U. A new interpretation of the Hafele-Keating experiment. //Проблемы исследования Вселенной, вып. 21. СПб, 1999, с.250. Но надо читать и разбираться, это да, согласен.
Сергей Альбертович Салль в книге "Истоки и заблуждения релятивизма" утверждает что
"Самая известная проверка замедления хода времени в макроскопических условиях была осуществлена Дж.Хафелем и Р.Китингом. В этом опыте четыре экземпляра цезиевых часов помещались на реактивных самолетах, облетевших вокруг Земли в восточном и западном направлениях. Сравнивались показания часов, бывших на самолетах, и эталонных часов, установленных в Морской обсерватории в Вашингтоне. В современных учебниках утверждается, что эффект замедления хода времени был подтвержден. Однако несколько лет назад Китинг инициировал новую процедуру пересчета результатов этого эксперимента, и оказалось, что предсказанный СТО эффект замедления хода часов отсутствует, а прежний вывод был связан с неправомерной линеаризацией экспериментальных данных. Иными словами, результаты эксперимента были подогнаны под выводы СТО." Это 2006 года книжка.
Я это не к тому, что эффекта нет, просто замедление при таком эксперименте ничтожно. Но на МКС время замедленно, это да, и если верить интернетам, то вроде за полгода убегает семь тысячных секунды, что вполне измеримо.
@AndreyDmitriev попробовал все, о чем он "подозревал", изложить именно на LabVIEW.
Теоретически можно и на LabVIEW гильотину измыслить, там в общем есть визуальные инструменты для создания автоматов. Хотя я вообще больше по части пром обработки изображений, ну вот к примеру, сортировка и проверка лего деталек:
Или проверка пинов:
Там довольно примитивно всё - есть состояния и есть транзакции-переходы между состояниями, которые срабатывают при наступлении определённых условий. Я притормозил немножко исполнение, чтоб нагляднее было.
Дело вкуса, но мне тоже кнопки удобнее. У меня есть Kindle Oasis с кнопками и Onyx Boox Nova 3 Color c Kaleido Plus а также reMarkable, оба без кнопок, так вот свайп на обоих читалках иногда спонтанно не срабатывает и это при вдумчивом чтении достаёт неимоверно. То ли у меня пальцы слишком сухие, если послюнявить, то заметно лучше получается. Так что читаю в основном на оазисе и каждый раз пользуясь другими, думаю "ну что вам стоило вкорячить сюда пару копеечных кнопок для перелистывания"?
А вы точно ничего не путаете? Туда ставятся патроны LC422, они вообще говоря чипованные и вроде для перезаправки не предназначенные, чтобы "Отвинтили крышечку, долили чернила, закрутили" надо купить соответствующие пустые патроны с чипами. Чипы к ним отдельно тоже продаются (и всё это неоригинал, естественно). А неоригинальные наполненные LC422XL тоже в районе 25 евро за комплект, так что так на так и выходит.
А, понял. Ну тут отчасти личные предпочтения — я пользуюсь hp уже больше 25 лет и в техническом плане меня пока эта техника не подводила. Раньше я вообще заряжал картриджи шприцем из бутылки, потом достало, сейчас toner kingdom покупаю, я б не сказал что барахло, ни внешне ни по качеству печати они от оригинала не отличаются. Не, я честно попытался переползти на другую марку, и купил то ли Эпсон то ли Кэнон, но он довольно быстро отказал, да и конструктивно мне не очень понравился. Из струйников А3 вероятно brother mfc-j6540dw можно было рассмотреть, но и там оригинал патроны комплект 60 евро, а XL комплект под сотню, и вот мы снова смотрим в сторону неоригинальных.
Ещё "Зелёный луч" можно упомянуть — оптическое явление, вспышка зелёного света в момент исчезновения солнечного диска за горизонтом или появления его из-за горизонта.
Но в городе тяжеловато узреть, нужен горизонт подходящий, я видел пару раз всего — один на море и второй — в горах.
Costco я не встречал, но совсем рядом со мной в Гамбург-Ральштедт есть греческий магазин Метеора, надо будет к ним наведаться, у них греческое масло есть. Кстати, анисовая водка там тоже имеется и тут ещё вопрос что полезнее для организма — ложка оливкового масла или ложка Узо.
Я много лет назад тоже был такого же мнения — оно как по мне "горчило" всё, что я пробовал, до тех пор, пока не съездил в отпуск в Лигурию. Там итальянец пояснил — понимаете, всё, что южнее — там слишком много солнца, а вот тут — самое оно, и вот ещё сорт местный — Таггиаска (или Таджаска), он "правильный". Понятно, что каждый кулик своё болото хвалит, но вот когда я слопал блюдце этого масла с булкой вприкуску я понял, что попал. С этим маслом ещё песто лигурийское делают "Дженовезе", но там ещё и чеснок местный, особый. Короче, теперь раз в год заказываю из Лигурии в Германию коробку этого масла, под новый год, сразу после сбора урожая, что обходится мне в трёхзначную сумму, но оно того стоит. Ну и сортов оливкового масла оказалось много, я потом ещё один нашёл мне понравившийся, теперь покупаю. Кстати, итальянцы порой мешают свои оливки с испанскими ради удешевления, ну вот и получается масло, резкое по вкусу как коррида.
Комментатор уровнем выше имел ввиду видимо поздних переселенцев, у них практически у всех по два паспорта (у меня много знакомых) и раньше было. А те, кто на ПМЖ (типа грин/блю карточники, к примеру), имели право подать на гражданство через сколько-то лет, и да, сначала получали подтверждение о том, что гражданство будет выдано, потом отказывались от предыдущего. Теперь отказываться не нужно. Двойных стандартов там нет, и не было, просто параграфы разные совсем.
Эх, а VB-99592 так и не пофиксили — это когда у меня браузер задвинут частично за пределы монитора, так что бóльшая его часть за пределами окна и включено подтверждение выхода, то окошко подтверждения появляется за пределами границ монитора, так как центрировано по клиентской области браузера, а хочется чтобы оно было всплывало на мониторе, как любое нормальное модальное диалоговое окно в Windows. Я Вивальди использую при программировании ПЛК, и когда я в среде разработки, то бывает сдвигаю его вниз либо в сторону, но мне хочется иметь диалог, чтобы случайно не закрыть, иначе потом логиниться надо и вот при нажатии на крестик всё встаёт колом, и если следом я случайно ввод нажму, то и закроется.
Вы же можете показывать это окно где угодно, ну попросите у ОС геометрию рабочего стола и сдвиньте его в видимую область того монитора, на котором кнопка закрытия или большая часть браузера, хоть по центру, хоть рядом с тем местом, где юзер по кнопке жамкнул, или где ещё, но что б его хотя бы видно было, ну пожалуйста.
Я не работал с таким микроскопом, но работаю с зашумлёнными рентгеновскими изображениями, и первое, что там делается для увеличения соотношения сигнал/шум — это интегрирование (усреднение) по нескольким изображениям. То есть вместо одного изображения, которое вы снимаете 40 секунд, вы набираете пятнадцать штук, так что одна "фотография" будет сниматься 10 минут, а потом складываете их вместе попиксельно и делите на количество. Обычно выбирают степени двойки — 2, 4 ,8 ,16, 32, чтобы делить сдвигом, так быстрее (хотя современному компу при таких размерах изображений и обычное деление норм). Это позволяет достичь очень хороших результатов, при условии, что все усредняемые картинки сделаны без смещений, конечно (а если и так, то можно попытаться это дело перед усреднением скомпенсировать). Из моей практики — усреднение до 64 картинок имеет смысл, дальше разница гомеопатическая, но скажем между одной и шестнадцатью картиками — отличие очень велико. Ну а алгоритмы используются только когда по каким-то причинам мы не можем усреднять, либо усреднения недотаточно (деталь в движении, требования по скорости захвата и т.д.). Из алгоритмов — понижение шума вейвлетами может дать неплохие результаты.
Физтех, начало девяностых, лаборатория Владимира Максимовича Тучкевича. Куча измерительных приборов и рабочих мест с ДВК (те, что клон PDP). На первое апреля местный программист, в совершенстве знающий ОС RT11 пошутил, модифицировав драйвер принтера так, что после каждой третьей запятой он выводил слово "блин". Ну не совсем "блин", но я уж не буду тут уточнять. Научные работы докторов наук и письма заиграли новыми красками. Не все же читают распечатки. Самое прикольное, что драйвер разошёлся по отделам и ещё долго удивлял коллег. Такой вот был юмор. Но ему потом отомстили - он занимался тяжёлой атлетикой и у него возле рабочего места стояли две пудовые гири. Как-то вечером коллеги налили в углубления внизу этих гирь густой эпоксидки и поставили их на линолеум как ни в чём не бывало. Когда он начал их поднимать, все начали глумиться - что-то ты ослаб, Валера. Он правда смог оторвать их от пола, но с кусками линолеулема. Эти две дырки долго напоминали о весёлых временах.
Да просто прошивка шестой версии
А я вместо oobe\bypassnro в этом месте из консоли сразу пользователя создаю:
C:\Windows\System32>net.exe user "Andrey" /add
C:\Windows\System32>net.exe localgroup "Administrators" "Andrey" /add
C:\Windows\System32>msoobe.exe && shutdown.exe -r
На немецкой винде надо использую "Administratoren"
Тоже работает (после перезагрузки будет одноразовое сообщение что пароль некорректен, но на работоспособность не влияет, после второй перезагрузки его не будет)
Про маразм двух переходов я в общем согласен, просто в данной реализации можно задать скажем одно условие перехода по достижении переменной значения 5, а второе, в другое состояние при 10, и установив значение в 15 мы фактически активируем оба перехода, но выполнится только один (просто я знаю, как оно под капотом устроено). В статике это никак не проверяется, тут это на этапе дизайна автомата отсекать надо. Кстати не факт, что асинхронная модель расширенной версии как раз отработает оба перехода и следующие состояния параллельно, мне просто лень древнюю LabVIEW расчехлять, чтоб проверить.
Табличное представление в теории возможно, но в общем не очень нужно, потому что из представления автомата (а там просто граф) можно сгенерить нативный графический код LabVIEW, то есть одно графическое представление перебрасывается в другое, эквивалентное, и мне, мыслящему категориями потоков данных LabVIEW оно даже в чём-то понятнее (котя этот код мне не очень нравится).
А так там чистая незамутнённая логика, никакой магии, божественности и недетерминированности нет и в помине (с маленькой поправкой на то, что Windows не является ОСРВ в некоторых частных случаях).
Совсем забыл написать — они сдёрнуты с экрана при помощи ScreenToGif.
Что ж, я рад, что хоть чем-то удалось удивить. Я так понял, что в "ВКП" эти диаграммы нарисованы чуть ли не MS Visio, а здесь у нас примитивное "Visio" прямо на борту, с возможностью редактирования и отладки, пошагового исполнения и т.п., что переводит программирование автоматов в разряд "как слышится — так и пишется". Нужно новое состояние — значит "New State", а новый переход — "New Transition", а больше там ничего и нет. В бекэнде там работает цикл обхода графа — состояние->переход->состояние и т.д. Не помню, что будет, если сработают два перехода (этим воскресным утром у меня нет компа под рукой), скорее всего выполнится тот, кто был создан первым, у него выше приоритет. Довольно элегантно решён вызов начинки стейта — там абстрактные интерфейсы, собственно стейт понятия не имеет что он там внутри вызывает — для него что коммуникация с ПЛК, что анализ изображения — всё едино. Ну там ещё по мелочи — есть переменные, само собой, которые я могу писать в одном состоянии и читать в другом и ими же могу управлять переходами. Элементы интерфейса тоже отражаются на переменные. Можно запустить несколько автоматов параллельно (скажем один управляет подающим конвейером, а второй — анализирует изображения), но это редко бывает надо, обычно у меня ПЛК есть для этого.
Кстати, помимо простенького LabVIEW State Diagram Toolkit, о котором шла речь выше, был ещё одно время навороченный LabVIEW State Chart Module. Визуально он чуть иначе выглядит:
Анатомия там вот такая:
помимо классических состояний (2), инициирующих (1) и терминальных (12) псевдосостояний и переходов (4) были введены супер-состояния (5), суб-состояния (9), ортогональные регионы (7 и 8), форки (6) и джойны (11), история состояний (10), порты (3) и вообще чёрта в ступе, всё это как синхронно, так и асинхронно и всё такое.
Но этот "швейцарский нож" не зашёл совершенно, в 2018 году вроде как разработка была прекращена.
Вот любопытно, а про бесплатную утилизацию отработанного "устройства iPhone" надпись типа такой будет?
(впрочем за аутентичность фото не ручаюсь, оно стырено с просторов интернета)
Приятно снова пообщаться, Вячеслав.
Вы правы, это картинка (Picture Control в терминах LabVIEW), но есть нюанс — она интерактивная.
Вот как создаётся такой автомат. Изначально у меня есть состояния Start (откуда я влетаю в машину состояний) и End (куда я выхожу, но так-то я могу сидеть в автомате так долго, как хочу):
Допустим я хочу сделать гильотину, которая по команде юзера (или внешнему сигналу) отрежет мне несколько ломтей чего либо. Опуская обвес датчиками, мне нужно три состояния - ожидание внешнего сигнала, собственно отрез и инкремент счётчика (в принципе я могу и двумя обойтись, засунув инкремент в отрез, но пусть будет три для наглядности), назову их Wait, Cut и Inc :
Теперь мне надо организовать транзакции между состояниями, тут всё довольно очевидно (у любого стостояния должна быть как минимум одна дефолтная транзакция, по умолчанию она замкнута сама на себя, но я их растяну вот так)
Теперь я набросаю наипростейший ГУЙ, ну пусть будет хотя бы так:
После этого мне надо настроить условия транзакций, заодно я их могу переименовать, чтоб нагляднее было (хотя я могу, конечно сделать х4х6х12 и т.д., но пусть будут осмысленные имена). Мне собственно только три надо — переход из ожидания в "отрез" срабатывает когда юзер жамкает по "Старт", затем переход из отреза в ожидание, когда число отрезов достигнуто, ну и выход, а дефолтные транзакции мне трогать не надо, они срабатывают автоматом, если другие не триггерятся:
Почти готово Осталось настроить состояния - собственно мне достаточно просто инкрементировать счётчик, ну и показывать его на экране (так то мне надо управлять гильотиной, так что в реальной жизни я добавлю больше кода для управления, чтобы послать сигнал, и.т.д). Каждое состояние может иметь несколько акций, они выполняются последовательно в пределах одного состояния, к примеру Inc будет выполнять два действия - никрементировать счётчик и потом обновлять интерфейс
Ну и вот, до тех пор пока не нажата кнопка старт, срабатывает дефолт транзакция состояния Wait, а если начинается работа, то мы прыгаем между состояниями Cut и Inc, и потом возвращаемся в Wait.
Это режим отладки с подсветкой - активное состояние обводится рамочкой, а активная транцакция подсвечивается синеньким (где-то в гифке имена транцакций потерялись, ну и ладно).
Технически линии транзакций рисуются безье кривой, так что я могу немного править диаграмму машины по вкусу, позиции лейблов тоже можно подвигать ну и состояния размещать как мне нравится (размер овалов менять нельзя), чистая косметика:
В принципе на C#/WPF это не очень сложно реализовать. В LabVIEW это где-то с седьмой версии появилось, стало быть где-то 2003 год, эх, двадцать лет прошло, вот ведь время летит.
Что касается примера из коммента выше, то там в первом стейте выполняется загрузка картинки и классификация
Собственно классификация - это предобученный классификатор
А транцзакции срабатывают соответственно классам. Вся иделогия в том, что из состояний наружу торчат их результаты, которыми и триггерятся транзакции.
Ну и дальше стейт для шестерёнок считает зубчики поиском границ
А другой для колёсиков считает в них дырочки
Как я уже писал, мне в принципе не надо заводить отдельный стейт на инкремент счётчика, вот, к примеру есля я хочу проверять упаковки шоколадок, чтобы быть уверенным, что автомат кладёт туда 12 штук:
то мне достаточно вот такой машины состояний:
Ну и в реальности оно, конечно сильно быстрее бежит, чем я поазал в режиме отладки с подсветкой выполнения:
Тот код, который выполняется внутри стейтов - суть как плагины организован, есть библиотека из готовых кирпичиков как для процесинга изображений, так и для общения с внешними устройствами (Modbus, OPC, OPC UA, TCP, платы ввода вывода и т.д.), но можно и самому написать, конечно.
Где-то так.
Это же просто цитата из книги. Там идёт отсылка на две работы, оригинальная 1972 года Hafele J.C., Keating R.E. Science, 177, 1972, p.166. и следом Spencer D.E., Shama U. A new interpretation of the Hafele-Keating experiment. //Проблемы исследования Вселенной, вып. 21. СПб, 1999, с.250. Но надо читать и разбираться, это да, согласен.
Сергей Альбертович Салль в книге "Истоки и заблуждения релятивизма" утверждает что
"Самая известная проверка замедления хода времени в макроскопических условиях была осуществлена Дж.Хафелем и Р.Китингом. В этом опыте четыре экземпляра цезиевых часов помещались на реактивных самолетах, облетевших вокруг Земли в восточном и западном направлениях. Сравнивались показания часов, бывших на самолетах, и эталонных часов, установленных в Морской обсерватории в Вашингтоне. В современных учебниках утверждается, что эффект замедления хода времени был подтвержден. Однако несколько лет назад Китинг инициировал новую процедуру пересчета результатов этого эксперимента, и оказалось, что предсказанный СТО эффект замедления хода часов отсутствует, а прежний вывод был связан с неправомерной линеаризацией экспериментальных данных. Иными словами, результаты эксперимента были подогнаны под выводы СТО." Это 2006 года книжка.
Я это не к тому, что эффекта нет, просто замедление при таком эксперименте ничтожно. Но на МКС время замедленно, это да, и если верить интернетам, то вроде за полгода убегает семь тысячных секунды, что вполне измеримо.
Теоретически можно и на LabVIEW гильотину измыслить, там в общем есть визуальные инструменты для создания автоматов. Хотя я вообще больше по части пром обработки изображений, ну вот к примеру, сортировка и проверка лего деталек:
Или проверка пинов:
Там довольно примитивно всё - есть состояния и есть транзакции-переходы между состояниями, которые срабатывают при наступлении определённых условий. Я притормозил немножко исполнение, чтоб нагляднее было.
Дело вкуса, но мне тоже кнопки удобнее. У меня есть Kindle Oasis с кнопками и Onyx Boox Nova 3 Color c Kaleido Plus а также reMarkable, оба без кнопок, так вот свайп на обоих читалках иногда спонтанно не срабатывает и это при вдумчивом чтении достаёт неимоверно. То ли у меня пальцы слишком сухие, если послюнявить, то заметно лучше получается. Так что читаю в основном на оазисе и каждый раз пользуясь другими, думаю "ну что вам стоило вкорячить сюда пару копеечных кнопок для перелистывания"?
А вы точно ничего не путаете? Туда ставятся патроны LC422, они вообще говоря чипованные и вроде для перезаправки не предназначенные, чтобы "Отвинтили крышечку, долили чернила, закрутили" надо купить соответствующие пустые патроны с чипами. Чипы к ним отдельно тоже продаются (и всё это неоригинал, естественно). А неоригинальные наполненные LC422XL тоже в районе 25 евро за комплект, так что так на так и выходит.
А, понял. Ну тут отчасти личные предпочтения — я пользуюсь hp уже больше 25 лет и в техническом плане меня пока эта техника не подводила. Раньше я вообще заряжал картриджи шприцем из бутылки, потом достало, сейчас toner kingdom покупаю, я б не сказал что барахло, ни внешне ни по качеству печати они от оригинала не отличаются. Не, я честно попытался переползти на другую марку, и купил то ли Эпсон то ли Кэнон, но он довольно быстро отказал, да и конструктивно мне не очень понравился. Из струйников А3 вероятно brother mfc-j6540dw можно было рассмотреть, но и там оригинал патроны комплект 60 евро, а XL комплект под сотню, и вот мы снова смотрим в сторону неоригинальных.