Каждый, кто прошел через курс линейной алгебры или физики в универе, помнит этот странный дуализм. Нас учили, что у векторов есть целых ДВА вида произведения. Первое, скалярное, съедает два вектора и выдает число. Геометрически — это что-то про проекции и углы. Второе, векторное, тоже съедает два вектора и… внезапно выплевывает третий вектор, перпендикулярный первым двум. Причем работает этот фокус только в 3D и 7D.Всегда казалось, что это какой-то математический «костыль». Почему так сложно? П…
Недавно я наткнулся на DIY-игровую консоль за 1.500 рублей на базе RP2040 — Waveshare GamePi13. Когда консоль приехала ко мне и я запустил примеры игр от производителя... я оторопел от 5 FPS в Pong — это ж как плохо нужно код писать!Не желая мириться с этим, я открыл схему устройства, даташит на RP2040 и принялся писать свой собственный BIOS для него. Если вам интересно узнать, как работают DIY-консоли «изнутри», можно ли запускать программы на микроконтроллерах из RAM и во всех деталях узнать …
Грядёт новая версия C#, а это значит, что мы вновь выпускаем наш ежегодный обзор нововведений. Этот год принёс нам не так много изменений, как прошлый. Возможно, некоторым они покажутся совсем незначительными, но так ли это на самом деле? Давайте же взглянем на них.Ключевое слово fieldДа, теперь действительно можно не писать поле для свойства. Кто-то скажет, что и раньше можно было написать свойство такого вида:public string Name { get; set; } Это автоматически реализуемое свойство, которое соз…
Если вы гуляли по модным районам крупных городов, то точно замечали, как стильно одетые молодые ребята достают из своих карманов не новенький айфон, а старую мыльницу — маленькую цифровую камеру, порой обклеенную всякими наклейками. Но как так вышло, что молодёжь стала снимать на устаревшие камеры, во что это обернулось, а главное — стоит ли тратить деньги на мыльницу, если у каждого есть смартфон, умеющий делать достойные кадры? Я привык снимать на нормальные камеры. Fujifilm X-T1 — основная б…
В следующем месяце выходит очередная версия нашего любимого языка программирования. Чем не повод присесть на кухне с рюмкой чая и обсудить, что не так с современными версиями C#?В студенческие годы была у меня книга небезызвестного датчанина о небезызвестном языке программирования. И хотя я испытывал неподдельные тёплые чувства к C++, книгу ту я не осилил даже наполовину (настолько унылым было чтиво). Тем не менее, это не помешало мне продолжать верить в предначертанную нам с плюсами судьбу и л…
Когда хорошая идея становится популярной - все начинают пересказывать её "как поняли". В итоге в информационном поле от изначальной идеи остаётся настолько мало, что её перестают воспринимать всерьёз. Но когда я, изучая такие идеи, возвращаюсь к контексту их появления и исследую исходные предположения, на которых они основаны, я всегда поражаюсь их изначальной простоте и эффективности. И это закономерно, ведь если изначальная идея была бы никудышной - она бы и не стала популярной.В этой…
За годы в разработке я всё чаще ловлю себя на мысли, что современные программы - словно построены из пластмассы: аккуратные, масштабируемые, но холодные. И когда я читаю старые исходники - с комментариями, с юмором, с уважением к читателю - понимаю: там был человек. Эта статья - не попытка идеализировать прошлое, а скорее разговор о том, почему код, написанный сорок лет назад, часто выглядит честнее и человечнее, чем многое из того, что мы создаём сегодня. Когда код пах железомПервый раз я увид…
Если вы достаточно давно занимаетесь разработкой ПО, то, вероятно, сталкивались с такой ситуацией: CRUD-приложение, обслуживающее небольшую группу пользователей, развёрнутое в кластере Kubernetes и вдобавок с половиной функций CNCF. В теории выглядит впечатляюще. В реальности же это машина Руба Голдберга, решающая задачи, которых у команды на самом деле нет.В качестве противоположного примера возьмём Levels.fyi. Сегодня этот сайт помогает миллионам разработчиков сравнивать зарплаты и карьерные …
В Apple Calculator утечка 32 ГБ оперативной памяти.Не используется. Не выделено. Утечка. Простое приложение-калькулятор потребляет больше памяти, чем большинство компьютеров имело десять лет назад.Двадцать лет назад это привело бы к экстренным патчам и пост-мортемам. Сегодня это просто очередной отчёт об ошибке в череде подобных.Мы довели программные катастрофы до того, что утечка 32 ГБ оперативной памяти из Calculator едва ли попадает в новости. Дело не в ИИ. Кризис качества начался за годы до…