Go-разработчики часто пишут свои собственные переменные или константы, а затем используют их в коде, который обращается к стандартной библиотеке. Поэтому наш Go-разработчик Саша Мелентьев создал линтер usestdlibvars, который определяет, можно ли повторно использовать переменные или константы из стандартной библиотеки, вместо того чтобы создавать собственные.
Open source *
Открытое программное обеспечение
Новости
Привлекаем внимание технологов (и не только «Норникеля»)! Визуализация ML-модели на «архивных» данных
Идет очередной этап работы датасаентиста… обучена ML-модель, которая снизит издержки, повысит эффективность, сделает жизнь лучше, ничего не изменит, зато звучит модно. И вот настало время презентовать результаты ее работы. Если вы, как и я, работаете в промышленности, то на запланированную встречу наряду с менеджерами наверняка пригласят технологов с производства - именно они будут пользователями вашей системы, и успешность проекта может во многом зависеть от их заинтересованности и вовлеченности в совместную работу. Раз надо их заинтересовать, сделаем!
Привет, Хабр! Меня зовут Владимиров Дмитрий, я data scientist в группе анализа данных компании Норникель. Я хочу поделиться тем, как настроить интерактивную визуализацию работы ML-модели использую связку Python+Postgres+Grafana.
ExKeyMo — кастомизируем раскладку внешней клавиатуры на Android без root
В статье Кастомизируем раскладку внешней клавиатуры на Android без root мы выяснили, что Android-приложение может предоставлять дополнительные раскладки клавиатуры, и научились собирать такое приложение. Но простому (и даже не простому) пользователю лень собирать приложение. Хочется, чтобы это происходило автоматически, и в этом нам поможет ExKeyMo.
Почему разработчику важно заниматься «PET-проектами»
Привет Хабр! Прошло более 7 лет с момента старта моего первого PET-проекта. Тогда я еще не задумывался о пользе подобных инициатив и разрабатывал исключительно в академических целях, чтобы наработать практический опыт и более продуктивно справляться с задачами в компании где я в тот момент работал.
По сей день я продолжаю запускать PET-проекты и даже самые неудачные из них, которые “идут в стол”, приносят мне огромную пользу.
В рамках данного материала я раскрою тему пользы вовлечения себя как разработчика в PET-инициативы.
«Папа, а кем ты работаешь?» Рассказываем про Kubernetes простым языком
Этот комикс – видение DevOps-команды «Онланты» Иллюстрированного детского путеводителя по Kubernetes от Cloud Native. На примере маленького приложения Фиппи разбираемся, что такое Kubernetes и в чем особенности этой технологии.
Встречайте новую главную героиню и внимательно следите за ее путешествием!
Grafana OnCall — Open Source хаб для алертов и инцидентов
Привет, хабр! С удивлением обнаружил, что здесь нет ни одного упоминания Grafana OnCall, Incident Response Tool с открытым исходным кодом от Grafana Labs. И это нужно исправлять, ведь мы бурно растем как по звездочкам на гитхабе, так и как часть Grafana Cloud, а в issues на гитхабе, в основном, встречаются техлиды из FAANG.
Если кратко, OnCall — это инструмент, который поможет организовать надежные оповещения/реагирование на инциденты в команде, соблюдать SLA и не просыпаться ночью от звонков.
Формальное описание менеджера пакетов
Однажды автор решил помочь Грэму Кристенсену в сборе средств на проект Great Slate – и подарил ему два технических поста на выбор самого Кристенсена. Затем Грэм купил у него еще один текст и попросил написать.
Что-нибудь, касающееся Nix или NixOS.
Далее – от автора.
Для меня это был тот еще вызов, ведь на тот момент я еще даже не знал, что такое Nix. Я им никогда не пользовался, до сих пор не пользуюсь и не собираюсь переходить в обозримом будущем – так как единственный компьютер, которым я сейчас пользуюсь, работает под Windows.(1) К счастью, формулировка «что-нибудь» дает некоторое поле для маневра, и я быстро сориентировался, о чем могу написать. Nix позиционируется как «полнофункциональный» менеджер пакетов. В самом деле, что же это означает? Мужайтесь, ниже речь пойдет о формализации. Я опишу некоторое множество «теоретически возможных» менеджеров пакетов, и мы обсудим, какие достоинства (и, возможно, недостатки) есть у «полнофункционального» менеджера пакетов.
Создание модулей с учётом новой структуры Joomla 4
Joomla 4 "под капотом" претерпела немало изменений относительно предыдущих версий. Её кодовую базу сообщество разработчиков регулярно подтягивают до современных реалий, вводя актуальные технологии в ядро CMS. Так, например, если раньше загрузка классов была вариациями на тему include, то в Joomla 4 появился лоадер, приведённый к PSR-4. Ядро CMS переводится на концепцию сервис-провайдеров, внедрены DI-контейнеры. Эти изменения влекут за собой изменения в структуре компонентов, модулей и плагинов.
В данной статье пойдёт речь о том, как создать модуль для Joomla 4 с новой структурой файлов и классов. Как создать новый (или апгрейдить старый) модуль так, чтобы он ещё долго прослужил на Joomla 4 и Joomla 5? Читаем далее...
Проверка JavaScript-движка Rhino, или как встретились единорог с носорогом
Имеется большое разнообразие языков программирования, но больше всего наши пользователи хотят, чтобы анализатор PVS-Studio поддержал один из самых популярных языков – Javascript. Одним из проектов, который можно использовать для написания статического анализатора JavaScript, является движок Rhino. В данной статье мы проведём анализ исходного кода Rhino при помощи PVS-Studio.
Самая большая BERT-подобная модель на русском, которая поместится на ваш компьютер
Используя вычислительную платформу Яндекса, мы обучили RuLeanALBERT — нейросеть, показывающую сравнимые с другими открытыми моделями и где-то даже близкие к state-of-the-art результаты на бенчмарках по пониманию русского языка — Russian SuperGLUE и RuCoLA. Наша модель хотя и имеет миллиарды параметров, но вполне способна вместиться в одну домашнюю GPU: вы можете использовать её в своих проектах для классификации предложений, представления текстов и других языковых задач, не требующих генерации. В статье можно прочитать о подробностях обучения, которые мы реализовали в открытом коде, а чекпоинт теперь тоже доступен всем желающим.
Примерно так выглядит процесс обучения на множестве независимых серверов
Установка универсальной прошивки OpenIPC на примере IP камеры с процессором HI3516DV100 и сенсором OV4689
Наш мир кишит камерами видеонаблюдения, и большинство из нас сами добровольно окружают себя этими устройствами. Камерами, которые имеют как случайные дыры в безопасности, так и намеренно внедренные компоненты которые отстукивают своему хозяину. Одни производители стараются по максимуму предвидеть и решить проблемы, другие же делают вид, что и проблем особо нет, если камера показывает изображение. Но если начать приглядываться, то лишь требование ActiveX и Internet Explorer для пользования камерой в XXI веке это нечто из пучин ада.
Решают проблемы производители каждый по своему. Как вариант, через облако, через своё приложение Android с приватными протоколами. Но через несколько лет после продажи облачной камеры, бесплатное облако вполне может стать платным, приложение обрастает рекламой до безобразия. А если проект производителя не зашел, то прописанные в ней сервера отключаются и ваша камера, возможно даже с отличным оборудованием внутри, становится бесполезным кирпичём, потому как способов использования больше нет.
В случае с зоопарком рутеров, ворох проблем заставил энтузиастов собраться с силами и создать открытую платформу OpenWRT на базе Linux. И ради тех, кто ждет решения для камер, сейчас кипит работа над аналогичным открытым проектом OpenIPC - универсальной встраиваемой платформы на базе Linux для IP камер. Проделан колоссальный труд, и есть уже ряд камер, на которые можно установить новую прошивку, получив базовый функционал.
Дальше рассказываю на какие камеры какими способами и зачем можно установить систему OpenIPC на примерах.
Параллелизм в алгоритмах — выявле́ние и рациональное его использование. Возможности компьютерного моделирования
С тех пор как мир возник во мгле
Ещё никто на всей земле
Не предава́лся сожаленью
О том, что о́тдал жизнь ученью.
Абу Абдалла́х Рудаки́, Бухара, около 860÷941.
Нет ничего на свете более интересного лично для
Исследователя и одновременно полезного для
Человечества, чем позна́ние окружающего Мира.
Валерий Баканов. Крым, Щёлкино/Казантип, август 2022.
Данная публикация предназначена для Исследователей, которым не жаль с пользой употребить своё время для практического количественного углу́бленного понимания свойств внутреннего (скрытого) параллелизма в алгоритмах и его, на́йденного параллелизма, рационального использования в вычислительных практиках. Рациональное использование имеющегося в алгоритмах параллелизма определяется набором приёмов, позволяющих получить наиболее приемлемый (по разумным параметрам) план (расписание) выполнения рассматриваемого алгоритма (программы) на заданном поле параллельных вычислителей. Т.к. конечная (реализуемая в процессе собственно вычислений) последовательность выполнения команд неминуемо я́вится всё же несколько иной относительно разработанного на данном этап ие плана вычислений, логично назвать результат данного анализа каркасом плана (расписания) параллельных вычислений.
Алгоритм является результатом разумной деятельности человечества и отражает в себе (в опосредованном виде, конечно) наиболее глуби́нные, фундаментальные законы развития Природы. Одно это является вполне обоснованной необходимостью исследования характеристик алгоритмов.
Ряд лет интересом пользовалось изучение параметров вычислительной трудоёмкости (фактически зависимости числа вычислительных операций от размерности обрабатываемых данных) для различных алгоритмов. Параметры параллелизма в алгоритмах – очередная сторона многогранной сущности “алгоритм”. В современной ситуации отечественным разработчикам придётся самостоятельно исследовать и решать все связанные с автоматизированной обработкой данных вопросы – время “неограниченной халявы” (когда можно было десятилетиями бездумно копировать западные разработки в области архитектуры и готовых решений аппаратной и программной частей) закончилось.
Добровольцы поддерживают критические части опенсорса. Но продолжают выгорать и срываться
За пару десятилетий важность опенсорса (FOSS) кардинально выросла. Сейчас от «любительских» библиотек зачастую зависят важные части инфраструктуры, как в классическом xkcd. И эти проекты неожиданно стали критически важными для индустрии, что брутально продемонстрировал инцидент с Log4j.
Одно дело, если пишешь для души, а другое дело, когда на тебя наваливают груз ответственности за миллионы потенциально уязвимых систем. Какой человек это вынесет?
Open Source: IT-фетиш 21 века
В последние лет 5 часто встречаются в сети красиво изложенные мысли на тему открытых исходников различных приложений. Суть в следующем: «Если код закрыт, то пользоваться приложением нельзя или нежелательно». Ведь если нельзя заглянуть под капот, нет никаких гарантий, что там не спрятан какой-нибудь червяк.
Чаще всего подобные мысли исходят от активных комментаторов в социальных сетях. Люди посерьёзнее крайне сдержанно подходят к данному вопросу, в основном мысли этой публики сводятся к «Закрытый код означает полный контроль над разработкой и эксплуатацией решений», со всеми атрибутами: это значительно усложняет создание любого вредоносного ПО, не даёт возможности угнать и модифицировать наработки (содержать даже небольшой штат кодеров – удовольствие не из дешёвых, чтобы потом дарить плоды труда кому бы то ни было).
И ведь и те, и другие говорят верно. Но дьявол кроется в деталях – об этом и поговорим.
Do It Yourself or die? Объясняем, что делать с Open Source для «импортонезависимости» на гифках из Футурамы
Религиозные противостояния GNU против Microsoft и Open Source против проприетарного ПО шли несколько десятков лет. Казалось, что тема Open Source уже раскрыта со всех сторон, каждый занял свою позицию, интерес к этому конфликту сошел на нет: Linux так и не убил Windows, а Билл Гейтс не завладел миром. 30 лет назад оптимисты предсказывали, что проприетарное ПО умрет и весь софт станет открытым — всего этого так и не произошло.
Но 2022-ой год для ИТ-отрасли России проходит под девизом «DIY or DIE», и в этой парадигме тема Open Source стала снова актуальной и дискуссионной. Мы в DataOffice Ростелекома используем ПО с открытым исходным кодом для решения задач по работе с данными с 2017 года, и с тех пор мы набили много шишек и накопили экспертизу в вопросах работы с Open Source. В этой статье мы делимся своими размышлениями, опытом и любимыми гифками из Футурамы.
Какие у нас есть клавиши в клавиатуре или как непрограммист язык разрабатывал
Несколько лет назад я решил под свои скромные производственные задачи сделать какую-то такую - не знаю какую - систему, но чтоб была похожа на таблички excel на стероидах.
На вторую неделю разработки нашего супер-пупер-проекта «базы данных для неразработчиков», ведущий разраб спрашивает меня — «ок, и как ты хочешь, в одной ячейке таблички вызывать другую? а если из другой таблицы? а как их складывать и умножать?».
Возник выбор — прикручивать JS и SQL (как это делают нормальные люди) или разрабатывать собственный синтаксис. Я недолго подумал и решил, что собственный синтаксис лучше.
Хочу рассказать про некоторые моменты, которые стали понятны в этом процессе — может, вы передумаете делать свой DSL 😅
Готовим приватные репозитории с помощью Artipie
Многочисленные санкционные ограничения могут стать преградой для использования существующих систем управления бинарными репозиториями, например, при приобретении необходимых лицензий. Таким образом, альтернатива существующим инструментам может сыграть положительную роль при организации работы с артефактами организации.
Artipie - это бесплатный менеджер бинарных репозиториев с открытым исходным кодом, поддерживающий все основные форматы пакетов и артефактов, который позволяет размещать их локально или в облачном хранилище.
Как я портирую код с помощью Hebron
В своей предыдущей статье я упомянул Hebron - утилиту для портирования кода с C на C# или на Rust.
В этой статье хотелось бы подробно расписать - как я с ней работаю.
Написанное можно воспринимать как своего рода мануал на тот случай, если кто-нибудь тоже захочет что-нибудь портануть.
Итак, портирование осуществляется в 4 шага:
Документальное роуд-муви о Линукс в России
Мы пытаемся сделать уникальный проект и рассказать историю развития Линукса в России. С начала 90ых создавался целый культурный пласт, на котором выросли и ещё будут расти новые поколения айтишников. Это первая попытка красиво и интересно рассказать о всех событиях, произошедших за 30 лет в этой области. И самое главное — это попытка рассказать о людях, которые стояли за всем этим. Нам нужна ваша помощь.
Открытый проект по тестированию файловой системы exFAT и SD карт на встраиваемых устройствах с помощью MATLAB
Для тестирования выбрана аппаратная платформа на базе чипа STM32H753VIH с частотой ядра 480 МГц. Подключение к SD карте выполнено через интерфейс SDMMC с частотой 60 МГц. В качестве драйвера работает стандартная библиотека STM32H7xx_HAL. Используется промежуточное программное обеспечение FileX из пакета Azure RTOS поддерживающее exFAT.
Вклад авторов
-
alizar 10478.6 -
Jeditobe 5045.8 -
SvyatoslavMC 2203.0 -
Andrey2008 2098.9 -
m1rko 1437.2 -
Seleditor 1248.2 -
shurup 1120.2 -
Gim6626 1019.6 -
dalerank 882.0 -
temujin 843.0