Обновить

Все потоки

Сначала показывать
Период
Уровень сложности

Почему переработка пластика — большой скам

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

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

Читать далее

Эта статья опоздала лет на двадцать: музыкальный центр с CD-караоке, радио и блютусом на ESP32 своими руками

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

Пожалуй, самый любимый мой аудиоформат — это CD Audio. Он либо читается идеально, либо не читается совсем — в отличие от кассет и катушек, кинематику проигрывателей которых нужно то и дело обслуживать. При этом компакт-диск обладает такой же тактильностью, как и винил, но существенно меньшими размерами — внушительная коллекция займёт от силы пару небольших книжных шкафов. Ретрофутуризма, как в минидиске, в нём нет, но за отсутствие артефактов ATRAC'а это мы ему простим :-)

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

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

Поэтому — погнали! Делаем свой CD-player с караоке и CD TEXT'ом!

Push «PLAY»

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

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

Каждый, кто прошел через курс линейной алгебры или физики в универе, помнит этот странный дуализм. Нас учили, что у векторов есть целых ДВА вида произведения. Первое, скалярное, съедает два вектора и выдает число. Геометрически — это что-то про проекции и углы. Второе, векторное, тоже съедает два вектора и… внезапно выплевывает третий вектор, перпендикулярный первым двум. Причем работает этот фокус только в 3D и 7D.

Всегда казалось, что это какой-то математический «костыль».

Почему так сложно? Почему два разных продукта для разных задач? Почему один зависит от косинуса, а другой от синуса?

Что, если я скажу вам, что это действительно «костыли»? Что существует единое, универсальное и элегантное геометрическое произведение, которое включает в себя оба этих случая (и многое другое), и которое основано на одной-единственной, кристально ясной идее. Идее, которая меняет взгляд на саму суть математики.

Эта статья — приглашение в мир Геометрической Алгебры. Мы собираемся переизобрести умножение.

Читать далее

Великий крах качества программного обеспечения: как мы нормализовали катастрофу

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

Мы переживаем величайший кризис качества программного обеспечения в истории вычислительной техники. Калькулятор теряет 32 ГБ оперативной памяти. ИИ-помощники удаляют рабочие базы данных. Компании тратят 364 миллиарда долларов, чтобы избежать решения фундаментальных проблем.

Читать далее

Я уехал из России в испанскую глушь, купил дом среди гор и не жалею

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

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

Читать далее

Хьюстон, у нас проблема, или Чего не договаривают производители HDD

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

Однажды к нам обратился клиент с проблемой: имеется 2 HDD с производительностью записи 250 MБ/с. Из них делается хранилище RAID 0. Начинаем записывать трафик, скорость — 350 MБ/с. Он успешно пишется, но через некоторое время утилизация дисков подходит к 100% и начинаются потери при записи. Вывод клиента: проблема в PT NAD, так как диски должны все успевать. Думаю, многие уже догадываются, в чем соль. У нас тоже имелись догадки, но тем не менее мы решили их проверить. Из этой проблемы и родилось небольшое исследование по записи трафика в хранилище. Под катом — наше расследование «заговора» разработчиков HDD.

Читать

Готовьтесь, всё подорожает ещё раз

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

Есть объективные факторы роста цен в ИТ — инфляция, кредитные ставки (их никто не снизил вслед за ставкой рефинансирования!), повышение страховых взносов для сотрудников и НДС. Как минимум это всё вместе уже обеспечит подорожание ИТ-услуг и инфраструктуры.

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

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

И у меня есть ощущение, что начало процесса мы уже наблюдаем по отмене части льгот для ИТ-компаний.

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

Прошёл год, и пора снова посмотреть, что нас ждёт.

Спойлер: вы, кажется, уже привыкли к плохим новостям, но жесть от этого никуда не делась.

Читать далее

Техподдержка Avito. Или когда деньги важнее компетентного персонала

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

Скажу сразу — написать данный пост меня вынудила моя полная, тотальная, абсолютная беспомощность в попытке достучаться до техподдержки сервиса Авито и КАК‑ТО убедить их, что работа сервисмена в суппорте не ограничивается выбором шаблона, а закрывать тикет надо его РЕШЕНИЕМ, а не коронной фразой «Мне очень жаль, я понимаю, что ответ вас не устраивает».

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

Читать далее

Все о блокировках VPN за последние две недели

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

Всем привет!

Это команда Amnezia, и мы тут, чтобы ответить на самые часто задаваемые вопросы в связи с участившимися блокировками.

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

Если интересно только то, что сейчас работает - перейдите в конец статьи.

Читать далее

Что будет, если не использовать TCP или UDP?

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

Однажды мне стало интересно: а что будет, если отправить пакет с несуществующим транспортным протоколом? Не TCP, не UDP, не ICMP — вообще что-то выдуманное. Пропустит ли его ОС? Дойдет ли он хотя бы до сетевого интерфейса? Не зарежет ли его какой-нибудь промежуточный маршрутизатор? А вдруг он еще и быстрее обычного дойдет, потому что никто не знает, что с ним делать?

Ответа у меня не было. Так что я решил проверить.

Эксперимент и его результаты

Сотворение мира за 20 минут на JavaScript, или минималистичная модель эволюции

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

Впервые про моделирование эволюции я прочитал в 13 лет в статье «Жить и умереть в компьютере» (Техника — Молодежи, №5 1993 год). Она произвела на меня столь неизгладимое впечатление, что я тут же загорелся идеей создать что-то подобное.

Однако никак не удавалось проработать законы мира. Как организмы будут «смотреть» на окружающий мир? Как общаться? Как атаковать? Как кушать друг друга? Наконец, как будет устроен их «мозг»? Реализовать виртуальную машину, как в статье из журнала, или использовать что-нибудь проще, типа конечного автомата или схемы из блоков И-НЕ?

Короче, муки творчества да и, что уж там греха таить, ограниченные технические навыки, не позволили довести идею до ума. Я вернулся к ней уже в зрелом возрасте, лишенный юношеского максимализма и перфекционизма. Решил: раз сделать навороченную модель не получается, стоит начать с чего-то более простого. А лень и остатки перфекционизма в организме прошептали: с чего-то максимально простого.

Запустить эволюцию

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции

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

Нет, это не шутка и не кликбейт. Такое действительно возможно — правда через небольшой хак.

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

Читать далее

Весь китайский автопром от A(vatr) до Z(eekr)

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

Какие автомобильные компании Китая самые сильные и крупные? Какие марки самые популярные? Кто кого производит? Кто кем владеет? Кто с кем конкурирует? Раскладываем по полочкам, как устроена автомобильная индустрия Китая. После этой статьи у вас сложится цельная и понятная картинка.

Читать далее

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

Яндекс.Разврат или анти-этичный ИИ

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

tl;dr: как обойти внутреннюю цензуру «Шедеврума» и получить то, что хочешь. Описание реализованных состязательных атак с примерами реализации. Без глубокого раскрытия механизма почему так получается.

Читать далее

Вскрываем поддельный S23 Ultra с озона

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров117K
Что же может скрывать в себе аппарат похожий на Samsung, купленный на маркетплейсе всего за 5 тысяч рублей? Старый медиатек, кучу несуществующего железа и кривой софт, но обо всём по порядку.

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

SOSAL: От теории к практике

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

Эта статья описывает использование улучшенного социального подхода к программированию SOSAL в реальных проектах и ситуациях, а также содержит рекомендации для более эффективного применения этих принципов. Скорее под кат!

Читать далее

Меня заставили повайбкодить

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

Я давно пользуюсь кодогенерацией. Ещё во времена Yii фреймворка мне нравилось, что одним кликом мышки можно было сгенерировать CRUD с бэкендом, таблицами и формами. Backbone.js сразу из коробки обеспечивал REST API запросы и другие фичи. Между тем временем и нынешним днём — целый пласт инструментов для автоматизации, бутстрапинга и шаблонизации разработки. Приходилось и хрюкать, и глотать. То, что всё это, мягко говоря, так себе — уже отдельная история. Местами стало даже хуже. Хуже, чем когда вы неделю возились с конфигом Webpack.

В этой статье мы рассмотрим вайбкодинг. В чистом виде так сказать.

Читать далее

Perforator: новая система непрерывного профилирования теперь в опенсорсе

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

Привет! Сегодня мы выложили в опенсорс Perforator — систему непрерывного профилирования (continuous profiling), которую используем внутри Яндекса для анализа производительности большинства сервисов.

В Github-репозитории доступен исходный код системы и инфраструктура для развёртывания своей инсталляции Perforator на кластере Kubernetes. Кроме того, Perforator можно использовать на своём компьютере как более простую замену perf record: профили получаются точнее, а оверхед меньше. Исходный код доступен под лицензией MIT (и GPL для eBPF-программ) и запускается под x86-64 Linux.

При помощи Perforator и прошлых подходов к задаче профилирования мы регулярно оптимизируем самые крупные сервисы в Яндексе, например Баннерную крутилку или Поиск, на десятки процентов. Кроме того, Perforator реализует недостающий в опенсорсе компонент профилирования для простой автоматической оптимизации программ с использованием profile-guided optimization. Наши тесты показывают, что использование PGO даёт ускорение около 10% в разных сценариях.

Под катом поговорим про профилирование под Linux, опишем вызовы и сложности, возникающие при профилировании, изучим, как устроен Perforator внутри, и обсудим, как можно использовать полученную систему.

Читать далее

Русская «Ардуина»: первый взгляд любителя

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

Я — самодельщик-ардуинщик со стажем. Люблю пихать ардуины во всякие подходящие и не очень места. Как-то раз я уже показывал свою коллекцию Arduino-совместимых плат, и с тех пор она только росла и ширилась. Теперь в ней случилось особенное пополнение: русская (пока не) народная «Ардуина» ELBEAR от сибирской компании «Элрон» на базе отечественного микроконтроллера MIK32 «Амур», о существовании которой я узнал несколько дней назад из статьи на Хабре.

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

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

Контрибьютор C++ забанен за использование слова «question» в названии своей статьи

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

C++ ISO Standards Group, организация, отвечающая за стандартизацию языка C++, так же известная как WG21, исключила из своих рядов longtime-контрибьютора после того, как тот использовал простое слово "question" (рус. - "вопрос") в названии одной из своих работ.

И да, это безумно ровно настолько же, насколько звучит.

Читать далее