Всем, кто стремится к идеальной среде разработки, посвящается.
Представляем вам наш гайд по настройке VSCode) Если у вас ещё нет Visual Studio Code, то скорее загружайте его с официального сайта. Также перед настройкой не забудьте загрузить и Git отсюда, и мы начинаем.
До последнего времени только встроенное приложение "Цифровое благополучие" в Android могло глубоко управлять такими функциями телефона, как: экран, звук, уведомления.
Через цифровое благополучие можно настроить время тишины и спокойствия, когда телефон игнорирует все входящие уведомления, звонки и смс, кроме тех, кто находится в специальном списке.
Также через цифровое благополучие можно было настроить режим спокойствия, когда цвета на экране становились чёрно-белыми, звук отключался и вы могли сосредоточится на выполняемой задаче, не отвлекаясь на постоянные уведомления в телефоне.
А ещё можно было настроить специальный режим сна, что особенно важно в наше неспокойное время.
Функции приложения "Цифровое благополучие"
Это были привилегии встроенного в Android приложения Digital Wellbeing. Никакие иное стороннее приложение не могло внедряться в работу операционной системы, чтобы управлять этими функциями.
Например, это приложение могло отключать функцию Always On Display, отключать звук, уведомления, делать экран чёрно-белым и даже отбирать возможность разблокировать телефон, пока не наступит определённое время.
Но вышла свежая версия Android 15 Developer Preview 2, в которой разработчики внедрили новую команду системного API, который назвали ZenDeviceEffects.
Это значит, что теперь любой разработчик приложения, использовав команды нового API ZenDeviceEffects также получит полный контроль над всеми функциями, которые ранее были доступны только для Digital Wellbeing.
Команды нового API ZenDeviceEffects
Это удобно, потому что многие пользователи отключали, или даже удаляли функцию "Цифровое благополучие" с телефона.
Удаляли, потому что в сети гуляют инструкции по оптимизации работы Android, которые советуют отключить эту функцию, потому что она разряжает батарею.
Уверен, что после выпуска финальной версии Android 15 в магазине приложений появится новый класс программ, которые будут следить за вашим распорядком дня и ограничивать работу телефона в определённы период или если вы оказались в конкретном месте.
А учитывая повсеместное распространение нейросетей и алгоритмов ИИ, эту функцию могут отдать им, чтобы смартфон заботился о вашем самочувствии.
Лично я предпочитаю самостоятельно решать подобные задачи, но многим понравится, что смартфон напоминает им больше спать, отдыхать и меньше работать для сохранения здоровья.
Ждём релиза Android 15 вместе с новыми командами API ZenDeviceEffects.
Ещё больше интересного о мире Android и телефонах Xiaomi на MetaMi.
Meshy-3 является передовой системой, использующей нейронные сети для создания впечатляющих 3D-моделей.
Что нового в Meshy-3?
Прежде всего, система теперь способна генерировать 3D-модели не только на основе текстовых инструкций, но и путем анализа фотографий. Это позволяет художникам и дизайнерам быстро воссоздавать реальные объекты в виртуальной 3D-среде.
Также Meshy-3 предлагает целый ряд усовершенствований, по сравнению с предыдущей моделью, которые включают:
1.улучшенную детализацию текстур-модели отличаются исключительной четкостью и реалистичностью, что делает их пригодными для использования в самых разных проектах;
2.повышенное качество полигонов в скульптурном стиле-художники теперь могут создавать невероятно органичные 3D-скульптуры;
3.PBR и функция добавления патчей – это усовершенствованные средства редактирования, которые помогают довести объекты до совершенства
Попробовать бесплатно возможности этой модели можно здесь Сервис работает без vpn, но требует регистрации
Samsung подтвердила, что некоторые её смартфоны 2021 и 2022 годов получат обновление One UI 6.1 с фирменной мобильной нейросетью Galaxy AI.
Однако отдельные флагманы 2021 года получат доступ к ограниченному набору возможностей ИИ. К ним относятся улучшенные возможности поиска и Chat Assist, который позволяет настраивать тон и стиль сообщений с помощью клавиатуры.
У девайсов 2022-го будет более широкий функционал Galaxy AI. Но даже они останутся без Instant Slow-mo — инструмента для замедления видео посредством долгого нажатия на экран. Ограничения объясняются тем, что чипы Exynos и Snapdragon, используемые в устройствах до 2023-го, не позволяют им поддерживать некоторые опции нейросети.
Обновление в новом проекте Talkvio построенном на базе форума с более 250 000 сообщений из далекого 2007 года и уже большим количеством новых с момента создания нового движка в 2023 году. Отличается наличием минусов, есть возможность указывать свое отношение к автору и менять свое отношение через системы кармы и очков (что выгодно отличается от обычного лайканья постов). Есть пометки моего (авторский контент), поиск, блочный редактор с черновиками, черновики для комментариев, оповещения, фильтры для тех кто интересуется топами комментариев или постов, многочисленные разделы со свежим/лучшим/комментируемым/авторским, реверсные и прямые отображения комментариев, подписки на теги и на пользователей, избранное, увеличение изображений, оформление своей страницы, публикацию по расписанию, подъемы постов, случайная лента / случайные посты, сайт доступен на 2 языках, имеет темную и светлую тему, подсказки для новичков, живая панель комментариев, управление клавиатурой, скрытие просмотренных постов, и многое другое. Так же ужеесть приложение на андроид. Многие вещи внедряются и дорабатываются и открыты для предложений. Реклама отсутствует как таковая. В будущем ресурс будет уделять гораздо больше вниманию авторскому контенту. Ссылка на ресурс и приложение на android в комментарии.
Изменения:
Доработки в темной теме, календарь и шапка редактора в режиме отображения постов выглядит более органично (в создании поста было и так все ок)
Исправлен баг когда могло сбиться редактирование поста при ответах под ним.
Исправлен баг на андроиде когда при попытки стереть упоминание могла закрываться клавиатура.
Исправлен скролл левой панели на маленьких экранах и андроиде в случае пролистывания снизу вверх.
Появилась возможность отменить оценку посту
Исправлен баг с отображением аватарки в некоторых случаях
Задача оказалась нетривиальной и совсем неочевидной. Оказывается, что исходные файлы DOS не так-то уж и легко переносятся в git, и уж как минимум, не как текстовые файлы в кодировке UTF-8. Но, к счастью, в отличие от утечек исходников MS-DOS 6.0, здесь имеется полный комплект файлов и инструментов, достаточный для корректной сборки и тестирования. Остались сущие нюансы, которые попили много крови.
Поэтому я, как и многие — начал свои эксперименты по сборке MS-DOS 4.0, с исправлением ошибок, а также возможностью исследования исходных кодов и тестирования их на реальном железе.
В статье же изложено краткое руководство по сборке и созданию загрузочной дискетки.
❯ Инструментарий
Собирать всё буду в Linux Mint (читай Ubuntu). Средой DOS для сборки выбрал dosbox, к сожалению, это не самый лучший вариант, потому что там идёт замедление частоты (чтобы старые программы корректно работали), поэтому сборка идёт достаточно долго. Лучше всего использовать любой удобный DOS, запущенный в виртуальной машине.
Для создания загрузочной дискеты и тестирования полученной сборки буду задействовать виртуальную машину qemu. А чтобы получить дискеты с готовым образом, я буду использовать установочную дискету MS-DOS 4.0 (найденную тут см. 4.00 OEM [Sampo]).
Прежде чем пойдём дальше — важное замечание:
Никаких чужих прав задеть не собираюсь, все модификации кода были сделаны исключительно в юмористических целях, и не подлежат распространению. Модифицированные исходники удалены.
❯ В чём сложности сборки?
Проблемы две:
Некорректная инициализация переменных среды (в самом bat-файле SETENV.BAT содержится ошибки или опечатки).
Проблемы с кодировкой при переносе кода с дискеток DOS в GIT с кодировкой UTF-8.
Первая проблема легко исправляется даже самостоятельно, при беглом анализе исходного кода. Она легко вскрывается при сборке, дальше просто необходимо внести правки, либо создать свой обновлённый bat-файл, который будет инициализировать переменные среды окружения.
Значительно сложнее обстоят дела с тем, что в части кода, при переносе в UTF-8, побились некоторые символы. У меня была попытка сборки, которую я описывал у себя в ЖЖ, и, в конце концов, я получил вот это:
Это достаточно частая и болезненная проблема со старыми исходниками времён DOS. С аналогичной задачей я столкнулся и при попытке собрать программу RAM View. Об этом пути и исправлении проблемы, я подробно написал в статье Правка чужого кода.
Здесь же мы исключим ручной труд и автоматизируем исправление проблем с кодировками.
❯ Подготовительные операции перед сборкой
Итак, шаги по сборке ДОС. Клонируем оригинальный репозиторий:
sed -i -re 's/\xEF\xBF\xBD|\xC4\xBF|\xC4\xB4/#/g' MS-DOS/v4.0/src/MAPPER/GETMSG.ASM sed -i -re 's/\xEF\xBF\xBD|\xC4\xBF|\xC4\xB4/#/g' MS-DOS/v4.0/src/SELECT/SELECT2.ASM sed -i -re 's/\xEF\xBF\xBD|\xC4\xBF|\xC4\xB4/#/g' MS-DOS/v4.0/src/SELECT/USA.INF
и создаём там обновлённый бат-файл для переменных среды окружения, следующего содержания:
$ cat src/e.bat @Echo off echo setting up system to build the MS-DOS 4.01 SOURCE BAK... set CL= set LINK= set MASM= set COUNTRY=usa-ms set BAKROOT=e: rem BAKROOT points to the home drive/directory of the sources. set LIB=%BAKROOT%\src\tools\bld\lib set INIT=%BAKROOT%\src\tools set INCLUDE=%BAKROOT%\src\tools\bld\inc set PATH=%BAKROOT%\src\tools;%PATH%
В принципе этих операций достаточно для сборки, а то что ниже — это лично моё хулиганство, чтобы продемонстрировать, что DOS в действительности собрался, и нет подмены файлов. Я заменяю компанию Microsoft своим ником:
find -name "*.ASM" -type f -exec sed -i 's/Microsoft/Dlinyj/g' {} + find -name "*.INC" -type f -exec sed -i 's/Microsoft/Dlinyj/g' {} + find -name "*.H" -type f -exec sed -i 's/Microsoft/Dlinyj/g' {} + find -name "*.MAC" -type f -exec sed -i 's/Microsoft/Dlinyj/g' {} + find -name "*.MSG" -type f -exec sed -i 's/Microsoft/Dlinyj/g' {} + find -name "*.C" -type f -exec sed -i 's/Microsoft/Dlinyj/g' {} + find -name "*.CLB" -type f -exec sed -i 's/Microsoft/Dlinyj/g' {} + find -name "*.SKL" -type f -exec sed -i 's/Microsoft/Dlinyj/g' {} +
Всё, теперь исходники подготовлены, для того чтобы их можно было корректно собрать.
❯ Сборка
Собирать буду в dosbox, как показала практика — это не самое лучшее решение, сборка занимает около часа, что, мягко скажем, раздражает.
Запускаю dosbox:
dosbox
Далее в нём монтирую текущую директорию как диск E.
mount e: ./
И переходим на диск e, запускаем в dosbox бат-файл, который инициализирует среду окружения, и начинаем сборку:
e: cd SRC e.bat
и запускаем сборку командой nmake:
Если вы делаете это в dosbox, то можно пойти погулять. Окончанием сборки будет выглядеть следующим образом:
После этого надо скопировать все собранные файлы в один каталог. Создаём каталог «4» в корне диска и копируем все бинарники специальным скриптом:
mkdir \4 CPY.BAT \4
Далее самое интересное:проверка того, что файлы запускаются. Для этого надо сделать так, чтобы dosbox прикидывался старым ДОСом. Выполняем следующую команду:
ver set 4.0
После переходим в каталог\4и можно выполнить в нёмcommand.com:
Хулиганство сработало, ДОС собрался и прикидывается, будто бы я его разработал. Дело стало за малым — протестировать это на реальном железе.
❯ Создание загрузочной дискетки
Дальше я думал просто примонтировать в dosbox пустой образ дискетки, и прямо из собранных файлов выполнить перенос системных файлов командой:
sys <path> a:
Но, факир был пьян, и фокус не удался. Поэтому решил MBR (Master Boot Record) позаимствовать с загрузочной дискетки DOS 4.0. К сожалению, MBR от MS-DOS 6.22 у меня не заработал.
Загружаемся с установочной дискетки и ставим наш пустой образ 1,44 МБ дискетки в дисковод B, с помощью qemu:
qemu-system-i386 -fda Disk01.img -fdb fdd.img
Отменяем установку и форматируем дискету с переносом системных файлов:
По окончании можно закрывать окно qemu. Возвращаемся к окну с dosbox и монтируем полученный образ дискетки, с помощью следующей команды:
imgmount a: <path to fdd.img> -t floppy
И потом просто вручную переносим файлы COMMAND.COM, IO.SYS и MSDOS.SYS на дискету:
Всё, образ готов. Можно его протестировать в виртуальной машине, или даже записать на настоящую дискету и загрузиться!
Для запуска в qemu следует использовать следующую команду:
qemu-system-i386 -fda fdd.img
Записать на дискетку можно командой dd, я использую USB-FDD дисковод.
sudo dd if=fdd.img of=/dev/sdk status=progress
И, да! Эта система успешно работает на реальном железе. В данном случае проверка идёт на 386 компьютере.
❯ Выводы
Запуск свежесобранного MS-DOS 4.0 на реальном железе
Не буду лукавить, сборка MS-DOS 4.0 оказалась не столь простой. Пришлось посмотреть некоторые видео, пошерстить различные репозитории. Но всё же это прекрасный опыт, который позволяет заглянуть внутрь исторических исходников и покопаться в них.
Давняя утечка MS-DOS 6.0 была неполной, и собрать его не представлялось возможным. А теперь у исследователей есть готовый инструментарий, для того чтобы попрактиковаться в разработки каких-то своих модулей старой операционной системы.
Конечно же, я по-настоящему жду, когда же обнародуют исходники MS-DOS 6.22, так как ещё надеюсь увидеть их на своём веку.
Никто не сдал! Всех уволить! Я смотрю тут одни математики в комментах собрались и кто-то даже код какой-то налобал, наверное, курсы современные по программированию окончил. Чисто математический ответ - "минус бесконечность", но эта задача по информатике, поэтому смотрим на тип переменной А и понимаем, что это самое минимальное отрицательное целое число для этого типа. При всех других минимальных значениях А программа будет падать.