Обновить
3
0
Michael Elin@vanelm

Consulting Network Engineer

Отправить сообщение

Gemma 3: Google DeepMind делает ИИ по-настоящему доступным

Время на прочтение2 мин
Охват и читатели13K

Google DeepMind выкатила Gemma 3 – новое семейство открытых ИИ-моделей. И, судя по заявлениям, главный акцент сделан на доступность и производительность в реальных условиях.

Читать далее

Пишем свой загрузчик операционной системы Linux

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели16K


Меня давно интересовал вопрос, насколько сложно написать собственный загрузчик операционной системы. Я не говорю о простой программе, выводящей «Hello, World!», а о полноценном загрузчике, который передаёт управление от встроенного программного обеспечения компьютера ядру операционной системы. Современные загрузчики представляют собой сложные программы, способные загружать множество операционных систем различными способами, учитывая массу нюансов, связанных с программным и аппаратным обеспечением. Читая их исходный код, легко утонуть в деталях и потерять понимание сути и реализации.


Я решил начать изучение с максимально простого подхода, постепенно усложняя задачи, экспериментируя и получая новые знания. Если мне удалось вас заинтересовать, добро пожаловать под кат.

Читать дальше →

Nix: насколько хороша альтернатива Dockerfile?

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.9K

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

Для многих это стандарт, отклонения от которого вызывают недоумение и вопросы. Но даже у всего хорошего есть альтернативы. Одна из них — Nix. Насколько она сопоставима по удобству и скорости с Docker?

Меня зовут Борис Табачников, я разработчик отдела RnD в СберТехе. Кратко расскажу, что такое Nix в целом, зачем вам его использовать и подробно сравню скорость работы Nix и Docker.

Статья будет полезна DevOps‑инженерам и разработчикам, интересующимся контейнеризацией. И особенно — тем, кто ищет альтернативы для Docker и кого заинтересовал Nix, но при этом сферы его использования и применимость для сборки образов недостаточно понятна.

Читать далее

Четыре кружки пива в день – минус 10 лет для мозга

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели41K

Дисклеймер: идея о «безопасных дозах алкоголя» смешна, но еще смешнее и ужаснее выглядит пропаганда «ждановщины», которая лишена конструктива в своей основе. Наиболее адекватное объяснение общего вреда алкоголя изложено в этой лекции профессора нейробиологии Стэнфордского университета доктора Эндрю Губермана. В частности, если 1-2 бокала вина или 2-4 кружки пива в день, или еженедельный загул по пятницам стали для человека нормой – он априори вредит своему мозгу и организму в целом. Новое исследование показывает наглядные изменения в мозге при ежедневном «умеренном потреблении».

Читать далее

Разработка антенны на ПП от чайника

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.9K

В этой статье будет рассказано о моих результатах проектирования антенны на печатной плате (ПП) в виде анализа и практических советов. Поскольку я далек от данной области и не являюсь специалистом или полуспециалистом в антеннах, то и статья написана для обычных «рабочих лошадок» широкого профиля и не содержит утверждений, за которые я бы «дал зуб».

Наверное, самое темное и спекулятивное место на ПП — антенна, поскольку она выходит из удобных границ квазистационарного поля, позволяющего сводить элементы топологии к длинным линиям, индуктивностям и емкостям, и функционирует на уровне первозданного электромагнитного поля со всеми вытекающими сложностями. Задача, которая была поставлена перед мной, банальна и типична: для удешевления производства необходимо заменить покупную керамическую антенну, работающую в 3 диапазонах (703–960 Мгц, 1710–2200 Мгц, 2500–2690 МГц, стандартные диапазоны для сотовой связи) на антенну на ПП. Место под антенну на ПП подрасширили по сравнению с керамикой, и дело осталось за малым — спроектировать антенну.

Мой опыт по рисованию антенн на ПП был типовым, как и задачи: BLE, WIFI и субгигагерцовые транссиверы, берем мануал от уважаемой «конторы», я брал каталог антенн от TI, копируем и подрезаем/удлиняем, чтобы резонанс s11 был на желанной частоте. Но постепенно у меня накопились подозрения, что не все так просто. Поскольку приходилось перебирать разные антенны — и на ПП, где есть место, и различные керамики, где места нет, то у меня накопился некий опыт, который не всегда сходился с простой догмой: лучше s11 — лучше антенна. Результатом этого наблюдения стало расширение процедуры настройки антенн:

Читать далее

Зачем на печатных платах используют медные заливки?

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели19K
В начале 1980-х типичная печатная плата 8-битного домашнего компьютера выглядела примерно так:


Фрагмент основной платы Amstrad CPC 464.

К началу 2010-х та же технология имела следующий вид компоновки:


Снимок Arduino Uno R3 из рекламных материалов.

Кроме повышенной миниатюризации самым поразительным изменением стало использование медных заливок (copper pour), то есть сгенерированных компьютером зон, занимающих пустое пространство между дорожками печатной платы.

Почему мы начали их создавать?
Читать дальше →

Как конфигурировать Git

Время на прочтение13 мин
Охват и читатели8.8K

Какие настройки git config сейчас следует устанавливать по умолчанию? Ниже рассмотрены избранные настройки, менять которые не стесняются даже разработчики самого Git.

Несколько недель назад я написал о настройке Git help.autocorrect и поведал странную историю о том, как её значение стали задавать в децисекундах.  

Эта статья заставила меня поразмыслить и о других настройках git config, вероятно, не известных широкому кругу пользователей. Возможно, для этих настроек стоит задать по умолчанию иные значения, чем действуют сейчас.

В этом посте я разберу некоторые (пожалуй, малопонятные) настройки Git, которые сам активировал во всех моих проектах. Я подробно расскажу о них, поясню, как они действуют, и почему их, пожалуй, стоит выставить по умолчанию.

Также оказалось, что большинство из изложенных здесь знаний я почерпнул из общения с людьми, чей повседневный труд заключается в поддержке ядерной базы кода Git.

Читать далее

Git для новичков (часть 1)

Время на прочтение5 мин
Охват и читатели890K

Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Читать далее

Как в домашних условиях собрать телевизор из Симпсонов на базе Raspberry Pi

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели13K

Помните тот небольшой телевизор из заставки "Симпсонов"? Такой же можно собрать самостоятельно, как это сделал один фанат мультсериала. Внутри прибора установлен одноплатный компьютер Raspberry Pi, который случайным образом воспроизводит эпизоды мультсериала, имитируя работу настоящего телевизора из 90-х. Не понадобится ни эфир, ни доступ в интернет: все серии хранятся в памяти устройства. Просто включаете и смотрите. Все, что для это понадобится, – около 14 часов вашего времени и кое-какие компоненты.

Читать далее

Оптимизация JOIN в PostgreSQL

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели11K

Хотите ускорить работу сложных SQL-запросов в PostgreSQL? 🚀В этой статье мы разберем, как правильно использовать JOIN, какие методы соединения выбирает PostgreSQL и как их оптимизировать. Узнайте, как индексы, статистика и параметры конфигурации влияют на производительность! 🔥

Читать далее

Windows 11 — по-прежнему ничего стоящего

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели24K

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

Но не всё так страшно. Недавно я прочёл на The Register статью, в которой показано, что аудитория Windows 11 не просто не растёт, а сокращается. Как же прекрасно. Просто песня. Люблю читать бахвальные маркетинговые заявления высокопоставленных представителей компаний, особенно на фоне суровой проверки реальностью. Но в этом есть смысл.

Windows 11 бесполезна — файловый менеджер тормозной, раздел настройки не дотягивает до панели управления, а аппаратные требования зачастую препятствуют возможности апгрейда. Что тут сказать… Карма и всё такое…

Приступим?
Читать дальше →

Hi-Fi с Wi-Fi или как я делал беспроводную мини акустику с качественным звуком

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели22K

Привет, Хабр!

У меня уже давно назревала мысль о сборке портативной беспроводной акустики для воспроизведения аудио потока со своих домашних устройств. Решения с применением технологии Bluetooth меня не устраивали, хотелось слышать качественный звук. И вот, одним январским вечером, собрав свою волю в кучу, я решил реализовать задуманное. А что из этого вышло - читайте далее.

Читать далее

Tuna — от аналога ngrok, к собственной платформе

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели3.7K

В первой статье блога я хочу рассказать о нашей платформе для разработчиков - Tuna. Как мы начали делать свой сервис для реверс-прокси туннелей а-ля ngrok, затем добавили менеджер паролей и теперь не можем остановиться.

Читать далее

Самый полный стартовый гайд по ботам Telegram (python)

Время на прочтение5 мин
Охват и читатели457K

QQ Хабр! В этом гайде мы пройдемся по каждому шагу создания ботов в Telegram - от регистрации бота до публикации репозитория на GitHub. Некоторым может показаться, что все разжевано и слишком много элементарной информации, но этот гайд создан для новичков, хотя будет интересен и для тех, кто уже занимался разработкой в Telegram. Сегодня мы будем делать бота, который отвечает на заданные вопросы.

Читать далее

Устраняем эффект шумного соседа в PostgreSQL с помощью cgroups

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

Если вы когда-нибудь запускали несколько экземпляров PostgreSQL или другого ПО на одной машине (виртуальной или физической), то наверняка сталкивались с эффектом шумного соседа, когда инстансы мешали друг другу работать. Так как же примирить соседей? У нас есть ответ!

Читать далее

Мой первый контейнер без Docker

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели27K

Технологии контейнеризации, возможно, как и у большинства из нас, плотно засели в моей голове. И казалось бы, просто пиши Dockerfile и не выпендривайся. Но всегда же хочется узнавать что‑то новое и углубляться в уже освоенные темы. По этой причине я решил разобраться в реализации контейнеров в ОС на базе ядра linux и в последствие создать свой «контейнер» через cmd.

Читать далее

Промпты для ChatGPT, которые могут повысить качество ответов ChatGPT

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели62K

Давайте будем честными.

Простые промпты наподобие "Напиши статью из 1500 слов под заголовком: Топ-10 продуктов, которые разрушают вашу печень» не дадут вам и 1% тех результатов, которые способен дать Chat GPT.

Читать далее

Новый DI фреймворк для DART и Flutter — sputnik_di

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.7K

Новый DI-фреймворк для Flutter-проектов без бойлерплейта и головной боли. Два пакета: sputnik_di для dart и flutter_sputnik_di для flutter. Это перевернет разработку на dart.

Читать далее

Избавляемся от головной боли: новый интерфейс для VPN-подключения

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

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

Сейчас же решили остановиться на том, что из разряда наших внутренних «костылей» перешло в удобный продакшн.  Речь пойдет про защищенное удаленное подключение из трех букв (начинается на «В»), которое строится на базе отечественных NGFW с использованием немного устаревших L2TP, IKEv1, общего ключа и обязательного второго фактора аутентификации в виде OPT.

Читать далее

Чистый код в Python

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

Всем привет!

Это перевод статьи Clean Code in Python. В данной статье Nik Tomazic рассказывает о чистом коде, его преимуществах, различных стандартах и принципах, но что самое главное– он дает общие рекомендации по написанию чистого кода. Прочитав данную статью в оригинале, я понял, что это именно то, что я хотел бы прочитать в самом начале своего пути разработки на Python. Именно это и вдохновило меня на создание первого перевода, а вместе с этим, и первой публикации на Хабре.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Praha, Hlavni Mesto Praha, Чехия
Зарегистрирован
Активность