Pull to refresh
@FForthread⁠-⁠only

Пользователь

Send message
Вы, просто, высказали неуважение к чужому мнению представленному в статьe и при этом обозначив своё мнение как более правильное. (т.е. проявили нетолерантность)
И ещё удивляетесь за что Вам отсыпали минусов? Ну ну. :)
Спасибо за видео, проясняющиее и потенциал Pentium M процессоров (выпущенных более 15 ти лет назад) в связке с применением Линукс.

P.S. Сам на буке c i5 процессором выхожу в i-net при загрузке LiveCD c SSD на USB с отключенными внутренними дисками (такой своеобразный — тонкий клиент :)
не задумываясь, что что то пролезет в систему отключенную физически от USB (SSD) после загрузки через используемый браузер. (при перезагрузке системы она стартует же опять чистая)
Если возможностей штатного браузера не хватает, то загружаю последние версии браузеров и их запускаю. Также, в рамках этих дистрибутивов можно и собирать, например, С, FreePascal -софт…

В качестве LiveCD Linux использую Puppy сборки — XenialPup, Bionic, Tahr, Fossa
выбирая их из меню Grub загрузчика.
Линуксов много не бывает. :)
Релиз мета-дистрибутива T2 SDE 21.5
19.05.2021: Состоялся релиз мета-дистрибутива T2 SDE 21.5, предоставляющего окружение для формирования собственных дистрибутивов, кросс-компиляции и поддержания версий пакетов в актуальном состоянии. Дистрибутивы можно создавать на основе Linux, Minix, Hurd, OpenDarwin, Haiku и OpenBSD. Из популярных дистрибутивов, построенных на базе системы T2, можно отметить Puppy Linux. Проектом предоставляются базовые загрузочные iso-образы (от 382 до 735 МБ) с минимальным графическим окружением. Для сборки доступны более 2000 пакетов.

В новом выпуске добавлена поддержка архитектур s390x и SuperH, а общее число поддерживаемых аппаратных архитектур доведено до 18 (alpha, arm, arm64, hppa, ia64, m68k, mips64, mipsel, ppc, ppc64-32, ppc64le, riscv, riscv64, s390x, sparc64, superh, x86 и x86-64). Проведены значительные оптимизации, включая задействование распараллеливания сброса TLB, более быструю реализацию zstd, сокращение времени завершения работы и применение при сборке оптимизации на основе результатов профилирования кода (PGO — Profile-guided optimization). Обновлены версии компонентов, в том числе GCC 11, ядро Linux 5.12.4, LLVM/Clang 12, GNOME 40, а также свежие выпуски X.org, Mesa, Firefox, Rust и KDE.

P.S. На базе этого инструментария запущен Linux для i486 из видео представленного в статье.
Осталась самая малость в завершении «монументального» опуса по теории алгоритмов!
Понять как и почему на разных языках программирования с ресурса rosettacode.org, одни и теже задачи для решения, записываются в своей реализации так или иначе на отдельных языках и как следствие обосновать и создать «идеально-алгоритмический» язык программирования.

P.S. Наверное, пригодным к использованию роботами. :)
Судя по количеству представленных решений на REXX с ресурса rosettacode.org (1,082 total) то вполне практичный язык.

http://rosettacode.org/wiki/Category:REXX

P.S. Некоторый выборочный «рейтинг» по языкам и количеству представленных решений на rosettacode.org (в порядке убывания)
Go — 1,346, Julia — 1342, Raku — 1,324, Perl — 1,274, Python — 1,218, Kotlin -1,122, C — 1,117, Wren — 1,108, Rexx — 1082, Haskell — 1,012, Java — 1,098, Nim — 1,076, Racket — 1,058, C++ — 1,013, Zkl — 1,011, Ruby — 1,008, D — 966,, Tcl — 962, C sharp — 883, Factor — 874, Rust — 816, PicoLisp — 826, Ada — 812, Lua — 788, Mathematica — 759, FreeBASIC — 737, Ring — 729, Common Lisp — 720, JavaScript -713, F Sharp — 676, Delphi — 628,, PureBasic — 595, OCaml — 589, AWK — 588, Fortran -582, Swift — 529, Forth — 524, Pascal — 515, Erlang — 502, R — 499, PHP — 447, Prolog — 424, Maple — 406, VBA -399, Visual Basic .NET — 387, MATLAB — 381, XPL0 — 377, Scheme — 367, Smalltalk — 319, Oforth — 308, UNIX Shell — 302, Wolfram Language — 259, Euphoria — 234, ZX Spectrum Basic — 212,, Maxima — 211, Logo — 205,… Min — 111, Retro — 101, 8th — 89, PostScript — 89, МК-61/52 — 84, False — 56, LSE64 — 12
Условно бесплатный для жителей бывшего USSR при условии некоммерческого использования. Способ регистрации описан в рускoязычном описании и не требует обращения за ним к разработчикам программы.

P.S. К тому же, исходники программы открыты и при желании могут быть собраны пользователем.
@ «Ты куда Одиссей от жены от детей» :)
почему не поддержали ещё формат разъёма и функциональность Arduino для шилдов?

P.S. т.е. записав ПО Arduino IDE на одноплатник можно было бы её использовать для програмирования в стиле Arduino.
Неужели планируется через 3-года создать AI для анализа этого хламового трафика поведения пользователей в сети i-net?
(не сами же депутаты этим озабочены при нажимании кнопок для голсования в Госдуме и они лаббисты чьего то заказа на принятие каких то решений)

P.S. Интересно, а как справляется Google с хранением и анализом трафика России через свои сервисы? (возможно Webarxive ещё сохранил какой то слепок на момент скачивания чего то из i-net для выяснения заинтересованными лицами, учитывая как «деградирует» и становится недоступной всевозможная информация в i-net)
А, подпадает ли под факт сотрудничества, предоставление ресурсов инфраструктуры, например Github (владельцем её), для размешения проектов компании Positive Technologies?

P.S. Думаю, что запрет сотрудничества с PT в целях повышения ИБ для компаний США не поможет увеличит их «информационную» защищённость.
Не думали начать решать какую то интересную задачу парралельно на создаваемом языке?
В конце июля 2020 года Институт инженеров электротехники и электроники (Institute of Electrical and Electronics Engineers, IEEE) опубликовал свой рейтинг языков программирования, в котором этот язык занял 43-ю строчку, а — Fortran 47-ю. В нынешнем рейтинге TIOBE COBOL оказался на 24-м месте.

Вижу на 47-м месте Forth, а не Fortran! (хотя, первые четыре буквы в этих словах совпадают)

Может, отчасти, к вот этой описке при поиске Forth путают с Fortran считая его сокращённым наименованием? (по русски ведь он произносится как Форт и без уточнения контекста поиска можно получить разнообразный вывод поисковиков о всевозможных Форт сооружениях, а на Fort без буквы h поисковик вообще «споткнётся» :)
Автор этой, и других своих публикаций на Хабр, явно не равнодушен к тематике глубинных Уральских городов. (любовь к фотографированию местного колорита? а зачем тогда Google Maps сделали — можно «проехаться» по улицам выбранного города)

P.S. Что за любовь или интерес к освещению этой темы (неужели нашёл свою нишу для публикации статей на Хабр?)

и какой следующий Уральский город будет представлен в следующей статье?
Уральским городам не одно столетие и это своя субкультура жителей их населяющих!

Мне кажется, или так есть, что автору нравится снимать трубы предприятий в описании города не пытаясь найти и описать какие то другие аспекты жителей выбранного города?
image
Loops и реализации других итераций на разных языках программирования

Например так в одном решении примера:

: triangle ( n — )
1+ 1 do
cr i 0 do [char] * emit loop
loop;
5 triangle

*
**
***
****
*****
Сейчас тоже делаются проекты с реализацией на Форт.
Как пример одного из таких примеров на сайте, (но их, конечно же, намного больше)

Downloadpage for a smart home.

image

P.S. Есть и примеры, например, реализации программирования на OpenGL уроков Hexe в Forth.

Вспомнилось и это, найденное в i-net:
Из истории работы детского кружка.
Принципы построения малых мобильных роботов – мобильной платформы «Crazy Mouse» и робота-собаки «Робик».
Добрынин Д.А. к.т.н., научный сотрудник ВИНИТИ РАН, Москва, Россия, dobr@viniti.ru

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

Малые мобильные роботы занимают определенную нишу среди мобильных автономных робототехнических устройств.

Подобно своим «большим» собратьям они имеют тот же набор технических устройств на борту:

— управляющий модуль, который является «мозгом» робота.

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

В качестве главной управляющей программы используется операционная система, под управлением которой работает программа управления роботом;

— датчики, которые преобразуют информацию о препятствиях вокруг робота, положении робота в пространстве и внешних раздражителях в форму, удобную для обработки управляющим модулем;

— исполнительные механизмы – двигатели, индикаторы и другие «эффекторы»;

— механическая часть – колеса или другие движители, двигатели, редукторы и т.п.;

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

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

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

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

Модификация их представляет собой достаточно сложную и дорогую техническую задачу.

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

На базе кружка технического детского творчества «Родник» были разработаны два мобильных робота – мобильная платформа «Crazy Mouse» и робот-собака «Робик».

Несмотря на большие внешние различия эти два робота построены по одним
принципам, что позволяет говорить об их близком «родстве».

Робот «Crazy Mouse» состоит из несущей платформы, на которой установлено два двигателя с редукторами.

Каждый двигатель управляет отдельным колесом. Для свободного движения с поворотами платформа имеет третье колесо, которое свободно двигается.

Максимальная скорость движения составляет порядка 30 см в секунду.

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

На верхней плате расположен главный контроллер, со встроенной операционной системой Robos 1.1, коммутационная плата, контроллер двигателей, блок питания, аккумулятор и датчик определения препятствий.

Робот «Crazy Mouse» создавался в целях отработки электронной «начинки» малых мобильных роботов.

Он позволяет обнаруживать препятствия на расстоянии от 5 до 50 см, обнаруживает контрастную полосу.

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

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

Робот-собака «Робик» состоит из коробки, на которой крепится привод передних колёс и редукторы приводов задних колес.

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

Голова робота-собаки может вращаться на 360 градусов. В ней установлены глаза и детектор дальнего действия. «Робик» умеет произносить фразы, записанные во Flash памяти управляющего контроллера.

На поворотном кронштейне передних колес устанавливаются датчик определения препятствий ближнего действия и детектор полосы.

«Робик» имеет более сложную механику, чем мобильная платформа, и большее количество исполнительных механизмов.

Управляющий контроллер и датчики идентичны тем, что установлены на роботе «Crazy Mouse».
Таким образом, различны только контроллеры приводов и механическая часть этих двух роботов.

Бортовые системы управления больших роботов обычно строятся на стандартных компьютерных компонентах – обычных компьютеров, ноутбуков или промышленных контроллеров.
Для малых роботов такой подход не применим в силу ограниченных габаритов и снижения стоимости, поэтому для них необходимо разрабатывать малогабаритные контроллеры на основе широко распространенных микроконтроллеров.
При этом остро встает проблема с операционной системой, поскольку для стандартных компьютеров существует множество готовых операционных систем, начиная от DOS, и заканчивая Windows и Linux, а для микроконтроллеров только микроядра
операционных систем, обладающие ограниченными возможностями.

Управляющий контроллер, на котором построены описываемые роботы, реализован на микроконтроллере ATMega128 фирмы Atmel и имеет встроенную операционную систему, представляющую собой законченную ФОРТ-систему.

Контроллер имеет 128К памяти программ и дополнительно 128К ОЗУ, разбитого на две части.
Для сохранения образов операционной системы и хранения звуков дополнительно используется DataFlash объемом 1 Мбайт.

Для программирования и оперативного управления роботом может подключаться к компьютеру по USB интерфейсу.

Управление идет в режиме терминала, то есть пользователь при помощи простой терминальной программы вводит команды, а ФОРТ-система их выполняет.
Загрузка программы внутрь контролера происходит в виде текста — контролер сам компилирует программу, а потом её при необходимости исполняет.

Использование языка ФОРТ в качестве операционной системы для мобильного робота дает следующие преимущества:

— компактность кода (общий размер ядра ФОРТа составляет порядка 16 КБайт), ОЗУ 64 Кбайт хватает для достаточно серьезных приложений;
— высокое быстродействие (всего лишь в 2-раза медленнее, чем программа, написанная полностью на ассемблере, в десятки раз быстрее Бейсика);
— язык высокого уровня – программа на ФОРТе понятна и легко изменяется;
— интерактивный язык – для управления устройствами робота (двигателями, датчиками) в реальном времени можно использовать простой текстовый терминал;
— компиляция в системе – не требуются сложные компиляторы. Программа на ФОРТе в виде текста загружается в контроллер, компилируется им самим и сохраняется в ОЗУ.

Содержимое ОЗУ можно записать во Flash память для последующей быстрой загрузки;

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

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

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

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

Целесообразным является использование простого последовательного интерфейса, желательно синхронного типа, чтобы снизить точность поддержания частоты при передаче сигналов и повысить скорость обмена.

При построении программного интерфейса необходимо обеспечить «сокрытие» структуры исполнительного контроллера от управляющего, чтобы сделать однородное управление всей системой.

Все датчики и контроллеры описываемых роботов подключаются к управляющему контроллеру по системному последовательному интерфейсу.

Интерфейс построен на основе аппаратного SPI интерфейса, и позволяет обмениваться информацией с 32 ведомыми устройствами.

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

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

Скорости обмена по системному интерфейсу хватает для обработки датчиков в реальном времени.

Датчики, используемые в роботах, построены на собственных микроконтроллерах и являются в некотором смысле «умными».

Например, датчик определения препятствия позволяет определить не только наличие препятствия перед роботом, но и зону (слева, прямо или справа) его нахождения, а также определить дальность с точностью до сантиметра.

Датчик полосы измеряет уровни яркости на 4-х фотодатчиках и позволяет калибровать порог «светло»-«темно» чисто программными средствами. Таким образом, датчики производят предварительную обработку информации, значительно разгружая управляющий контроллер.

Построенные мобильные роботы являются модульными системами, что позволяет,

во-первых, упростить всю систему в целом,

во-вторых, обеспечить гибкость архитектуры,

и в-третьих, уменьшить стоимость и сроки разработок новых систем за счет унификации компонентов


Добрынин Д.А. История создания минироботов в ЦДТ «Родник»

Добрынин Д.А. Принципы построения малых мобильных роботов — мобильной платформы «Crazy Mouse» и робота-собаки «Робик»
А, если массово пользователи начнут пользоваться, например, LiveCD системой для выхода в i-net? (типа частного такого тонкого клиента, от фингерпринтинга это конечно не полностью защитит и потянет за собой ещё пласт «проблемм») как сейчас лично приспособил для этого Puppy Linux 7.5 с использованием штатного же браузера из него Pale Moon (при этом для необходимости в полноценном браузере — загружаю штатно из репозитория на выбор другой или актуальный с сайта)
Интересно, что на mail.ru этот уже браузер показывает пустую страницу без возможности регистрации на сервисе.

P.S. Проверил на тестинг такой браузинг в i-net по приведённым сайтам и многие параметры увидел в False или Not Supported. (при этом ещё в системе включаю штатный Firewall) До кучи можно и физически отключать на таком устройстве выхода в i-net внутренние другие носители, а по необходимости копирования данных загруженных из i-net временно их подключать.
«Неудобство» в этом решении только пока одно, приходится через поисковую строку Google набирать и копировать русскоязычный текст сообщений, как это. (т.к. в строке поиска есть значёк переключения раскладки клавиатуры). Для плагина VPN типа browsec приходится загружать FireFox, но с ним замечаю какую то его временную активность нагружающюю процессор и приводящий к включению в буке вентиляторов при браузинге i-net.
Для каких то других браузерных функционально удобств загружаю SlimJet браузер. (но на выбор могу и, например, загрузить и использовать Vivaldi, Seamonkey, Opera, Tor ...)

В варианте LiveCD истории куков нет по определению, а интересные сайты для личного посещения приходится вводить по памяти. :)

Кто то запилил и такой проект по определению геолокации Wo Bist Du?

Интересно, а возможно, антифингепринтиг «включён» и в программу защиты персональных данных граждан той или иной страны?
Всё чаще пользуюсь Яндекс поискoвиком,
в нём, хотя бы, нет шифрования ссылок для которых даже Online Url Decode бывает бесполезен. :) (наверно и по деобфускации ссылок есть отдельный плагин к веб-браузeрам)

P.S. Только вот в Яндекс поисковике в строке поиска нет значка переключения раскладки клавиатуры, а мне это помогает без русской раскладки в Live CD Linux (Puppy) осуществлять рускоязычный поиск.

Information

Rating
Does not participate
Location
Россия
Registered
Activity