Как стать автором
Обновить

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры
Статья

Что такое PID 0

Время на прочтение17 мин
Количество просмотров496

Как говорится, «не будите во мне ботана». Иногда кто-нибудь беспечно задаст мне, казалось бы, невинный вопрос — и я убиваю следующие несколько часов (в описываемом случае — дней), чтобы полноценно сформулировать ответ. Обычно всё это заканчивается с моей стороны очередной филиппикой на mastodon или в каком-нибудь приватном чате. Но на сей раз не буду этим ограничиваться и напишу целый пост.

Вот с какого невинного вопроса всё началось:

А почему UID начинаются с 0, но PID начинаются с 1?

Если совсем коротко: в Unix PID (идентификаторы процессов) начинаются именно с 0! PID 0 просто не отображаются в пользовательском пространстве через традиционные API.  PID 0 запускает ядро, а затем практически уходит на покой, только немного участвует в работе планировщика процессов и в управлении питанием. Кроме того, на просторах Интернета доминирует заблуждение о PID 0, всё из-за одного ошибочного утверждения в Википедии, которому уже 16 лет.

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

Но, конечно же, любой желающий может просто загуглить, что такое PID 0, верно? Зачем мне вообще всё это писать?

Читать далее
Всего голосов 4: ↑3 и ↓1+3
Комментарии0

Новости

Статья

По чем синтаксический сахар в графических языках программирования?

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров361

Графические языки программирования

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

Забавно, но это наглядное подтверждение, что развитие идет по кругу или, точнее, по спирали. Первобытный человек сначала рисовал истории на стенах, потом люди придумала алфавит, потом другие умные люди придумали формулы для математических расчетов, потом другие не менее умные придумали для них счетные машины, потом для счетных машин придумали алфавит – ассемблер, потом язык FORTRAN, и, наконец, появился графический язык диаграмм. Круг замкнулся! Люди вернулись к рисованию, но на другом уровне развития, а все потому, что это удобнее и экономит время на понимание. Очевидно, что рисунок понять легче чем текст, особенно когда текста многие килобайты, как в современных библиотеках и фреймворках, в которых сам черт ногу сломит. 

Что говорят стандарты?

Обратимся к  МЭК 61131-3. Там описано два чисто графических языка программирования:

 FBD (Function Block Diagram) — графический язык программирования стандарта МЭК 61131-3. Предназначен для программирования программируемых логических контроллеров (ПЛК)

LD (Ladder diagram) — язык релейно-контактной логики.

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

Читать далее
Всего голосов 3: ↑1 и ↓2-1
Комментарии0
Статья

Построение надёжных систем из ненадёжных агентов

Время на прочтение8 мин
Количество просмотров708


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

Кроме того, можно создавать агентов, то есть софт, который самостоятельно эволюционирует и улучшает себя на базе обратной связи от пользователей.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+4
Комментарии2
Новость

Nvidia представила открытую LLM модель Nemotron-4 340B

Время на прочтение1 мин
Количество просмотров3.2K

На данный момент самая крупная, после Groq-1, открытая LLM модель размером 340B. По тестам сравнения человеком как выигрывает у GPT-4-1106 (вышла в ноябре 2023), так и проигрывает, но чаще составляет паритет.

Обучалась на 50+ естественных языках и 40+ языков программирования. Архитектура модели построена на Grouped-Query Attention (GQA) и Rotary Position Embeddings (RoPE). Но длина контекста всего 4096 токенов.

Модель представлена в виде: Nemotron-4-340B-Base, Nemotron-4-340B-Instruct и Nemotron-4-340B-Reward.

Читать далее
Всего голосов 7: ↑7 и ↓0+8
Комментарии10

Истории

Статья

«Hello Habr!» на Xerox Alto

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров1.2K

Xerox Altoкомпьютер, разработанный в исследовательском центре Xerox PARC в 1973 году. Первый в мире компьютер, использовавший метафору «рабочего стола» и графический пользовательский интерфейс. Это легенда компьютерной индустрии, оказавшая огромное влияние на все дальнейшее развитие компьютеров и ПО.

С помощью эмуляции мы погрузимся в то замечательное время, напишем и скомпилируем тестовую программу на BCPL — прадеде языка С.

Прикоснуться к истории ИТ
Всего голосов 10: ↑10 и ↓0+15
Комментарии3
Статья

Как воссоздают человека при помощи ИИ?

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров1.1K

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

Для психологии именно здесь скрывается человечность и тот сильный искусственный интеллект, AGI, симулирующий все способности человека. Но как работают когнитивные архитектуры наподобие ACT-R или SOAR, и подойдут ли они для продвижения общего интеллекта? – в нашей статье. 

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии7
Статья

С чего начать, если вы решили ремонтировать ноутбуки? Оборудование и навыки — коротко о самом важном

Время на прочтение4 мин
Количество просмотров2.7K

Продолжаю писать о ремонте ноутбуков. Сейчас стараюсь делиться полезной для начинающих информацией. Подумал, что могу поведать о своем начале ремонта лэптопов. В статье расскажу, что из оборудования может понадобиться на первых этапах и на что обращать внимание впоследствии.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+19
Комментарии8
Статья

Мега-Учебник Flask Глава 14: Ajax (издание 2024)

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров435

Это четырнадцатая часть серии мега-учебника Flask, в которой я собираюсь добавить функцию перевода на живой язык, используя службу переводов Microsoft и немного JavaScript.

Начать изучение
Всего голосов 5: ↑4 и ↓1+3
Комментарии0
Статья

Альт Сервер Виртуализации 10. В роли файлового сервера

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров674

16 июня 2024 г.

Получается, что у 10-й платформы АльтЛинукса репозитарий один на все дистрибутивы, только набор программного обеспечения разный. Т.е. можно на текущий дистрибутив спокойно установить не устанавливаемое по умолчанию ПО. Только нужно точно знать, что требуется. И документация тоже подходит. Подходящий пример: установка на сервер виртуализации не типичной для него роли файлового сервера. И документация по серверу виртуализации в этом деле не поможет. Зато отлично подойдет документация по Альт Линукс Сервер 10. На текущий момент актуальной версией является версия 10.2.

Читаем и делаем: https://docs.altlinux.org/ru-RU/alt-server/10.2/html/alt-server/protocol.html

Ниже подробно разберем настройку доступности по сети для новой папки "NET", созданной по пути "/var" как для клиентов на ОС Линукс, так и для клиентов на ОС Виндовс.

Считаем, что сервер виртуализации уже установлен. Если нет, то можно воспользоваться пошаговой инструкцией по установке: АльтЛинукс Сервер виртуализации10.1 (Proxmox)

Для клиентов Линукс необходимо установить, настроить и запустить NFS-сервер

Для клиентов Виндовс необходимо установить, настроить и запустить Samba-сервер (SMB, если кратко)

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

Читать далее
Всего голосов 5: ↑1 и ↓4-2
Комментарии3
Статья

Почему светофор важнее Шекспира? Как писать примечания в технических текстах

Время на прочтение4 мин
Количество просмотров697

У химиков есть известная байка, которую они любят рассказывать молодому поколению. Главный герой этой истории — студент, который пошагово воспроизводил методику одного химического эксперимента из учебника. Он старательно выполнил очередной шаг «добавьте азотную кислоту» и... в лаборатории прогремел взрыв! Когда впоследствии стали разбираться, в чём же дело, выяснилось, что на следующей странице учебника было написано: «... медленно, по каплям».

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

Как же лучше писать и оформлять примечания в технических текстах?

Читать далее
Всего голосов 8: ↑8 и ↓0+9
Комментарии4
Статья

PANGIT: Дневник разработчика #3

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров528

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

Читать далее
Всего голосов 2: ↑2 и ↓0+3
Комментарии0
Статья

1-битные LLM могут решить проблему энергопотребления ИИ

Время на прочтение4 мин
Количество просмотров1.9K

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

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии7
Новость

Беспилотный ИИ трактор | Коммерческие био-процессоры | Вечный резонатор | Шестой палец на руку

Время на прочтение12 мин
Количество просмотров1.4K

Беспилотный электробус в России

В Иннополисе запущен тестовый маршрут протяженностью 3 км для беспилотного электробуса Echie, оснащенного системой автономного управления российской разработки. Маршрут соединяет Университет Иннополис, Иннопарк и Технопарк им. Попова.

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

Для обеспечения безопасности в тестовом режиме присутствует оператор, который может реагировать на нештатные ситуации. Максимальная скорость движения ограничена 10 км/ч, а программа работает в режиме "пропускать всех".

Узнать больше...
Всего голосов 5: ↑5 и ↓0+8
Комментарии7

Ближайшие события

Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область
Статья

Гуманитарий с 0 знаний в программировании. 4 часть. Привет и пока, геймдев

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров2K

Маленькие дети! Ни за что на свете. Не идите в геймдев, Игры создавать! В геймдеве реклама, В геймдеве обманы, В геймдеве большие деньги, Заработают на вас!

Но что же нам делать!?

Только лишь — качественная информация и самообразование!

Сохранить нервы, время и деньги
Всего голосов 7: ↑4 и ↓3+2
Комментарии11
Статья

Пробуем Typst, альтернативу LaTeX

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров2.6K

Вы могли слышать об Typst, современной альтернативе LaTeX, написанный на Rust, или не могли, ведь на Хабре я нашёл лишь несколько статей о нём. Некоторые до меня подчёркивали, что есть некоторые недостатки у первого по сравнению с последним.

Те статьи, что уже имеются на Хабре во время написания данной статьи, были, скорее, новостными, чем полноценными обзорами. Мы же попробуем рассмотреть Typst, начиная с установки и заканчивая возможностями и компиляцией, а также разберёмся, какие проблемы могут возникнуть.

Читать далее
Всего голосов 9: ↑9 и ↓0+12
Комментарии44
Статья

Драма в Fediverse

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.4K

Привет Хабр. В свободное время я поддерживаю бесплатный сервис Авакари. Основная его функция - фильтрация сообщений из многих тысяч разных источников (RSS, Telegram, Fediverse, ...). В двух словах, вы определяете критерии поиска, Авакари "просеивает" то, что вам интересно и присылает результаты. Интеграция с Fediverse появилась недавно и содержала на своём пути нетехнологические грабли, к которым автор не привык. В этой статье я расскажу о них, возможно, мой опыт будет кому-то полезен.

Читать далее
Всего голосов 6: ↑5 и ↓1+8
Комментарии10
Статья

Тестирование лампы Generica 12Вт Е27

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.1K

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

Популярность этого бренда понятна, она обусловлена малой ценой. Всем уже известно, что Generica является суб-брендом производителя iek, довольно будет интересно сравнить распределения цен на светодиодные лампы от этих брендов.

Ну и, конечно же, детально протестировать лампочку.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии8
Статья

Взять и захостить собственную LLM — зачем это нужно [и нужно ли вообще]

Время на прочтение4 мин
Количество просмотров3.7K

ИТ-индустрия проявляет интерес к большим языковым моделям (LLM). Многие компании — в том числе стартапы и разработчики — предпочитают self-hosting открытых LLM работе с API проприетарных решений. Мы в beeline cloud решили обсудить плюсы и минусы такого подхода, в том числе с финансовой точки зрения.

Читать далее
Всего голосов 6: ↑6 и ↓0+8
Комментарии10
Статья

Как построить команду мечты: от стартапа до рекордов KPI за полгода

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.5K

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

Однако наш стартап набирал обороты: мы стремились к совершенству, бизнес-команда не отставала в желании иметь крутые продукты, открытия в местном законодательстве тоже добавляли перчинку (=кучу задач) в наш бэклог. Примерно в этот момент пришло осознание, что если проджекты не возьмется за старое, то есть не начнет писать код за еще 3-5 человек, всем можно расходиться, потому что продавать особо будет нечего.

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

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

Читать далее
Всего голосов 4: ↑1 и ↓3-2
Комментарии6
Пост

Корректно пишем главный файл телеграмм бота на Aiogram 3.x

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

async def set_commands(commands):
    await bot.set_my_commands(commands, BotCommandScopeDefault())


async def start_bot():
    await set_commands()
    await bot.send_message(amin.id, 'я запущен и готов к работе')


async def stop_bot():
    await bot.send_message(amin.id, 'бот остановлен')


async def main():
    # регистрация роутера
    dp.include_router(start_router)

    # регистрация функций
    dp.startup.register(start_bot)
    dp.shutdown.register(stop_bot)

    try:
        await bot.delete_webhook(drop_pending_updates=True)
        await dp.start_polling(bot, allowed_updates=dp.resolve_used_update_types())
    finally:
        await bot.session.close()
      

Функция, которая запускается при старте бота:

async def start_bot():
    # регистрация командного меню
    await set_commands()
    await bot.send_message(amin.id, 'я запущен и готов к работе')

Функция, которая запускается при завершении сессии:

async def stop_bot():
    await bot.send_message(amin.id, 'бот остановлен')

После функции нужно зарегистрировать:

dp.startup.register(start_bot)
dp.shutdown.register(stop_bot)

И затем корректно закрыть сессию с ботом.

Благодарю за внимание. Подписывайтесь и ставьте лайки, если инфорамция была для вас полезной.

Теги:
0
Комментарии2
1
23 ...