Pull to refresh
1
0
Send message

Разработка ядра – API для прошивки

Level of difficultyMedium
Reading time9 min
Views2.3K

Что касается абсолютного большинства устройств, поддерживаемых в ядре Linux, от вас не требуется почти никакого вмешательства, чтобы пустить их в работу. Пожалуй, устройство потребуется включить (например, при помощи регулятора), отменить команду сброса или обратиться к нескольким конфигурационным регистрам. Но среди устройств есть и достаточно сложные; чтобы в полной мере использовать имеющиеся в них функции или добавлять собственные, для таких устройств требуется специализированная прошивка. Некоторые подобные устройства изначально рассчитаны на подключение заранее запрограммированной персистентной памяти, но в других предусматривается механизм, получающий им подтягивать прошивку из какого-либо приложения. Есть даже такие устройства, в которых одновременно предоставляются обе эти возможности.

Читать далее
Total votes 17: ↑16 and ↓1+22
Comments2

Расширенное пространство (часть первая)

Level of difficultyMedium
Reading time10 min
Views7.7K

Кванты пространства

Наше пространство определяется гравитационными полями. Если говорить  упрощенно,  материальные объекты и/или огромные энергии образуют  гравитационные поля, ту арену  на которой живут  Галактики, звезды, планеты и где начинают работать физические Законы нашего Мира.  И галактики и законы наблюдаются в макроскопических размерах, а для их описания мы используем  привычные  архимедовые метрики. На гравитационных полях  «живут» оставшиеся поля:  электромагнитными, слабые и сильные, со всей своей архитектурой. По сути дела «наш»  мир это гравитационное поле, а вся остальная материя и остальные взаимодействия это колебаний разных частей этого поля.

 В микромире, на “планковских” масштабах пространство начинает проявлять свою  квантовую сущность. Идея квантов пространства наиболее полно описывается теорией петлевой квантовой гравитации (ПКГ) успешно развиваемой К. Ровелли и К0[1]. Проводя аналогию между электромагнитным и гравитационным полем, он пишет «..ключевое различие между фотонами (квантами электромагнитного поля) и …квантами гравитации состоит в том, что фотоны существуют в пространстве, тогда как кванты гравитации представляют собой само пространство. Фотоны характеризуются местом, «где они находятся». Кванты пространства не имеют места, где они могут находиться, поскольку они сами являются местом ».

Сам Ровелли с осторожностью относится к кванту пространства,  например, в качестве кванта им приводится fuzzy-обьект без всякой деталировки (левая, нижняя часть рисунка 1). Вместо этого вводится  аналог силовых линий в виде спиновых сетей с узлами на квантах и определяя  квантовые операторы в гильбертовом пространстве от  площадей и объемов через переменные  Ашкетара [2], строится геометрия дискретного квантового пространства и его гравитационные искривления*.

Читать далее
Total votes 11: ↑8 and ↓3+11
Comments7

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

Reading time4 min
Views10K

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

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments23

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

Reading time4 min
Views9.4K

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

Читать далее
Total votes 6: ↑6 and ↓0+8
Comments16

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

Reading time8 min
Views2.1K


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

Кроме того, можно создавать агентов, то есть софт, который самостоятельно эволюционирует и улучшает себя на базе обратной связи от пользователей.
Читать дальше →
Total votes 6: ↑5 and ↓1+6
Comments4

Виды логирования в Swift

Level of difficultyEasy
Reading time7 min
Views1.5K

Привет! Меня зовут Владислав Даниелян, я iOS-разработчик в AGIMA. Предлагаю немного поговорить о принтах. Это одна из первых и наиболее используемых функций, с которой начинаются первые шаги в разработке у любого новичка:

Цель статьи — сэкономить время начинающих разработчиков, уберечь их от бесконечного потока непонятных сообщений в консоли и от нервов, потраченных на поиск «той самой» строки, которая всё объясняет. Мы разберем виды принтов и напишем свой небольшой логгер, который можно внедрить сразу, параллельно чтению.

Читать далее
Total votes 14: ↑14 and ↓0+16
Comments4

Как ветвятся дорожки. Об ориентировании и обучении беспилотных автомобилей

Reading time11 min
Views1K

Некоторое время назад мне очень понравилась шутка «Беспилотный автомобиль отказался везти пассажира в фастфуд, сославшись на первый закон робототехники». Речь об одном из «законов робототехники», которые сформулировал в 1942 году американский фантаст Айзек Азимов, он формулируется так: «Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинён вред». Притом, что законы робототехники – это строго литературный, но не технологический феномен, мне захотелось разобрать на Хабре, как в настоящее время беспилотные автомобили подстраиваются под человеческие поступки, сосуществуют с потоками пешеходов, могут ли учиться без подкрепления и проявлять эвристику, а также какие разработки ведутся в этой области.

Читать далее
Total votes 6: ↑6 and ↓0+13
Comments9

Автопереобучение моделей в Production

Level of difficultyMedium
Reading time5 min
Views1.9K

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

В этой статье мы рассмотрим процесс автоматического переобучения моделей ML в продакшене, используя инструменты MLOps. Обсудим интеграцию таких инструментов, как AirFlow и Spark, с CI/CD пайплайнами, а также создание конфигурационного модуля, позволяющего разработчикам сосредоточиться на моделях, не углубляясь в инфраструктурные детали.

Читать далее
Total votes 11: ↑11 and ↓0+12
Comments0

Магистратура в 35. Шлюз интернета-вещей

Level of difficultyMedium
Reading time13 min
Views2.6K

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

Читать далее
Total votes 10: ↑10 and ↓0+13
Comments8

Macroni: рецепт поступательного улучшения языка программирования

Level of difficultyHard
Reading time12 min
Views3.9K


Хотя, Clang и используется в качестве инструмента для рефакторинга и статического анализа, у него есть серьёзный недостаток: в абстрактном синтаксическом дереве не предоставляется информации о происхождении конкретных расширений-макросов на CPP, за счёт которых может надстраиваться конкретный узел AST. Кроме того, Clang не понижает расширения-макросы на уровень LLVM, то есть, до кода в формате промежуточного представления (IR). Из-за этого оказывается запредельно сложно конструировать такие схемы статического анализа, при которых учитывались бы макросы. Сейчас эта тема активно исследуется. Но ситуация налаживается, поскольку прошлым летом был создан инструмент Macroni, упрощающий статический анализ именно такого рода.

В Macroni разработчики могут определять синтаксис новых языковых конструкций на C с применением макросов, а также предоставлять семантику для этих конструкций при помощи MLIR (многоуровневого промежуточного представления). В Macroni используется инструмент VAST, понижающий код C до MLIR. В свою очередь, инструмент PASTA позволяет выяснить, откуда те или иные макросы попали в AST, и на основании этой информации макросы также удаётся понизить до MLIR. После этого разработчики могут определять собственные MLIR-конвертеры для преобразования вывода Macroni в предметно-ориентированные диалекты MLIR, чтобы анализировать предмет с учётом многочисленных нюансов. В этой статье будет на нескольких примерах показано, как Macroni позволяет дополнять C более безопасными языковыми конструкциями и организовать анализ безопасности C.
Читать дальше →
Total votes 15: ↑15 and ↓0+26
Comments1

Метрики оценки качества моделей и анализ ошибок в машинном обучении. Подробное руководство

Level of difficultyMedium
Reading time32 min
Views4.4K

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

В данном туториале будут рассмотрены популярные метрики для задач классификации, регрессии и кластеризации, а также инструмент для анализа ошибки модели, известный как bias-variance decomposition. Помимо этого, для большей части метрик будут представлены ручные расчёты и реализация с нуля на Python, а в конце вы сможете найти дополнительные источники для более глубокого ознакомления.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments5

Делаю игрулю на Playdate на чистом C. Глава 4

Level of difficultyMedium
Reading time13 min
Views3.2K

Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои идеи в код. В этих заметках ты узнаешь из первых уст как создаётся игруля с нуля от идеи до публикации.

Если ты не читал предыдущие главы, то лучше начать с них.

Глава 1 - создание аналога объекта динамического массива для будущих нужд на чистом С;

Глава 2 - программирование внедорожника и объектов пустыни, инициализация и очистка ресурсов игры;

Глава 3 - описание процессинга тика, в частности, обработка пользовательского ввода, а также обновление модели данных.

====================

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

Итак, большинство людей в мире визуалы. Это значит, что им привычнее всего воспринимать информацию глазами. В прошлых главах я создал целый мир, но какой в этом смысл если это невозможно увидеть? Нет, конечно можно в баре рассказывать про то, какой невероятный код я написал, но собеседник не сможет его увидеть так как у него нет Playdate (ты же помнишь, что я живу в Казахстане? У нас на всю страну три человека имеют Playdate), ну и потому что собеседник бухой в щи, пьяный в зюзю, надрался, под мухой, на рогах, зелёный как снег.

В общем, в чему это я... Наша заветная функция GameDraw... Она рисует игру (внезапно). Напомню, у нас есть машинка (внедорожник или "джип"), перекати-поле, кактусы, насыпи песка и на этом всё.

Читать далее
Total votes 12: ↑12 and ↓0+15
Comments2

Управление напряжением PWM сигналом (PWM+RC=DAC)

Level of difficultyEasy
Reading time7 min
Views7.2K

В очередной тестировочной электронной плате появилась нужда выставлять напряжения на клеммах.

Существует очень остроумный способ собрать DAC используя PWM сигнал и аналоговый RC фильтр. На выходе будет желаемое напряжение. Причем, уровнем этого напряжения можно управлять цифровым образом из программы в микроконтроллере.

В этом тексте я написал как мне это удалось.

Читать далее
Total votes 14: ↑12 and ↓2+17
Comments157

Поясняю за React Сompiler

Reading time6 min
Views7.2K

В 2024 году команда React готовит множество нововведений, приуроченных к выходу React 19.

Одним из таких нововведений является React Сompiler — новый JavaScript-компилятор для оптимизации вычислений. Главной целью разработчиков была оптимизация и автоматизация мемоизации в React-приложениях. Если раньше фронтендерам приходилось использовать такие хуки, как useCallback и useMemo, то вскоре React сам возьмёт на себя ответственность за мемоизацию, чтобы избежать повторных вычислений при каждом рендеринге.

Не будем затягивать со вступлением и сразу перейдём к пересказу.

Читать далее
Total votes 15: ↑11 and ↓4+8
Comments42

Хранение данных на ДНК/РНК: возможности и перспективы

Level of difficultyMedium
Reading time14 min
Views3.1K

Приветствую всех айтишников и технарей. Выпустив очередную часть саги про ЯМР, я словил катарсис и почувствовал за собой моральное право опять пографоманить на отвлеченные темы. И сегодня мы с двух ног ворвемся в тему хранения данных на ДНК/РНК. Тема интересная, и намного ближе к айтишечке, чем все предыдущие опусы, поэтому погнали!

Добро пожаловать под кат
Total votes 11: ↑10 and ↓1+14
Comments21

TransformerFam от Google и другие попытки улучить память LLM

Level of difficultyMedium
Reading time4 min
Views1.3K

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

Читать далее
Total votes 2: ↑2 and ↓0+5
Comments1

Предпочитайте Rust вместо C/C++ для нового кода

Reading time8 min
Views21K

2019-02-07


  • Когда использовать Rust
  • Когда не использовать Rust
  • Когда использовать C/C++
  • Ложные причины использования C/C++
  • Приложение: моя история с C/C++
  • Приложение: хор
Читать дальше →
Total votes 59: ↑23 and ↓36-5
Comments254

Rust в деталях, часть 2

Reading time27 min
Views15K

Часть 2: Отправка и получение сообщений


В этой серии статей мы рассматриваем процесс создания масштабируемого сервера для чата в реальном времени, во всех деталях. Цель статьи — показать пример практического применения языка Rust на фоне изучения концепций системного программирования и системных API, шаг за шагом.

Вторая часть является прямым продолжением первой, поэтому если вы ее пропустили (или забыли контекст), то рекомендую сначала ознакомиться с ней. В этой части мы продолжаем реализацию протокола WebSocket.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments12

Альтернативные технологии производства печатных плат

Level of difficultyEasy
Reading time8 min
Views11K
Картинка WangXiNa, Freepik

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

Читать дальше →
Total votes 42: ↑41 and ↓1+60
Comments53
1
23 ...

Information

Rating
Does not participate
Registered
Activity