LINUX.ORG.RU

Сообщения Legioner

 

Пишут, что Java 18 вышла

Форум — Talks

Ничего интересного в ней нет (:

 

Legioner
()

Как правильно подойти к кубернетесу

Форум — Admin

Есть нужда в кубернетес-кластере. В Казахстане managed кластеров я не видел, поэтому придётся поднимать самому. Провайдер даёт некий openstack. Я это вижу, как веб-интерфейс, в котором можно создавать впски. Про кубернетес особо не знаю кроме общей информации. Думаю, как правильно поступить, чтобы это всё организовать.

Вариант один - создать N виртуалок, на которых поставить убунту и поднять кубернетес по гайдам kubernetes the hard way.

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

Хочется помимо кластера чтобы оно автоматически масштабировалось с нагрузкой. В принципе можно по крону добавить в 8 утра создание пары дополнительных серверов, а в 6 вечера грохать их, думаю, этого хватит на первое время, но полная автоматика была бы ещё круче. В «вариант один» это получится сделать? Как я понял, в «вариант два» это будет из коробки.

 ,

Legioner
()

Откуда в wl-paste вендовые переводы строк?

Форум — General

Открываю gedit. Пишу в нём 123<Enter>456, Ctrl+A, Ctrl+C. Открываю терминал, пишу в нём

$ wl-paste |hexdump -C
00000000  61 62 63 0d 0a 64 65 66  0a                       |abc..def.|

Легко видеть, что с переводами строк полная дичь.

Кто виноват и что делать?

Fedora 34.

 

Legioner
()

Автоматическое выращивание НЁХ

Форум — Talks

Хочу себе для фана сделать штучку, чтобы она выращивала что-нибудь. Например если луковицу окунуть кончиком в воду, то она будет расти. Собственно хочу спроектировать и распечатать корпус, а также на микроконтролере сделать автоматику, которая будет выращивать подобную луковицу (полив по датчику влажности земли, может быть освещение по таймеру, может еще что).

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

Может кто таким упарывался - интересно послушать мнения.

  1. Что выращивать? Луковица, картошка, кактус, это понятно и несколько банально. Может быть что-то поинтересней? Но должно быть компактно, повторюсь. Ну и доступно в Казахстане, конечно.

  2. Не хочется, чтобы это было грязно, т.е. в идеале хочу обойтись без земли. Это получается что-то вроде гидропоники, значит нужна рециркуляция? Наверное нужен какой-то фильтр для циркулирующей воды? Как бюджетно и компактно его организовать? Знаю только про фильтрацию активированным углём, этого хватит?

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

Микроконтролер программировать буду под линуксом, чтобы не впадать в оффтопик.

 , садоводство,

Legioner
()

Как сместить напряжение?

Форум — Talks

Очередной тупняк, извиняюсь.

Мне нужно выдавать напряжение от -X до +X. Для примера от -1.9В до 1.9В.

У меня есть линейный регулятор, который якобы выдаёт 3.8V (он запитан от USB). От него запитан АЦП, который вроде как должен выдавать от 0 до 3.8В. Т.е. есть два проводка на выходе - земля и 0…3.8В.

А мне надо, чтобы было два проводка - земля и -1.9…1.9В.

Пока только придумал сделать резисторами делитель напряжения между 0 и 3.8В, получится 1.9В. Назвать этот 1.9В новой землёй, а выход из ЦАП никуда не трогать, он вроде как относительно этой новой земли должен давать желаемое.

Правильный ли этот подход?

Вопрос со звёздочкой. Если мне нужно напряжение от -19 мВ до 19 мВ (т.е. в 100 раз меньше), как его можно получить? В крайнем случае в 10 раз меньше. Всё, что я умею, это делить напряжение резисторами, но есть ощущение, что это не правильный путь.

Очень желательно сохранять максимальную точность на выходе. То, что можно подкорректировать цифровыми методами, я подкорректирую и подкалибрую, это не проблема.

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

 ,

Legioner
()

Против России могут появиться бэкдоры

Форум — Talks

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

Думаю, в софте с закрытыми исходниками таких бэкдоров будет ещё больше и не факт, что таких же безобидных.

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

 

Legioner
()

Надассемблер

Форум — Development

Интересует язык, который тривиально транслируется в ассемблер. По сути если я пишу на ассемблере, то многие паттерны повторяются чисто механически. Можно макросов под них понаписать, но язык это всё же лучше макросов. Но при этом он должен совершенно очевидным образом преобразовываться в ассемблер, в нём должен быть прямой доступ ко всем регистрам, в любой момент должна быть возможность использовать ассемблер напрямую. Но в то же время он должен быть настолько высокоуровневым, насколько это теоретически возможно для языка такого уровня. К примеру объявить переменную определённого типа, которая будет в стеке и к которой будут применяться правильные JMP-команды и арифметика (signed/unsigned).

Я точно не уверен, но вроде бы на заре времён язык C был чем-то подобным. Но речь о современности. В частности интересует конкретно архитектура ARM Cortex M0.

Что хотелось бы видеть по пунктам:

  1. Объявления функций с переменными. Автоматические прологи и эпилоги.

  2. Типизация переменных (signed/unsigned), понятный синтаксис для сравнений, структурированный код (if/while/…) вместо JMP.

  3. Вызов других функций по стандартным конвенциям.

  4. Статический анализ там, где это возможно.

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

 , ,

Legioner
()

Ёжики плакали. кололись

Форум — Talks

но продолжали покупать iДевайсы.

iМышка полный отстой. Там тач скрин на всю поверхность. Когда кликаешь, то оно часто детектирует небольшое движение пальца, считает его скроллом и в итоге ты тыкаешь чуть выше или ниже. И ещё нет tap to click, бред полный.

iКлавиатура полный отстой. Её русская инкарнация. Я не посмотрел, что покупаю. Там энтер отстойный и какая-то идиотская кнопка вместо тильды, а тильда где-то вообще не там. Ещё не понимаю, что такое кнопка Clear (на нумпаде, выглядит как Delete, но не Delete. Надо английскую купить, только где… Баги какие-то странные, закрыл крышку ноутбука - перестала работать кнопка с глобусом, лол.

Кто-нибудь пользовал Touch Pad (отдельный) вместо мышки?

В общем типичный эппл, ничего не меняется. Софт крутой, железо отстой.

XDR экран не впечатлил. Разницы нет между 120 гц и 60 гц визуально, все эти сверхцвета тоже почти не заметны визуально.

 ,

Legioner
()

Поругайте RP2040

Форум — Talks

Обнаружил свою новую любовь - чип от Raspberri Pi. Что меня особенно заинтересовало это I/O сопроцессоры, т.е. можно работать с быстрыми протоколами не загружая процессор. Кроме того это 2-ядерный ARM на 133 MHz, 264 kB SRAM. То бишь очень жирный процессор. По сути как Pentium 1, DRAM только докинуть и можно Windows 2000 запускать (ну почти).

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

Ещё большой плюс это существование книги RP2040 Assembly Language Programming (@Assembler, привет), с которой, как я надеюсь, все мои фантазии по программированию на ассемблере будут исполнены.

 rp2040, ,

Legioner
()

Где заказывать микросхемы?

Форум — Talks

Есть два местных магазина, у которых в ассортименте особо ничего нет.

Есть чип-дип, у которого ассортимент неплохой, но всё равно не идеальный. И, говорят, переплачивать там много.

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

Есть алиэкспресс, с ним тоже не очень понятно. Доставляют они вроде как нормально, видимо через взятки через границу проносят, это уже не моё дело. Но возникает вопрос в том, что они там вообще продают. Например я хочу вот такой ЦАП: 1 шт. ~ 5 шт./лот DAC9881SRGER DAC9881 VQFN24 новый оригинальный

Конечно мне нужен не китайский, а техасский. Насколько техасским будет ЦАП с алиэкспресса? Не хочется нарваться на копию.

Есть ли в России хорошие магазины с большим выбором микросхем? В гугле искал, какие-то мелкие стрёмные находятся, толковых не нашёл. Конечно должна быть доставка в Казахстан, но в принципе сейчас у большинства она есть.

 

Legioner
()

Доступ из веб-приложения к тому, что нельзя

Форум — Web-development

Я хочу из своего веб-приложения, то бишь из жаваскрипта на сайте взаимодействовать с тем, с чем жаваскрипту взаимодействовать не дают никак, нет такого API. Ну для простоты - устанавливать TCP-соединения по произвольному протоколу. Или общаться с USB-устройствами не из разряда webusb/serial/hid. Или ещё что-нибудь, не суть.

Самый популярный вариант: пишем приложение, которое запускается у клиента. Приложение поднимает HTTPS-сервер. Также клиенту в доверенные корни добавляем самосгенерированный сертификат, которым пользуется это приложение. Сайт с приложением соединяется по websocket (ну или через обычный https) и далее уже взаимодействует.

Минусы: нужно ставить самоподписанный сертификат, нужно ставить программу в автостарт.

Модификация этого варианта - пытаемся получить подписанный сертификат от какого-нибудь леценкрипта. Это можно, но очень геморройно в разработке, по крайней мере если делать это секурно. Собственно это основной минус. Ещё минус - у леценкрипта лимиты и если у тебя много таких точек, ты в них можешь упереться, придётся или идти к нему на поклон, или морочиться ещё больше с кучей доменов.

Модификация этого варианта это включить #allow-insecure-localhost в chrome://flags, не тестировал этот вариант, точно не знаю, как оно работает.

Модификация этого варианта это подождать, пока реализуют Issue 589141: *.localhost should be considered secure. Тогда можно будет просто слушать http и не морочить себе голову. Но это не точно.

Самый «правильный» вариант - работать через browser extension, который с помощью native messaging будет общаться с запущенным нативным приложением. Но browser extension надо ставить через chrome web store, в котором модераторы, зависеть от которых не очень хочется.

Модификация «правильного» варианта - включаем режим разработчика в браузере и грузим расширение из файловой системы. Но стрёмно всё это и не правильно.

Все варианты установки расширения в браузер из отдельного приложения вроде как убрали.

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

Подскажите, какие варианты я мог упустить.

 ,

Legioner
()

SixtyFPS становится Slint

Новости — Open Source
Группа Open Source

Slint — это набор инструментов для разработки графических пользовательских интерфейсов, подходящий как для встраиваемых устройств, так и для настольных приложений. Имеется поддержка Rust, C++ и JavaScript.

Исходный код Slint написан на Rust. На выбор предлагаются лицензия GPLv3 и альтернативные варианты для проприетарных проектов.

Проект основали Olivier Goffart и Simon Hausmann, которые участвовали в разработке KDE и работали в Trolltech над Qt. Разработка началась весной 2020 года под названием SixtyFPS, что символизировало плавные анимации со скоростью 60 кадров в секунду, но под напором советчиков было принято решение переименовать проект в Slint, что можно расшифровать, как Straightforward, Lightweight, Native Toolkit (простой, легковесный, нативный набор инструментов).

Для описания интерфейса используется специально созданный декларативный язык разметки Slint, который частично был вдохновлён Qt QML. Язык является строго типизированным, с удобной для дизайнера системой измерений и хорошим инструментарием. Для написания бизнес-логики может использоваться Rust, C++ или JavaScript. Для этих языков было разработано интуитивное и идиоматичное API. Язык разметки Slint транслируется в код на Rust или C++, что обеспечивает высокую производительность. Также можно загружать .slint-файлы во время выполнения программы с помощью интерпретатора.

Инструментарий включает реализацию LSP для языка разметки Slint, которая интегрируется с различными средами разработки и редакторами и обеспечивает автодополнение, семантическую подсветку синтаксиса и предпросмотр.

Демонстрационные примеры можно запустить в браузере по ссылке https://slint-ui.com/#demos

>>> Подробности

 , ,

Legioner
()

А есть архив лорквотесов?

Форум — Talks

Хочу поднять зеркало. Но полного архива со всеми данными не нашёл. С веб архива стянул, но там около 80 страниц нет. Есть ссылка https://drive.google.com/file/d/1yaK3XS1UJpJyRhWjkqGpGgnKHNSP4lNu/view но там вообще чёрт-те что, по авторам выковыривать что-ли. Есть ссылка на формат фортунок https://raw.githubusercontent.com/OlegKorchagin/lorquotes_archive/main/lor но там нет кучи метаинформации вроде даты, ссылки и тд.

Попутно вопрос - а есть бэкап базы сообщений лора?

 

Legioner
()

Кто там хотел браузер в браузере

Форум — Talks

Заходите на https://bellard.org/jslinux/, запускаете Windows 2000, в ней Firefox и наслаждаетесь интернетом в интернете. Работает, конечно, не так быстро, как хотелось бы, но ничего страшного, 20 лет назад как-то так оно и работало, хороший повод, чтобы улучшить процессоры. Думаю, это будущее веба.

 ,

Legioner
()

3d-моделирование это очень прикольно, попробуйте

Форум — Talks

Понадобился мне тут корпус для некоторого прибора. Купил я 3D-принтер и начал разбираться, чего там вообще. Сначала освоил OpenSCAD. Там пишешь модель как программу текстом на DSL. Сразу скажу - не советую. По-мне это тупиковый подход. И это говорит человек, который иконки в SVG рисует в блокноте. Но может кому подойдёт. Я на нём спроектировал одну деталь для сушилки вещей, которая у меня сломалась, распечатал PETG-пластиком. Толщину 3-5 мм поставил со сплошной заливкой. Получилась такая советская неубиваемая штуковина, которая явно переживёт весь мой дом. Вообще эти пластики на удивление очень прочные, что PLA, что PETG. По ощущениям гораздо прочней, чем прочие бытовые пластики. Я думал, будет наоборот. А если 3-5 мм, там уже даже не согнуть.

В общем когда я прикинул, сколько я буду писать текст для моего корпуса, я решил освоить ещё какую-нибудь программу. Взял FreeCAD. Я думал, что там рисуют как в гимпах всяких, от балды. Но оказалось, что компьютерные технологии это прям круто, я вот реально не ожидал. Даже не помню, когда последний раз меня удивляли компьютерные программы. А тут оказалось, что какие-то умные мужики придумали такую штуку, которая называется параметрическое моделирование. Это как на уроке геометрии. Мы рисуем треугольник, задаём ему размеры сторон, причём там как на черчении эти размеры прям стрелочками покажет. И он сам соображает, какие у этого треугольника будут координаты. Вот этого в OpenSCAD и не хватает.

В общем с этим параметрическим моделированием, конечно, тоже не всё так просто и там даже есть определённый порог входа, мне пришлось смотреть какого-то деда на ютубе, чтобы разобраться во всём этом. Но в итоге я разобрался. Кстати в итоге попробовал ещё Fusion 360 и результат сделал в нём, но это не существенно, подходы там одинаковые и во FreeCAD вроде всё плюс-минус есть, просто Fusion мне показался чуть удобней для новичка, но рекламировать не буду, повторюсь, FreeCAD тоже очень крутой и на первый взгляд всё, что надо - умеет, а кое-что лучше (например список ограничений во FreeCAD прям сразу списком есть, а во Fusion я так и не понял, где их посмотреть).

Что по итогу - весь этот процесс меня в какой-то мере затянул и это действительно очень интересно - все эти размеры проставлять, пока деталь не прекратит иметь свободный ход. В процессе разработки своей детальки я распечатал около 10 прототипов, но каждый раз какая-нибудь мелочь ускользала. Сейчас печатаю финальный вариант, надеюсь, он уже действительно будет финальный. Тем, кто с этим всем не знаком, я настоятельно советую при случае попробовать и «поиграться» с этим. Это прям прикольно, почти как программирование в начале изучения.

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

Картинка для привлечения внимания: мой корпус

 , ,

Legioner
()

Яндекс облако, корневой домен

Форум — Web-development

Хочу создать сайт в яндекс-облаке, без всяких виртуальных машин, чтобы прям полностью в облаке был. Пока предположим статический. Как я понимаю, сами страницы нужно загрузить в Object Storage. Далее нужно настроить CDN, чтобы оно быстрей работало. Далее нужно настроить облачный DNS (так и не понял, чем он отличается от необлачного кроме того, что платный, но ладно, вроде недорого).

Пока речь идёт о домене вроде www.example.com, вопросов нет. Создаём CNAME-запись на адрес CDN-сервера, оно вроде даже HTTPS поддерживает через letsencrypt само.

Но я никак не пойму, как мне подключить поддержку example.com. Пусть хотя бы редиректом на www.example.com. Ну не создавать же виртуальную машину, чтобы отвечать 301 на запросы в корень.

А вообще в идеале я хочу без www сделать. Но, так понимаю, это не получится.

 ,

Legioner
()

Разработчики Qt пишут новый тулкит на Rust

Форум — Talks

SixtyFPS

Выглядит круто, особенно демка на Rpi. Плюс разработчики, которые знают, что делают. Мне кажется, у библиотеки есть будущее. Ещё большой плюс: GPL.

 

Legioner
()

Новый DE на Rust от System76

Форум — Talks

Exploring System76’s New Rust Based Desktop Environment с картинками. Называется Cosmic.

По-моему круто выглядит.

 cosmic

Legioner
()

Недружелюбная убунту

Форум — Talks

Заказал VPS с убунтой. Он как бы преднастроенный. Выдали пароль от рута. Захожу через ssh, делаю apt update/apt upgrade. Он обновляет всякое и в том числе ssh. И говорит мол файл поменялся или что-то в этом роде. Я смотрю изменения - а он мне предлагает запретить вход от рута и вход по паролям. То бишь если бы я в этом не шарил, я бы ничтоже сумнящеся взял новый конфиг и окирпичил бы VPS. Ну ладно, я шарю, но если это какой-то новичок, который только начинает разбираться с линуксом - ну это же вредительство прямо.

 , друзья

Legioner
()

А может так и выглядит будущее?

Форум — Talks

Наверное многие слышали про ситуацию на рынке труда в IT в последние пару лет. Вкратце некоторые тезисы:

  1. Безумный спрос на программистов, рост зарплат в 2-10 раз.

  2. Огромное число курсов из разряда выучить С++ за 21 день (оставшиеся 70 дней учат проходить интервью).

  3. Огромное число людей, которые пытаются перейти в IT из других отраслей, привлечённые зарплатами.

Теперь ещё один факт. ИИ и автоматизация в целом развивается и вытесняет всё больше людей из сектора занятности. В какой-то момент этот процесс станет лавинообразным и на рынке труда появятся миллионы невостребованных людей.

Программистов это, конечно, не коснётся. Это высшая каста работников умственного труда по сути.

Раньше я думал, что будет работать один или комплекс следующих сценариев:

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

  2. Безусловный доход.

  3. Легализованная мелкая преступность, своровал меньше ста долларов — дела нет.

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

Но вот то, что все повалят в программисты, я не предвидел. Казалось мне, что входной порог слишком высок. Ан-нет. Валят.

Как вам дивный новый мир?

 

Legioner
()

RSS подписка на новые темы