New Thread
Name
×
Email
Subject
Message
Files Max 5 files10MB total
Tegaki
Password
Captcha*
[New Thread]


новостей тред
12 replies omitted. View the full thread
Cloud storage giant Dropbox today joined the fray of tech companies announcing layoffs. The company today announced that it would be laying off 16% of its staff, equivalent to about 500 employees, due to slowing growth, and — in the words of CEO Drew Houston — because “the AI era of computing has finally arrived.”

These appear to be the first layoffs the company has made since January 2021, when it laid off 315 employees in the throes of the COVID-19 pandemic.

The latest cull was announced to staff in a memo from CEO and co-founder Drew Houston, as well as in an SEC filing.

The SEC filing noted that the company will incur charges of approximately $37 million to $42 million in connection with layoffs, which will be recorded in Q2. Q1 results, which will be reported next Thursday, May 4, will be in-line or even above expectations, it added.

Ironically, even with the strong results, and the fact that Dropbox is profitable, Houston said the company is choosing to take a preemptive step to cut jobs and invest in new areas to keep up with the pace of change, given that growth is slowing.

“While our business is profitable, our growth has been slowing. Part of this is due to the natural maturation of our existing businesses, but more recently, headwinds from the economic downturn have put pressure on our customers and, in turn, on our business. As a result, some investments that used to deliver positive returns are no longer sustainable,” he wrote.

The interesting thing is that he also cites AI as a major factor.

“Second, and more consequentially, the AI era of computing has finally arrived,” he continued. “We’ve believed for many years that AI will give us new superpowers and completely transform knowledge work. And we’ve been building towards this future for a long time, as this year’s product pipeline will demonstrate.”
Message too long. View the full text
Starting today, you can create and use passkeys on your personal Google Account. When you do, Google will not ask for your password or 2-Step Verification (2SV) when you sign in.

Passkeys are a more convenient and safer alternative to passwords. They work on all major platforms and browsers, and allow users to sign in by unlocking their computer or mobile device with their fingerprint, face recognition or a local PIN.

Using passwords puts a lot of responsibility on users. Choosing strong passwords and remembering them across various accounts can be hard. In addition, even the most savvy users are often misled into giving them up during phishing attempts. 2SV (2FA/MFA) helps, but again puts strain on the user with additional, unwanted friction and still doesn’t fully protect against phishing attacks and targeted attacks like "SIM swaps" for SMS verification. Passkeys help address all these issues.

https://security.googleblog.com/2023/05/so-long-passwords-thanks-for-all-phish.html
Леннарт Поттеринг рассказал о подготовке к добавлению в системный менеджер systemd режима мягкой перезагрузки ("systemctl soft-reboot"), который приводит к перезапуску только компонентов пространства пользователя, не трогая ядро Linux. Предполагается, что по сравнению с обычной перезагрузкой мягкая перезагрузка сократит время простоя во время обновления окружений, использующих готовые системные образы.

Новый режим позволит завершить работу всех процессов в пространстве пользователя, после чего заменить образ корневой ФС на новую версию и запустить процесс инициализации системы, не перезагружая ядро. Кроме того, сохранение состояния работающего ядра при замене пользовательского окружения даст возможность реализовать обновление некоторых сервисов в live-режиме, организовав передачу файловых дескрипторов и слушающих сетевых сокетов для этих сервисов из старого окружения в новое. Таким образом, можно будет существенно сократить время замены одной версии системы на другую и обеспечить бесшовную передачу ресурсов наиболее важным сервисам, которые продолжат работать без остановки.

Ускорение перезапуска достигается за счёт исключения таких относительно длительных стадий, как инициализация оборудования, работа загрузчика, запуск ядра, инициализация драйверов, загрузка прошивок и обработка initrd. Для обновления ядра в сочетании с мягкой перезагрузкой предлагается использовать механизм livepatch для внесения исправлений в работающее ядро Linux без полной перезагрузки и без остано
Message too long. View the full text
Раскрыты сведения о неисправленной (0-day) уязвимости (CVE-2023-2156) в ядре Linux, позволяющей остановить работу системы через отправку специально оформленных пакетов IPv6 (packet-of-death). Проблема проявляется только при включении поддержки протокола RPL (Routing Protocol for Low-Power and Lossy Networks), который в дистрибутивах по умолчанию отключён и применяется, главным образом, на встраиваемых устройствах, работающих в беспроводных сетях с большой потерей пакетов.

Уязвимость вызвана некорректной обработкой внешних данных в коде разбора протокола RPL, которая приводит к срабатыванию assert-сбоя и переходу ядра в состояние panic. При размещении в структуре k_buff (Socket Buffer) данных, полученных в результате разбора заголовка пакета IPv6 RPL, если поле CmprI выставлено в значение 15, поле Segleft в 1, а CmprE в 0, 48-байтный вектор с адресами распаковывается до 528 байт и возникает ситуация, когда выделенной для буфера памяти оказывается недостаточно. В этом случае в функции skb_push, применяемой для помещения данных в структуру, срабатывает проверка на несоразмерность размера данных и буфера, генерирующая состояние panic, чтобы предотвратить запись за границу буфера. 

Примечательно, что разработчики ядра были уведомлены об уязвимости ещё в январе 2022 года и за прошедшие 15 месяцев три раза попытались устранить проблему, выпустив патчи в сентябре 2022 , октябре 2022 и апреле 2023 года, но каждый раз исправлений оказывалось недостаточно и уязв
Message too long. View the full text
В представленном 22 мая выпуске платформы для организации совместной разработки GitLab 16.0 выявлена критическая уязвимость (CVE-2023-2825), позволяющая неаутентифицированному пользователю получить содержимое любого файла на сервере, насколько это позволяют права доступа процесса, обрабатывающего запросы. Уязвимости присвоен наивысший уровень опасности (10 из 10). Проблема устранена в обновлении GitLab 16.0.1 и затрагивает только ветку 16.0. Информация об уязвимости передана в GitLab в рамках действующей на HackerOne программы выплаты вознаграждений за обнаружение уязвимостей.

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

https://www.opennet.ru/opennews/art.shtml?num=59190
https://about.gitlab.com/releases/2023/05/23/critical-security-release-gitlab-16-0-1-released/

GNU GUIX (произносится гикс /ɡiːks/) — функциональный пакетный менеджер и операционная система, разработанные Ludovic Courtès. Отличительной особенностью является создание полностью воспроизводимых билдов и декларативное описание. Guix можно поставить на существующий дистрибутив GNU/Linux или в качестве отдельной системы на базе Linux или GNU Hurd. Раньше существовало разделение менеджера пакетов Guix и операционной системы GuixSD.

Определения пакетов описываются на диалекте языка Scheme – GNU/Guile. Большая часть исходников написана на нём же. Система изначально была основана на Nix. Отличиями от Nix(OS) являются язык для описания пакетов и сервисов, система инициализации (GNU Shepherd), использование ядра Linux-Libre (Linux без блобов) и отсутствие проприетарных пакетов.

Чем интересен Guix: https://habr.com/ru/post/436938/

GNU Guix (из коробки) не имеет проприетарного firmware. Потому при переходе на эту систему надо учитывать, что возможно wifi адаптер, gpu и другие компоненты системы могут не работать полностью или частично.

Список свободных wifi адаптеров:
https://gist.github.com/sirikid/2817f36d67d1480a428cbf33b220cfcc

Как завести систему с несвободным железом:
* Канал с несвободными пакетами NonGuix
* Установочный образ с несвободным ядром и firmware
Last edited by Hidden User
Message too long. View the full text
Доступен системный менеджер GNU Shepherd 0.10 (бывший dmd), сочетающий возможности системы инициализации и инструментария для управления системными сервисами. Проект развивается разработчиками дистрибутива GNU Guix System в качестве альтернативы системе инициализации SysV-init, поддерживающей зависимости. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется для определения настроек и параметров запуска сервисов. Shepherd уже применяется в дистрибутиве GNU Guix System и нацелен также на использование в GNU/Hurd, но может работать в любой POSIX-совместимой ОС, для которой доступен язык Guile.

Shepherd выполняет работу по запуску и остановке сервисов, учитывая взаимосвязь между сервисами, динамически определяя и запуская сервисы, от которых зависит выбранный сервис. Shepherd также поддерживает определение конфликтов между сервисами и предотвращает их одновременное выполнение. Проект может использоваться как в роли основной системы инициализации (init c PID 1), так и в обособленном виде для управления фоновыми процессами отдельных пользователей (например, для запуска tor, privoxy, mcron и т.п.) с выполнением с правами данных пользователей.

Основные новшества:

    * Добавлены новые промежуточные состояния сервисов - "starting" и "stopping", отображаемые при выполнении команды "herd status" и определяющие нахождение сервиса в процессе запуска или остановки (ранее поддерживались только состояния "running" и "stopped").
    * Обеспечена блокировка повторного выполнения операций "start" и "stop", если сервис уже запущен или остановлен (ранее выполнение "herd start SERVICE" приводило к попытке запуска второго экземпляра сервиса).
    * Обеспечено распараллеливание запуска зависимостей и сервисов, запускаемых в режиме "start-in-the-background".
    * Реализован учёт времени сбоев и изменений состояний каждого сервиса. Накопленная статистика показывается при выполнении команды "herd status".
    * Добавлена команда "herd log" для показа сводного лога событий и списка всех изменений состояния сервиса.
    * Добавлена команда "herd graph" для генерации данных, позволяющих при помощи Graphviz ("herd graph | xdot -") отобразить наглядный граф зависимостей.
    * Реализовано цветное подсвечивание вывода команды herd.
    * Добавлены новые сервисы: "monitoring" для отслеживания потребления ресурсов процессом shepherd и "repl" для запуска отладочного интерфейса REPL (read-eval-print loop).
    * Объявлен устаревшим интерфейс GOOPS (Guile’s Object-Oriented Programming System). 
Message too long. View the full text

68747470733a2f2f64336b6f3533337475316f7a66712e636c6f756466726f6e742e6e65742f636c69636b73746172742f65726c616e672e706e67.png
[Hide] (16.5KB, 256x232)
Стоит ли рассматривать более подробно данный ЯП?
6 replies and 2 files omitted. View the full thread
Генераторы: двоичные и списка. Имеют структуру
NewList = [Выражение || Генератор1, Генератор2,..., ГенераторN. Условие1, Условие2,..., УсловиеM]

language: erlang
% общий вид двоичного генератора в литературе, которую я читаю, не приводится. Поэтому напишу здесь усреднённый вид генератора, чтобы понимать потом.
[X || <<X>> <= <<1, 2, 3, 4, 5>>, X rem 2 == 0].
ClipboardImage.png
[Hide] (41.4KB, 583x418)
Продолжаем.
Это код простого udp-сокета. Решил немного уйти дальше просто посмотреть. Очень доставил встроенная бесконечная функция loop.
Replies: >>56
>>55
Расширенный код сокета. Объединён с tcp-сокетом в один файл. Оба сокета запускаются параллельно.

-module(socket_server).
-export([start/0]).

start() ->
    TcpPort = 1337,
    UdpPort = 1488,
    TcpOptions = [{active, false}, {reuseaddr, true}],
    UdpOptions = [{active, false}, {reuseaddr, true}],
    {ok, TcpSocket} = gen_tcp:listen(TcpPort, TcpOptions),
    {ok, UdpSocket} = gen_udp:open(UdpPort, UdpOptions),
    io:format("TCP server started and listening on port ~w~n", [TcpPort]),
    io:format("UDP server started and listening on port ~w~n", [UdpPort]),
Message too long. View the full text
Replies: >>57
>>56
В будущем применимый для этого сокет-сервера модуль с использованием mysql

-module(db).
-export([connect/0, insert_user/2, insert_log/3]).

connect() ->
    mysql:start_link([{host, "localhost"}, {user, "root"}, {password, "password"}, {database, "chatgpt_db"}]).

insert_user(Username, Password) ->
    mysql:query(mysql:prepare(<<"INSERT INTO users (username, password) VALUES (?, ?)">>, [Username, Password])).

insert_log(FromUser, ToUser, Message) ->
    mysql:query(mysql:prepare(<<"INSERT INTO message_logs (from_user, to_user, message) VALUES (?, ?, ?)">>, [FromUser, ToUser, Message])).

Message too long. View the full text
Сама sql-схема прилагается.
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(255) UNIQUE NOT NULL,
    password VARCHAR(255) NOT NULL
);

CREATE TABLE messages (
    id INT AUTO_INCREMENT PRIMARY KEY,
    sender_id INT NOT NULL,
    receiver_id INT NOT NULL,
    message TEXT NOT NULL,
    sent_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sender_id) REFERENCES users(id),
    FOREIGN KEY (receiver_id) REFERENCES users(id)
Message too long. View the full text

тред посвящается околинуксовым всяким разным штукам
Last edited by Hidden User
спидран по установке arch

https://youtu.be/8utpbbdj0LQ

После полутора лет разработки опубликован четвёртый бета-выпуск операционной системы Haiku R1. Изначально проект был создан как реакция на закрытие ОС BeOS и развивался под именем OpenBeOS, но был переименован в 2004 году из-за претензий, связанных с использованием в названии торговой марки BeOS. Для оценки работы нового выпуска подготовлено несколько загрузочных Live-образов (x86, x86-64). Исходные тексты большей части ОС Haiku распространяются под свободной лицензией MIT, исключение составляют некоторые библиотеки, медиа-кодеки и компоненты, заимствованные из других проектов.

ОС Haiku ориентирована на персональные компьютеры, использует собственное ядро, построенное на основе модульной архитектуры, оптимизированное для высокой отзывчивости на действия пользователя и эффективного выполнения многопоточных приложений. Для разработчиков представлен объектно-ориентированный API. Система напрямую базируется на технологиях BeOS 5 и нацелена на бинарную совместимость с приложениями для данной ОС. Минимальное требование к оборудованию: CPU Pentium II и 384 МБ ОЗУ (рекомендовано Intel Core i3 и 2 ГБ ОЗУ).

В качестве файловой системы используется OpenBFS, поддерживающая расширенные атрибуты файлов, журналирование, 64-разрядные указатели, поддержку хранения мета-тэгов (для каждого файла можно сохранить атрибуты в форме ключ=значение, что делает ФС похожей на БД) и специальных индексов для ускорения выборки по ним. Для организации структуры директорий используются "B+ tree" деревья. Из кода BeOS в состав Haiku включён файловый менеджер Tracker и панель Deskbar, исходные тексты которых были открыты после ухода BeOS со сцены.

Основные новшества:

    Улучшена работа на экранах с высокой плотностью пикселей (HiDPI). Реализовано корректное масштабирование интерфейса, не ограничивающееся изменением размера шрифтов. При первой загрузке Haiku теперь пытается автоматически определить наличие HiDPI-экрана и выбрать необходимые размеры для масштабирования. Выбранные параметры могут быть изменены в настройках, но для их применения пока требуется перезагрузка. Параметры масштабирования поддерживаются в большинстве родных приложений и в некоторых портированнных, но не во всех.
    Предоставлена возможность использования внешнего вида с плоским декоратором окон и плоским оформлением кнопок, вместо оформления с активным использованием градиентов. Плоское оформление поставляется в пакте Haiku Extras и включается в разделе настроек внешнего вида.
    Добавлена прослойка для обеспечения совместимости с библиотекой Xlib, позволяющая запускать X11-приложения в Haiku без запуска X-сервера. Прослойка реализована через эмуляцию функций Xlib при помощи трансляции вызовов в высокоуровневый графический API Haiku.
    Подготовлена прослойка для обеспечения совместимости с Wayland, позволяющая запускать тулкиты и приложения, использующие данный протокол, в том числе приложения на базе библиотеки GTK. Прослойка предоставляет библиотеку libwayland-client.so, основанную на коде libwayland и совместимую на уровне API и ABI, что позволяет запускать приложения Wayland без изменений. В отличие от типовых композитных серверов Wayland, прослойка не запускается в форме отдельного серверного процесса, а загружается как плагин к клиентским процессам. Вместо сокетов в сервере используется нативный цикл обработки сообщений на основе BLooper.
    Благодаря прослойкам для совместимости с X11 и Wayland удалось подготовить рабочий порт библиотеки GTK3. Из приложений, которые можно запустить при помощи порта отмечены GIMP, Inkscape, Epiphany (GNOME Web), Claws-mail, AbiWord и HandBrake.
    Добавлен рабочий порт с Wine, который можно использовать для запуска Windows-приложений в Haiku. Из ограничений отмечается возможность запуска только в 64-разрядных сборках Haiku и способность выполнения только 64-разрядных приложений Windows.
    Добавлен порт текстового редактора GNU Emacs, работающий в графическом режиме. Пакеты размещены в репозитории HaikuDepot.
Message too long. View the full text

появилось в версии 15.7.0

https://www.youtube.com/watch?v=IrK83nKi8HA

We are pleased to announce the release of GNU Guix version 1.4.0!

The release comes with ISO-9660 installation images, a virtual machine image, and with tarballs to install the package manager on top of your GNU/Linux distro, either from source or from binaries—check out the download page. Guix users can update by running guix pull.

It’s been 18 months since the previous release. That’s a lot of time, reflecting both the fact that, as a rolling release, users continuously get new features and update by running guix pull; but let’s face it, it also shows an area where we could and should collectively improve our processes. During that time, Guix received about 29,000 commits by 453 people, which includes important new features as we’ll see; the project also changed maintainers, structured cooperation as teams, and celebrated its ten-year anniversary!

A happy frog sitting at a Guix-powered computer with an almighty benevolent Guix humanoid in its back.

    Illustration by Luis Felipe, published under CC-BY-SA 4.0.

This post provides highlights for all the hard work that went into this release—and yes, these are probably the longest release notes in Guix’s history, so make yourself comfortable, relax, and enjoy.

    Bonus! Here’s a chiptune (by Trevor Lentz, under CC-BY-SA 3.0) our illustrator Luis Felipe recommends that you listen to before going further.

Improved software environment management
Message too long. View the full text

Во FreeBSD выявлена уязвимость (CVE-2022-23093) в утилите ping, входящей в базовую поставку. Проблема потенциально может привести к удалённому выполнению кода с правами root при проверке при помощи ping внешнего хоста, подконтрольного злоумышленнику. Исправление предложено в обновлениях FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 и 12.3-RELEASE-p10. Подвержены ли другие BSD-системы выявленной уязвимости пока не ясно (отчётов об уязвимости в NetBSD, DragonFlyBSD и OpenBSD пока не появилось).

Уязвимость вызвана переполнением буфера в коде разбора ICMP-сообщений, приходящих в ответ на проверочный запрос. Код отправки и приёма ICMP-сообщений в ping использует raw-сокеты и выполняется с повышеннымми привилегиями (утилита поставляется с флагом setuid root). Обработка ответа производится на стороне ping через реконструкцию IP- и ICMP-заголовков пакетов, получаемых из raw-сокета. Выделенные IP- и ICMP-заголовки копируются функцией pr_pack() в буферы, но принимая во внимание то, что в пакете после заголовка IP могут присутствовать дополнительные расширенные заголовки.

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

Message too long. View the full text

На Генеральной конференции по мерам и весам принято решение как минимум начиная с 2035 года приостановить периодическую синхронизацию эталонных мировых атомных часов с астрономическим временем Земли. Из-за неоднородности вращения Земли астрономические часы немного отстают от эталонных и для синхронизации точного времени начиная c 1972 года атомные часы раз в несколько лет приостанавливались на одну секунду, как только разница между эталонным и астрономическим временем достигала 0.9 секунд (последняя подобная корректировка была 8 лет назад). С 2035 года синхронизация будет прекращена и разница между мировым координированным временем (UTC) и астрономическим временем (UT1, среднее солнечное время) будет накапливаться.

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

В качестве альтернативы посекундной синхронизации рассматривается возможность проведения синхронизации при накоплении изменений на 1 минуту или 1 час, что потребует к
Message too long. View the full text

https://podman-desktop.io/

Show Post Actions

Actions:

Captcha:

- admin - news - rules - faq -
jschan 1.1.0