В связи с тестированием сетевых блокировок в РФ на стороне нашего хостинг-провайдера наблюдаются проблемы с сетью. Сайт может работать нестабильно. Проблема известна, ожидаем восстановления маршрутов.
Авторизация
или войдите через
Забыли пароль?Восстановить
Восстановить пароль
Помощь проекту
Укажите в комментарии свой ник, чтобы мы знали, кого благодарить
На удивление справиться с тремя троллями получилось быстрее, чем думали. Но то, что они забрались так далеко, очень настораживает.
После битвы с тремя троллями оценили потери. В основном все целы, но нескольким людям сильно не повезло. Экандейо встревожен, что чудовища слишком организованы, обычно они одиночки. К тому же странный символ на груди одного их них свидетельство того, что некоторые из них больше не будут бояться огня, как раньше. Хамако про себя отметил, что символ явно оставлен клеймом.
Вернувшись в Ревланд, Ийанна первым делом нашла Регонгара и Октавию. Джубилоста она в последнее время слишком часто беспокоила вопросами, так что решила поменьше попадаться ему на глаза. У полуорка и полуэльфийки девушка попыталась узнать про символ, но безуспешно. Также излила душу Октавии, рассказав о поступке Зироу. Поток нелестных комментариев закончился тем, что Ийанна признала, как они с Тристианом идеально друг другу подходят, до тошноты правильные и скучные...С улыбкой добавила, что Тристиан хотя бы хорошо танцует.
Где-то в закутке Мен Ра пытался устраивать тараканьи бои, натравливая тараканов друг на друга. Он болел за одного из них, кидал монетки на собранное из веточек ристалище. Хамако нашел его за этим занятием и попросил рассказать подробнее о запретах его божества. Нехотя, но павиан отвлекся от своего весьма интересного занятия и посвятил барона в тонкости своей веры.
Барону и его товарищам на время пришлось отложить путешествия по округе, поскольку наступило время раздать поручения и выслушать просьбы, касающиеся развития земель. Сэр Гаррес, как и Экандейо, беспокоился из-за стычки с троллями, поэтому посоветовал нанять армию, что Хамако воспринял с энтузиазмом.
Ранее на протяжении месяца, каждый день, когда Ийанна была в Ревланде, она использовала свою магию, выращивая много цветущих деревьев. Спустя время стало заметно, что помимо деревьев тут и там появились ростки редких цветов, которых раньше не было. По словам сказителя это - благословение земли.
В один из дней Гаррес предупредил группу о посетителях. Одним из них был уже накомый Олег с поста, желавший обсудить статус его поста, и готов ли Хамако принять его в состав своих границ (не готов, так как людей всё ещё не хватает). Вторым же оказался аристократ из Пинтакса. В расшитом камзоле, с идеально уложенными волосами, представился как Стэфано Маскони, посол королевского величества из Пинтакса. Он возвращался из Рестова и решил потратить один день, чтобы навестить местные земли. Но он был очень разочарован состоянием окрестностей, так что поспешил выразить свои эмоции через пренебрежение и глумление, говоря, что, возможно, королю Ироветти следует завоевать их. Это будет куда милосерднее и гуманнее, чем ждать их потопления. Хамако пытался вежливо урегулировать данную ситуацию, объясняя, что требуется ещё немного времени на развитие, ведь эти земли принадлежат ему недавно. Но посол не унимался. С каждым предложением он становился всё грубее и беспардоннее. Ийанна не вмешивалась, хотя стояла позади Хамако красная, как рак. Зато вмешался Лебеда. Юноша намекнул, что места здесь дикие, и будет не очень хорошо, если на его повозку нападут тролли, а он сам никогда не увидит родных краев. Выражение лица посла стоило всех этих слов, мужчина поспешил убраться с глаз очень быстро. Хамако был немого недоволен таким решением, однако Ландер объяснил ему, что не стоит церемониться с такими нахалами. В будущем таких будет много, ему стоит научиться быть жестче.
В течение недели, помимо прямых обязанностей, Хамако общался с Джейтал на тему новых законов, со своей тетей на тему путешествий, ну и по мелочам с остальными спутниками. Также продолжил тренироваться с Каэсси. Во время одной из тренировок, девушка, обладая сильно огненным настроением (поскольку она кинетик и огня и воды, её настроение влияет на магию), весьма откровенно соблазнила Хамако. Ийанна была бы не Ийанной, если бы на следующее утро не заметила изменения в поведении брата. Юноша был более довольный и спокойный, чем обычно. Хамако, очень расплывчато ответив на вопросы, предпочел быстро закончить разговор и ретировался в сторону обеденного зала под ехидным взглядом сестры. Ийанне осталось только выяснить, кто же эта незнакомка.
Незапланированный кусочек. Я, оказывается, забыла рассказать, что рисую карандашами. И очень мне захотелось в связи с этим показать процесс, он долгий, но очень приятный. Обычно я процесс не фотографирую, но тут очень кстати пришлось мероприятие, вроде их называют марафоны, когда люди неделю творят вместе и делятся результатами каждый день. Вот и тут была такая неделя у эсперантистов-алкоголиков писателей и художников, и я в ней участвовала. Картинка к рассказу про мышонка, о нем еще будет.
В агенте 007 сочетаются черты многих знакомых Флеминга. Одним из них был сербский шпион Душко Попов.
В 1952 году Ян Флеминг создал своего Джеймса Бонда — персонажа, которому предстояло стать поистине культовым. Вряд ли Флеминг в тот момент мог предвидеть мировой успех его героя, серию романов об агенте 007 и множество экранизаций. Джеймс Бонд стал брендом, принёсшим его создателю славу, признание и богатство. Шпион, с лёгкостью побеждающий изощрённых злодеев, сорящий деньгами, появляющийся в самых фешенебельных местах в окружении роскошных женщин, подъезжающий к казино в шикарном авто, распивающий дорогой алкоголь и при этом не теряющий хватки, — это тот образ, который сопровождает персонажа на протяжении десятилетий.
При создании своего Бонда Флеминг обращался для вдохновения к вполне реальным фигурам, которые в той или иной степени напоминают книжного героя, и, по признанию автора, агент 007 — это именно собирательный образ. Всё же многие исследователи полагают, что самый первый роман, «Казино Рояль», был написан Флемингом под впечатлением от встречи с Душко Поповым — сербским шпионом, двойным агентом и бонвиваном.
Душко Попов — начало шпионской карьеры
Душан (или Душко) Попов родился 10 июля 1912 года в Австро-Венгрии, в семье сербов Милорада и Зоры Поповых. У мальчика были братья: старший Иван и младший Владан. Семья Поповых не бедствовала: отец занимался недвижимостью, во владении родителей Душко находилось множество домов, вилл, а также яхт. Милорад и Зора настаивали на получении сыновьями лучшего образования, изучении языков и расширении кругозора. Душко учился в школах Франции и Англии, затем поступил на юридический факультет в Белградский университет, а по его окончании продолжил образование уже в Германии.
Во Фрайбург молодой Душко прибыл в 1934 году, когда у власти уже находился Адольф Гитлер. Несмотря на очевидные политические перемены в стране, Душко, казалось, был не слишком озабочен режимом НСДАП. Однажды на одном из политических собраний он выступил с речью в защиту демократических ценностей, чем привлёк к себе внимание нацистских пропагандистов. Молодым человеком заинтересовалось гестапо, и вскоре его арестовали. Попова обвинили в поддержке и пропаганде коммунизма, больше недели его допрашивали, а затем отправили в тюрьму, откуда, по всей видимости, ему предстояло отбыть в концлагерь.
Душко Попов
В дело вмешался друг Попова Йоханн «Джонни» Йебсен, молодой человек из богатой немецко-датской семьи. Джонни связался с Милорадом Поповым и сообщил об аресте его сына, тот поднял свои связи и через премьер-министра Югославии обратился с прошением напрямую к Герману Герингу. Душко немедленно освободили из тюрьмы, однако с условием, что тот должен будет уехать из Германии в течение суток. Оказавшись на свободе, Попов отправился в Швейцарию, а затем — в Дубровник.
Вскоре Душко получил от Джонни письмо, где тот умолял его о скорейшей встрече в Белграде. Йебсен сообщил другу, что вступил в абвер — немецкую разведку. Душко, зная о неприязни Йебсена к нацистам, удивился такому решению, однако Джонни объяснил, что пошёл на это, дабы избежать отправки в действующую армию, но, помимо прочего, объявил, что хотел бы послужить интересам Германии, несмотря на неприятие режима Гитлера.
Абвер использовал Йебсена ради его контактов в бизнес-кругах. В то же время Джонни намекнул, что и Попов мог бы стать агентом разведки.
Душко взял время на раздумья, после чего сразу же отправился в посольство Великобритании, где сообщил о предложении Йебсена. Британцы убедили Попова согласиться вступить в абвер, но параллельно стать агентом МИ-6.
Таким образом, с 1940 года Душко работал двойным агентом, поставляя сведения одновременно немецкой и британской разведкам.
Двойной агент: на службе абвера и МИ-6
Куратором Попова со стороны Германии стал полковник Эрнст Мюцингер — ему же отчитывался и Джонни Йебсен. Тот пояснил, что абверу нужен был свой человек в британских высших кругах, куда у светского Душко был доступ. От него требовалось поставлять немецкой разведке сведения об обороноспособности Великобритании. Помимо вопросов непосредственно о заводах и предприятиях по изготовлению военной продукции там значились и более широкие темы, например, о политических врагах Уинстона Черчилля.
Через Попова британцы поставляли абверу ложные сведения о военных ресурсах. Душко обосновался в нейтральной Португалии, где также базировались его кураторы как от абвера, так и от МИ-6. По мнению некоторых историков, именно за игровым столом в одном из казино Лиссабона Попов обменивался сведениями с другими разведчиками посредством ставок.
Именно в Лиссабоне в 1941 году Ян Флеминг впервые встретился с Душко: он был под большим впечатлением от Попова.
Тот играл по-крупному и однажды поставил в баккара на кон 50 тыс. долл. (около 1,5 млн в пересчёте на современные деньги), только чтобы разоблачить блефующего, по его мнению, игрока, некоего литовца. Как выяснилось впоследствии, это были средства, выданные Попову одной из разведок в качестве деловых расходов. Вероятно, именно этот эпизод вошёл в роман Флеминга «Казино Рояль».
Настоящее же казино, где Флеминг наблюдал за Душко, «Эшторил», существует и по сей день. Тем не менее, работавший в то время на британскую разведку, Флеминг лично с Поповым не беседовал по весьма понятным причинам — чтобы не скомпрометировать алиби двойного агента.
В Португалии Душко вёл всё тот же привычный ему образ жизни плейбоя, гуляки и «золотого мальчика»: он был завсегдатаем игорных заведений, не пропускал вечеринок, регулярно появлялся в свете с известными и не очень красавицами, пил не меньше самого Джеймса Бонда.
Впоследствии, впрочем, Душко заметил, что, если бы Бонд был реальным шпионом, то не исполнил бы ни одной миссии из-за чрезмерной любви к выпивке. Для двойного агента это было весьма экстравагантное поведение: Попов не скрывался в тени, а, напротив, привлекал внимание.
Мог ли Попов предотвратить Пёрл-Харбор?
В 1941-м он по поручению абвера отправился в США, где ему предстояло связаться с агентами немецкой разведки, а также, по мере возможности, сфотографировать американскую базу ВМС Пёрл-Харбор. Ранее Попов должен был предоставить сведения японцам об ущербе, который британская авиации нанесла кораблям, пришвартованным в итальянском Таранто.
Связав эти две миссии, Душко пришёл к выводу, что японцы готовятся нанести удар по Перл-Харбору, и именно с этой целью интересуются, насколько велик может быть урон от бомбёжки флотилии с воздуха.
Нападение японцев на Пёрл-Харбор.Источник: Wikimedia Commons
Приехав в США, Попов потратил огромную часть выделенных ему абвером денег на личные нужды: снял роскошные апартаменты, прикупил новый автомобиль, увивался за актрисами. Добившись встречи с главой ФБР Эдгаром Гувером после двух недель ожидания, Душко поведал ему об интересе абвера и японцев к американской базе на острове Оаху на Гавайях.
Гувер же, выслушав Попова, не стал предпринимать никаких действий по предотвращению вероятной атаки на Пёрл-Харбор. Более того, глава ФБР был крайне резок с Душко, назвав того распутником и пройдохой, и запретил двойному агенту даже приближаться к Гавайям. Скорее всего, Гувер не доверял Попову и не был в восторге от того, что британская разведка, которая, разумеется, была в курсе миссии, суёт свой нос в американские дела.
Так или иначе, разведывательная деятельность Душко в Америке была признана провальной как британцами, так и абвером. По возвращении из США Попов продолжил работать двойным агентом, поставляя немцам ложные сведения о готовящихся операциях союзнических войск: в частности, он был одним из тех, кто направил Германию по ложному следу о высадке в Нормандии.
С кого списан агент 007?
После окончания Второй мировой войны Душко Попов переехал во Францию. На протяжении нескольких десятилетий он не распространялся о шпионском прошлом, однако в 1974 году опубликовал книгу, где рассказал о событиях военных лет и о своей роли в них. У историков вызывают сомнения отдельные эпизоды автобиографии, однако в целом книгу полагают вполне правдивой.
Жизнь Душко не просто так сравнивают с биографией вымышленного шпиона Джеймса Бонда: как и агент 007, Попов мастерски умел выходить сухим из воды, не раз находился на грани провала, но всегда избегал худшей участи. Кроме того, привычки, образ и стиль жизни Попова напоминают бондовские.
В Бонде можно найти черты и многих других разведчиков, военных и шпионов, с которыми Флеминг был либо знаком лично, либо наслышан о них. Полагают, что прототипов было не менее десятка. В главном герое бондианы угадываются и черты самого автора: как и Бонд, Флеминг работал в разведке, был заядлым игроком, любил гольф и очень много курил. Писатель наделил своего агента 007 схожими вкусами в еде, алкоголе и даже в выборе туалетных принадлежностей. В прочих героях бондианы угадываются знакомые, друзья, одноклассники и возлюбленные Флеминга. Главное отличие Бонда от всех реальных прототипов, пожалуй, в том, что он — поистине бессмертен.
Q: Что такое VM5277? Это виртуальная машина?
A: Нет, несмотря на название. VM5277 — это компилятор
языка J8B (Java-подобный синтаксис) в нативный ассемблерный код для
8-битных микроконтроллеров. Никакой виртуальной машины на МК не
выполняется — только нативный код. Название историческое и отражает
архитектурную идею: для мощных устройств в будущем планируется
легковесная JVM, для слабых — трансляция в ассемблер.
Q: Проект бесплатный?
A: Да. Весь проект распространяется под лицензией
Apache 2.0. Исходный код открыт и всегда будет открыт. Использование в
коммерческих продуктах разрешено. Автор оставляет за собой право в
будущем предлагать платные расширения (эксклюзивные платформы,
специализированные драйверы, продвинутые оптимизации, улучшенное
качество кода), но открытая кодовая база навсегда остаётся доступной для
fork'а и самостоятельного развития сообществом.
Q: Проект разрабатывает один человек? Что будет, если вы забросите?
A: Да, проект разрабатывается одним человеком. На
текущий момент пройден путь от идеи до работающего компилятора,
ассемблера, RTOS и инструментария — это около 1 года активной
разработки. Объём проделанной работы и вложенного времени делают риск
прекращения разработки крайне низким. Код открыт под Apache 2.0 —
сообщество также сможет продолжить развитие.
Даже в случае прекращения активной разработки вы получаете работающий
компилятор и RTOS под открытой лицензией — это не облачный сервис,
который могут отключить.
Для пользователей (тех, кто пишет прошивки)
Q: На каких микроконтроллерах это работает прямо сейчас?
A: Сейчас поддерживается AVR: ATmega168p, ATmega328p
(Arduino Uno), Attiny2313a и другие. Добавление нового МК того же
семейства — это, как правило, формирование конфигурационного файла по
шаблону, а не переписывание кода. Поддержка PIC и STM8 архитектурно
проработана, реализация запланирована на ближайшее будущее. При этом код
на J8B пишется сразу с расчётом на кроссплатформенность — когда
появится поддержка новых архитектур, ваша бизнес-логика не потребует
переписывания.
Q: Чем J8B лучше Arduino C++?
A:
Читаемость: Java-подобный синтаксис без заголовочных файлов, дефайнов, указателей и ручного управления памятью.
Кросс-платформенность: бизнес-логика не привязана к
архитектуре МК. При смене платформы меняется только нижний слой,
разработка которого - наша задача.
RTOS из коробки: многозадачность через Thread API, а не через самодельные конечные автоматы.
Исключения: try-catch и stack trace прямо на МК.
Скорость сборки: компиляция в разы быстрее Arduino IDE.
Эффективность кода: компилятор и RTOS включают в
сборку только то, что реально задействовано в программе. Нет мёртвого
кода, нет раздутой стандартной библиотеки «на всякий случай».
ООП-конструкции частично разрешаются на этапе компиляции и не создают накладных
расходов в рантайме. По размеру прошивки и расходу ОЗУ результат
сопоставим с хорошо написанным кодом на Си — и заметно компактнее
типичного C++ с виртуальными методами и шаблонами.
Q: Чем J8B хуже Arduino C++?
Качество кода: проект в альфе — есть баги, не все фичи реализованы, тестирование пока не всестороннее.
Платформы: сейчас только AVR. Поддержка PIC и STM8 в разработке — если нужно прямо сегодня, придётся подождать.
Экосистема: готовых библиотек и драйверов крайне мало. На старте многое придётся писать самому или адаптировать.
Сообщество: его пока нет, а значит нет и готовых ответов на Stack Overflow, туториалов, примеров от других пользователей.
По сути, главный недостаток сегодня — проект мало кому
известен. С ростом сообщества эти проблемы уходят: больше тестирования —
меньше багов, больше пользователей — больше библиотек и примеров.
Q: Какой размер прошивки получается? Не раздует ли ООП мой код?
A: Компилятор генерирует оптимизированный ассемблерный
код, близкий по эффективности к ручному. ООП-конструкции (классы,
интерфейсы) разрешаются на этапе компиляции и не создают накладных
расходов в рантайме — там, где нужны служебные данные (например, таблицы
виртуальных методов для интерфейсов), они минимальны и включаются в
сборку только если вы реально используете полиморфизм. Конкретные цифры:
пример с enum и выводом — 1204 байта (3% памяти ATmega328p), пример с
исключениями и трассировкой стека — 2389 байт (7.5%).
Q: Могу ли я использовать существующие Arduino-библиотеки?
A: Нет — иначе это был бы клон или прослойка над Ардуино - это другой язык и другая экосистема. Но вы можете:
Обернуть нужный функционал в native-метод на ассемблере.
Переиспользовать логику, переписав её на J8B (обычно это проще, чем кажется).
В перспективе — использовать готовые библиотеки и драйверы из runtime библиотеки VM5277.
Q: Как отлаживать программу? Нужен ли дорогой программатор?
A: Нет, достаточно USB-UART адаптера. Сейчас реализовано:
Вывод в консоль (логи, значения переменных).
Трассировка исключений с именами методов и номерами строк.
Обновление прошивки без перетыкания проводов.
В разработке: полноценный отладчик верхнеуровневого языка.
Q: Какую IDE использовать?
A: На текущем этапе достаточно любого текстового
редактора — сборка запускается из командной строки одной командой. Также
поддерживается сборка через Maven. Для тех, кто предпочитает IDE:
доступен плагин для IntelliJ IDEA (приоритетное направление,
бета-версия) и NetBeans (слабый приоритет, черновая версия) — с
подсветкой синтаксиса, деревом проекта и запуском компиляции из IDE. В
планах — LSP-сервер для поддержки VS Code, Kate и других редакторов.
Q: Что нужно для старта?
A: Минимальный набор:
Плата Arduino Uno или любая с ATmega168p/328p. Также поддерживаются другие чипы ATmega и ATtiny.
Для плат без встроенного USB-UART — внешний USB-UART адаптер.
Компьютер с Windows, GNU/Linux или macOS — инструменты на Java
работают везде (в альфа-версии тестировались только на GNU/Linux).
5 минут на установку и первую прошивку.
Q: Где взять примеры кода?
A: В репозитории проекта в папке examples/j8b/:
helloworld, gpio, исключения, enum и другие. Каждый пример содержит
готовый pom.xml и собирается одной командой: mvn j8b:run -Parduino-uno
Или напрямую из IDE через плагин. После сборки — сразу готовая прошивка.
Для разработчиков и интересующихся архитектурой
Q: Почему вы написали свой компилятор, а не использовали LLVM/GCC?
A: Задача VM5277 — не только компиляция, но и глубокая
интеграция с собственной RTOS и системой исключений. Использование
готового бэкенда не дало бы нужного уровня контроля над кодогенерацией и
не позволило бы реализовать фичи вроде try-catch на устройствах с 2 КБ
ОЗУ. Кроме того, одна из целей проекта — максимальная скорость сборки
без тяжёлых зависимостей.
Q: На чём написан компилятор?
A: Полностью на Java, без сторонних зависимостей.
Собирается через Maven. Может работать как JAR (требуется JRE 8+) или
как нативный исполняемый файл через GraalVM Native Image (JRE не
требуется).
Q: Как устроен процесс компиляции?
A: Исходный код J8B → парсинг (AST) → семантический
анализ → промежуточное представление → генерация ассемблерного кода под
целевую платформу → встроенный ассемблер → HEX-прошивка. Весь процесс —
возможен одной командой, без внешних инструментов.
Q: Что такое J8B? Это подмножество Java?
A: J8B — самостоятельный язык с Java-подобным синтаксисом, спроектированный специально для 8-битных МК. От Java отличается:
Нет наследования классов (с наследованием интерфейсов) — архитектура строится на композиции.
Нет generics.
Примитивы адаптированы под 8-битное железо: bool, byte, char, short,
int, fixed (Q7.8 с фиксированной точкой), enum. Все целые, кроме fixed,
— беззнаковые.
Нет сборщика мусора — управление памятью через RTOS (подсчет ссылок).
Небольшие отличия в синтаксисе: например, оператор for с else.
Встроенная поддержка многозадачности и аппаратных абстракций — в активной разработке.
Q: Как устроена RTOS?
A: RTOS написана на ассемблере для каждой платформы
отдельно — это даёт полный контроль над размером кода и быстродействием
критичных участков. Включает: динамическое выделение памяти, вытесняющую
многозадачность, таймеры, блокировки, системные вызовы, драйверы
ввода-вывода. Предоставляет высокоуровневый API для J8B (Thread, System,
Math и т.д.).
Q: Как работают исключения при 2 КБ ОЗУ?
A: Механизм исключений реализован на уровне компилятора
и RTOS. Информация о типах исключений и обработчиках вычисляется на
этапе компиляции. Stack trace собирается средствами RTOS в компактном
бинарном виде, а в человекочитаемый формат (имена методов, номера строк)
разворачивается уже на хосте — утилитой прошивальщика с использованием
отладочной информации. Накладные расходы на МК минимальны: никакой
виртуальной машины, никакого хранения имён методов в прошивке.
Q: Что с поддержкой прерываний?
A: Низкоуровневые прерывания полностью под контролем
RTOS. Пользователю не нужно лезть в ассемблер для типовых задач — всё
уже обёрнуто в высокоуровневые конструкции языка и runtime-библиотеки:
классы Thread, GPIO, Timer и другие. Тот же мигающий светодиод по
таймеру — это несколько строк на J8B, без единой мысли о прерываниях.
Доступ к прерываниям опосредован — через API RTOS:
таймеры, блокировки, ожидание событий. J8B — язык для бизнес-логики,
весь hard realtime остаётся внутри RTOS. Единственный случай, когда
может понадобиться ассемблер — вы пишете что-то узкоспециализированное, и
тогда используете нативные методы.
Q: Как я могу помочь проекту?
A: На текущем этапе наиболее ценная помощь:
Распространять проект — рассказывать о нём, показывать коллегам. Чем больше пользователей, тем быстрее развитие.
Тестировать на реальном железе — запустить примеры на своих платах, проверить на разных ревизиях чипов.
Писать тесты — unit-тесты семантики компилятора и всего остального. Этого очень не хватает.
Давать обратную связь — особенно по работе frontend-компилятора: что удобно, что непонятно, что сломалось.
Сообщать об ошибках — в баг-трекер GitHub или напрямую на почту.
Помочь с плагинами для IDE — плагины для IntelliJ
IDEA и NetBeans сырые, документации по API NetBeans мало, поэтому
особенно ценен опытный разработчик плагинов, который поможет вывести их
на более качественный уровень.
Q: Когда будет поддержка PIC/STM8?
A: Я планировал в Q2 2026, но сильно засел на
багфиксинге и доработках проекта - скорее всего ближе к концу 2026 года.
Архитектура компилятора и RTOS изначально спроектированы под
мультиплатформенность, кодогенераторы для новых архитектур не требуют
переписывания фронтенда, но есть более приоритетные задачи.
Q: Планируется ли поддержка 32-битных МК?
A: Да, но не ранее STM8. Для слабых 32-битных устройств
— нативная компиляция, для мощных — легковесная JVM. Это стратегическое
направление развития, но приоритет сейчас — стабилизация и расширение
на 8-битном сегменте.
Tangatin совершил классическую ошибку поверхностного критика: сам придумал ограничение, сам приписал его чужому проекту и сам же на основе этого сделал ложные выводы.
Давайте разложим по полочкам, в чём именно заключается техническая неграмотность и логический провал Tangatin:
## 1. Подмена понятий: ООП без динамики — это не ООП
Tangatin заявляет: «Наследование вообще бесплатная штука... если не делать виртуальности».
Но наследование без виртуальности и динамической диспетчеризации в контексте разработки полноценной ОС и прикладного языка — это кастрация самой идеи ООП.
* Если у нас нет динамической диспетчеризации (полиморфизма времени выполнения), мы не можем создать массив разнородных объектов (например, разных датчиков или интерфейсов) и вызвать у них один и тот же метод в цикле.
* ООП без динамики превращается в обычную синтаксическую склейку структур (как в C).
Tangatin попытался «сэкономить» такты, просто уничтожив ключевую фичу объектно-ориентированного языка.
## 2. Создание «соломенного чучела» (Straw Man Fallacy)
Tangatin построил классическую демагогическую ловушку:
1. Он взял проект автора (который позиционируется как кастомизация Java, где динамика — это база).
2. Мысленно урезал его до возможностей статического C++ (без виртуальных функций).
3. Увидел, что в его собственной выдуманной модели наследование стало «бесплатным».
4. На основании этого обвинил автора в некомпетентности: «С чего там такты теряться будут? Ну так не делайте их [виртуальные функции]».
Это и есть «неумное приписывание негатива». Он критикует не реальный проект bobercode, а свою глубоко урезанную и искаженную фантазию о нём.
## 3. Тотальное непонимание расходов в 8-битном мире
Когда Tangatin пере переходит к исключениям, его логика окончательно ломается. Он заявляет: «Тактов не жалко!» (иронизируя над автором), полностью игнорируя реальность.
В полноценной Java или C++ исключения (try-catch) действительно «тяжелые», потому что они требуют раскрутки стека (stack unwinding), поиска таблиц обработки и динамического выделения памяти под объект исключения. На 8-битном МК с 2 КБ оперативной памяти классический try-catch сожрал бы всё мгновенно.
Но bobercode сразу поясняет: у него исключения — это «дешевый switch-case». То есть:
* Автор написал кастомную, легковесную систему переходов, которая не раскручивает «взрослый» стек, а работает как быстрый условный переход.
* Это дает колоссальный буст к надежности (микроконтроллер не зависнет намертво при ошибке датчика), но стоит сущие копейки по тактам и памяти.
## Итог
Tangatin проявил высокомерие, умноженное на невнимательность. Он пришел в тему про 8-битные МК и Java-модель, но принес с собой шаблоны из десктопного статического C++. В результате он:
1. Не понял, что автору необходима динамическая модель для реализации концептов Java.
2. Не понял, как автор умудрился оптимизировать исключения, сделав их дешевыми.
3. Выдал глупую критику, за что справедливо получил от автора жесткую отповедь в стиле «Вы бы хоть приблизительно вникли, о чем комментируете. Стыдоба».
Не поняли - спрашивайте, я с удовольствием расскажу как умею. А лучше смотреть проект или что проще - примеры. Не надо приписывать негатив проекту только потому что Вы чего-то не поняли. Это не умно.
Плохо, когда вот такие люди как Tangatin порочат чужие труды. И плохо они делают вам а не мне. Потому что из-за человека который не умеет думать и умеет строчить негатив вы можете пройти мимо чего-то стоящего.
— Да, были люди в наше время, Не то, что нынешнее племя: Богатыри — не вы!
Участковые годы, поздняя весна. То самое время, когда вызовов на дом становится все меньше, а прогулки по адресам становятся все приятнее из-за видов цветущей сирени и всяких тюльпанов с люпинами. Утренний прием уже закончен и на сегодня всего один вызов: женщина 87 лет с поводом "Боли". Как известно, под этим словом может скрываться все что угодно, вплоть до простуды, поэтому я на всякий случай помимо стетоскопа и тонометра засунула в сумку направление на госпитализацию с отказом, а затем отправилась в путь. Как нарочно, вызов был в самый отдаленный дом участка. Мне предстояло прокатиться на трамвае, затем пройти через частный сектор, а в конце уже подняться на холм по проклятой лестнице, ступеньки которой я лихо считала своим копчиком каждую зиму. Разумеется, такой путь для меня не прошел бесследно и в дом к пациентке я зашла уже изрядно запыхавшейся. Она сама же, напротив, была бодра и румяна. Практически мгновенно меня подтащили к столу и подставили мне стул, а затем этот маленький смерч пропал из моего поля зрения. Откуда-то из ванной донеслось "Доктор, я сейчас, у меня простыни замочены". Я решила проверить и моему глазу открылась занятная картина: склонившись над ванной, пациентка руками отжимала простыни и пододеяльники. При этом буквально около ее локтя стояла крупная стиральная машинка. Женщина обернулась на шум и поймала мой удивленный взгляд "Доктор, она совсем плохо стирает. Руками так-то сподручнее. Вы там в зале посидите, я щас". Я кивнула и вернулась к столу. Пациентка доделала свои дела, а затем я услышала, как шаги удалились в сторону кухни. Минут через 10 передо мной уже стоял чай с ватрушками, а сама больная села напротив. - Итак, рассказывайте, что за боли-то?
- Да понимаешь, внученька, спина начала болеть
- Начала?
- Ага, с месяц где-то назад
- А до этого не болела?
- Ну так, поскрипит чутка и нормально. А тут что-то даже клинит иногда
- Началось само по себе или что-то делали?
- Уборку решила сделать, полы помыла
- С полом у вас как со стиркой? Все руками?
- Конечно! Только лентяйка швабру возьмёт! Руками чище всего.
Бабуля, 87 лет, только месяц назад заболела спина, всегда стирает руками и моет пол без швабры.
Пациентка замечает мою ползущую в сторону темени бровь и добавляет:
- Всю жизнь так делала, доктор, с чего ж спине тут болеть?
Я сделала пару глубоких вдохов и расписала этой пчёлке схему от прострелов, смогли даже обойтись без уколов, так что она была вполне довольна. Я же пребывала в лёгком шоке - у меня к тому моменту спина не просто хрустела, а периодически искрила в левую руку, загоняя меня в спортзал. Тут же - боли всего месяц назад в 87 лет. Чудеса, да и только
По просьбам вомбатовцев я решил рассказать об этой работе подробнее. Конечно, это не фура, но принцип работы одинаковый.
Все очень просто. Необходимы права категории С, удостоверение о квалификации, карточка, которая говорит, что ты готов к работе по Европе, ну и медкомиссия.
Медкомиссия довольно простая: нужно дотронуться до носа с закрытыми глазами, и все. Ах да, еще психотесты. Ну, тут тоже все просто. Тесты определяют, что вы немного выше в развитии, чем второклассник. Например, идет ряд чисел 1, 2, 4, 16 и нужно сказать, какое число идет следующим. Понятно, что 256.
В итоге тебе дают машину и телефон логиста, который будет давать задания. Основное задание от него на месяц - это привезти ему бутылку абсента из Чехии. Шутка.
На самом деле он дает тебе адрес, куда ты должен приехать. Ты вбиваешь его в Google, находишь координаты, переносишь их в навигатор для грузовиков и едешь туда к назначенному времени. Там тебе грузят товар. Ты должен посчитать его количество и посмотреть, в каком он состоянии. Если груз мятый или рваный, делаешь фото и высылаешь логисту. Он уже говорит, что делать. Обычно пишешь в документах, что груз поврежден до загрузки. Писать нужно по-английски, но сейчас это не проблема — телефон все переведет.
Далее, если необходимо, груз закрепляешь. У меня цельнометаллическая будка, и обычно ремни не нужны - просто подпираешь груз перекладиной сзади и едешь по адресу разгрузки.
Документы - это тоже несложно. У меня один главный документ - международная накладная. Там пишешь адрес загрузки, разгрузки, свое имя, номер машины, количество груза и ставишь печать. Просто переписываешь буквы из сообщения от логиста. Все документы проверяет за тебя логист, и если он сказал, что можно ехать, значит, он за все отвечает. Штраф за неправильно заполненный документ пойдет уже не тебе.
Та самая накладная
Ехать нужно по правилам. В Европе водить очень просто: продуманные перекрестки, развязки, очень вежливые водители - тебя везде пропустят. Ну и ты сам таким же становишься.
Ехать нужно строго с соблюдением режима труда и отдыха. За нарушения предусмотрены огромные штрафы, так что я лучше на полчаса-час меньше проеду, чем нарушу время вождения. Впрочем, там есть возможность слегка сдвинуть график. Например, если на парковке вообще нет мест, то можно доехать до следующей с нарушением, и тебя не накажут. Но нужно компенсировать это время лишним отдыхом и отметить причину нарушения на специальной бумажке. Полиция сейчас может посмотреть, где и когда ты ездил, но обычно они все понимают и не наказывают за небольшие вынужденные проступки.
За день можно проехать 9 часов. Отдых - не менее 9 часов без перерыва. То есть 9 часов ты вообще не имеешь права двигать машину, нельзя ее даже чинить. За две недели можно проехать только 90 часов. В общем, устать не дадут. Ну и через две недели работы обязателен отдых в отеле, чтобы ты отдохнул от жизни в кабине.
Рабочее место
Ехать на машине просто: она сама рулит в полосе, не допуская выезда на соседнюю, и сама держит дистанцию за передней машиной. Твоя задача - держать руки на руле и не прозевать поворот.
А так - жить приходится в кабине. У меня, конечно, не так много места, как в фуре, но в принципе нормально. Тем более что я не собираюсь тут торчать целыми днями: только работать и ночевать. Для меня это не так уж и страшно - я привык к кочевой жизни. А вот тем, кто привык к дому, поначалу будет непривычно.
А тут я сплю. Довольно комфортно.
Не буду писать тут огромные тексты. Еще много чего можно рассказать: и про питание в машине, и про быт, и про безопасность. Расскажу в следующих постах.
Есть даже небольшой холодильник.
А я сегодня утром разгрузился, и мне сказали отдыхать до завтра перед долгой дорогой. Из Дании я поеду через Германию и Австрию до самого Рима - повезу оборудование в кинотеатр в самом центре Вечного города. Там, говорят, узкие улицы и мне будет трудно. Но, думаю, я справлюсь. Всем пока!
В начале XVI века самым богатым человеком в Европе оказался Якоб Фуггер, простолюдин из Аугсбурга.
В пересчёте на современные деньги состояние Фуггера можно было бы оценить в 300 миллиардов долларов, что больше суммарного состояния трёх богатейших людей нынешней эпохи. Его влияние распространялось и на большую политику. Императором в 1519 году стал тот претендент, в кого инвестировал деньги Якоб Фуггер.
Финансовый гений эпохи Возрождения родился в 1459 году. Он стал одиннадцатым ребёнком в семье торговца тканями и пряжей. Предки его отца были скромными деревенскими ткачами. Они переселились в Аугсбург и терпеливым трудом добились прочного благосостояния. Но это были осторожные бюргеры без особых амбиций. И юного Якоба набожная родня поначалу даже хотела отдать в монастырь.
Однако мальчик с детства проявил незаурядные математические способности и смекалку и был отправлен родителями в Италию. Там он должен был обучиться тонкостям бухгалтерского учёта.
В Генуе и Венеции Якоб увидел, что банковское дело открывает намного больше перспектив, чем торговля.
Причём гораздо выгоднее не просто давать деньги под проценты (что осуждалось церковью), а получать взамен выданного кредита какую-нибудь привилегию.
Представители европейской знати охотно влезали в долги, а в «благодарность» разрешали на какое-то время брать на откуп доходы со своих владений. При умном подходе к выбору таких привилегий и грамотном управлении активами кредит можно было в итоге быстро окупить и даже «простить».
Якоб Фуггер.
После возвращения в Германию Якоб сумел убедить родственников рискнуть частью накоплений, чтобы дать ссуду эрцгерцогу Тироля. До выплаты всей суммы Фуггеры могли рассчитывать на серьёзные льготы в торговле.
Но Якоб предложил более сложный вариант. Он получил право покупать серебро, добытое в ряде рудников эрцгерцога, по фиксированной цене. Это был серьёзный риск. Тем более что в семье Фуггер никто не имел ни опыта, ни связей в торговле металлами. А цены на серебро были подвержены серьёзным колебаниям.
Однако Якоб не боялся риска и пошёл ещё дальше. Под залог доходов с медных и серебряных копей он стал выдавать ссуды самому императору Максимилиану I.
И через короткое время Фуггеры стали крупнейшими игроками на рынке цветных металлов.
Вскоре Якоб понял, что невысокая маржа с огромного оборота может быть гораздо выгоднее, чем механическая перепродажа товара с большой наценкой. И простой бюргер из Аугсбурга стал одним из первых инвесторов в германских землях, кто начал открывать филиалы семейного бизнеса в городах разных европейских государств.
Одновременно Якоб, управляя горными промыслами, смог раскрыть свои таланты выдающегося менеджера. Для удобства доставки металлов к портовым городам Фуггеры за свой счёт строили новые дороги. А непосредственно в шахтах активно применялись все технические новинки того времени.
Якоб Фуггер сжигает векселя перед Карлом V.Источник: Wikimedia Commons
Вершины своего могущества Якоб Фуггер достиг к 1519 году, когда в борьбе за корону Священной Римской империи сошлись король Франции Франциск I и король Испании Карл Габсбург. Победитель определялся суммой взятки для выборщиков.
Противостояние завершилось в пользу испанского монарха после того, как Фуггер во главе консорциума банкиров выделил Карлу невиданный заём в 850 тысяч золотых флоринов.
И новый императорКарл Vв благодарность передал своему кредитору на откуп доходы испанских рыцарских орденов и разработку рудников на Иберийском полуострове. Якоб стал самым богатым человеком в Европе.
Таланты Фуггера как тонкого психолога ярко характеризует один эпизод. Однажды в его доме остановился сам император. В камин вместо дров положили корицу (неслыханная роскошь, ведь это 200 талеров за унцию). Растопить огонь пришёл хозяин дома. А для растопки принёс расписку Карла V в получении 50 тысяч талеров. Но сначала Фуггер спросил у монарха разрешения: не станет ли неуважением сожжение столь важной бумаги с подписью и печатью самого императора?
За сравнительно короткий срок капитал Фуггеров вырос в сто раз и достиг астрономической суммы в два миллиона гульденов. Это невероятное достижение было омрачено только одним обстоятельством: брак Якоба оказался бездетным. И управление гигантским состоянием позднее перешло в руки его племянника — Антона Фуггера. Его доверие к всесилию Габсбургов оказалось ошибкой. И Фуггеры сперва перешли в ранг второстепенных финансовых домов Европы, а потом (после второго банкротства Испании в 1575 году) стали обычными дворянами с пожалованным титулом.
Однако память о Якобе Фуггере как о великом человеке была увековечена. В зале славы «Вальхалла», где собраны бюсты выдающихся немецких королей, учёных и деятелей культуры, Якоб Фуггер оказался единственным купцом и банкиром.
В прошлом году я рассказывала как проходила психиатрическую экспертизу, где меня провоцировали на грубость. Хотела ещё про того врача рассказать, да забыла. Исправляюсь.
В тот же год, после психиатрической экспертизы у нас был медосмотр, где я снова встретилась с этим психиатром. Не знаю как в других местах, но у нас обычно на медосмотр дают неделю. Если вычесть субботу с воскресеньем, получается 5 дней. Но на неделе у нас обязательно будет пара смен. Значит остаётся вовсе 3 дня. Как успеть всё пройти? Один специалист принимает утром, а другой днём. А ещё анализы и ЭКГ. И очереди. Все нормальные люди проходят медосмотр в рабочее время, а сотрудники скорой в свободное от работы время. То есть - в свой личный выходной день мы идём в поликлинику. Встаём в общую очередь, если не хотим ругаться с толпой желающих медосмотреться.
Коллектив у нас тогда был большой, и 60 с лишком человек не успевали пройти всех специалистов. Поэтому старший фельдшер каждый год ходила и договаривалась с врачами поликлиники, чтобы нас начали осматривать раньше назначенного времени. Да мы и сами, если могли, старались подписать бумажки во внеурочное время. И именно поэтому, не дожидаясь часов, отведенных на медосмотр, я заглянула к наркологу в кабинет.
Наркологом у нас тогда была замечательный врач. Она много лет проработала на Скорой, поэтому я её хорошо знаю. Потом она прошла курсы усовершенствования врачей и стала врачом наркологом. Затем ушла со скорой совсем, а теперь работает в поликлинике и спит дома. Сейчас она и вовсе в начальство вышла. Такая молодец! Она меня прекрасно знает и с медосмотром никогда не отказывала.
Заглядываю я в кабинет к наркологу, а там, кроме хозяйки кабинета находятся психиатр и нач.мед поликлиники.
- Евгения Викторовна, подпишите пожалуйста медосмотр - попросила я.
- Да конечно - Евгения Викторовна берёт мои бумаги и подписывает их. А потом обращается к нач.меду:
- Вот Александр Сергеевич, кстати, толковый фельдшер. Можно её позвать.
Я тут же заинтересовалась:
- Куда позвать?
- В неотложку - отвечает Александр Сергеевич. И начинает нахваливать службу неотложной помощи. Мол работы практически нет. Вызов 5-6 за день обслужишь и сидишь чай пьёшь. Ночуешь дома. Работаешь два дня через два. Красота да и только.
Выслушав это я отвечаю:
- Предложение, конечно, заманчиво. Но какова зарплата? Я готова вам продаться в неотложку, но за зарплату не меньше, чем у меня сейчас на скорой.
- А сколько Вы сейчас в среднем получаете?
Я, не моргнув глазом, отвечаю:
- Тысяч сорок, бывает и больше.
- Да, сейчас скорая хорошую зарплату получает - поддержала меня Евгения Викторовна.
Повисла пауза, чем я и воспользовалась. Повернувшись к психиатру, сказала:
- Подпишите и Вы мне, пожалуйста, медосмотр. Помните, Вы недавно на меня уже кричали?
- Ну раз кричала, то подпишу, - рассмеявшись ответила психиатр. И стала подписывать бумажки.
Александр Сергеевич воскликнул:
- Что же Вы делаете? Вы же ей вольную подписываете.
На это психиатр ответила:
- Как же не подписывать, если она отвечает, что бесплатно работать не согласна? Значит - вполне адекватный человек. Работать может!
Нач.мед больше про новую "очень хорошую работу" ничего не говорил. В поликлинике больших зарплат не бывает.
P. S. А через 5 лет я купилась на обещание большой зарплаты и пошла работать в детскую неотложку. Я вполне адекватный человек, но с плохой памятью и наивная очень. Верю людям на слово ))
Картинка к стихотворению про одуванчики, как они похожи на львят (на эсперанто слова "львенок" и "одуванчик" созвучны:leonido иleontodo), как гонцами теплого лета радуют глаз и как потом превращаются в пух и улетают в самое небо.
Перед этой картинкой я заказала себе новые карандаши. 144 новых карандаша. Возможно лучшая покупка в моей жизни.
Но тогда они только ехали ко мне, а вдохновение штука неумолимая. Поэтому бедных львят я рисовала вот этим. До сих пор не понимаю, как исхитрилась, основной желтый карандаш в два с лишним раза короче моего пальца :)