Обновить

Разработка

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

Пожалуйста, почините найм

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

Я в IT довольно давно, как в том меме — мне этот мир абсолютно понятен. Но сейчас происходит какая‑то ерунда, учитывая разные обстоятельства в мире, считаю так делать крайне тупо. Не то, что бы я хотел пожаловаться, и увольнения, «оптимизации», «трансформации» были всегда. Это все бизнес и к нему нечего предъявить. Разные ситуевины бывают. Но я бы хотел как‑то вставить свое мнение по теме.

Годами, если вы хотите попасть в какую‑то крутую компанию, вам нужно было и до сих пор это «нормальная» практика устраивать десятки этапов собеседований. Без проблем я принимаю эту игру. Нам же важно найти того самого рок звезду, который будет решать поставленные перед ним задачи. Типо как в магазине выбираем принтер, правда сдать его обратно через 3 месяца нельзя. Листик с него вышел — значит все, поиспользовал, живи с ним дальше.

Читать далее

Self-hosted связь со своей семьей

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

Я сделал видеосвязь для семьи: один бинарник, домен, 200 рублей в месяц — и всё работает

Когда российское правительство начало блокировать звонки один за другим, я понял, что нужно что-то делать. Семья должна оставаться на связи — это не обсуждается. Но все популярные решения либо заблокированы, либо требуют VPN, либо сложны для установки, а также не дают полного контроля над данными.

Казалось бы, простая задача. Но оказалось, что даже в 2025 году создать полностью автономное решение для видеозвонков — это целое приключение.

Читать далее

Подрядчик обманул нас на заводе, но ИИ разоблачил его, а потом сэкономил ещё 170 млн ₽

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

Представьте: на заводе в Тобольске сломалась установка иностранного производителя. Нужен их эксперт. Он находится в Китае или в лучшем случае в Москве. Пока оформят визит, пока доберется — минимум трое суток. Установка стоит. Производство теряет миллионы рублей каждый день.

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

Читать далее

Олимпиады — всё?

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

Думаю, что среди читательской аудитории Хабра многих бывших (а возможно, и действующих) олимпиадников, поэтому решил поделиться с сообществом наблюдениями и размышлениями об актуальных проблемах олимпиадного движения в стране. Коротко о том, какое я имею отношение к олимпиадному движению и почему считаю себя в праве публично высказываться на эту тему: я сам бывший олимпиадник (призёр Всероса по информатике), 15 лет веду кружки по информатике и программированию и, в том числе, готовлю школьников к выступлению на олимпиадах, среди моих учеников призёры Всероса по информатике, ВКОШП и других олимпиад по информатике и программированию, кроме того вот уже 10-ый год подряд я участвую в подготовке и проведении школьного и муниципального этапа ВсОШ по информатике в своём регионе.

Позавчера после опубликования результатов муниципального этапа по информатике этого года мама одного из участников прислала мне сообщение: "Я хочу сказать вам спасибо за дисквалы. Потому что списывание достигло какого-то маразма. И по другим предметам вообще ничего не боятся и ничего не стесняются". Речь идёт о том, что мы дисквалифицировали большое количество участников муниципального этапа за списывание друг у друга и за использование искусственного интеллекта при решении задач. В олимпиадах по информатике всё, что делает участник, фиксируется в тестирующей системе, и мы, жюри, имеем возможность анализировать это и на основании определённых критериев делать вывод о несамостоятельности выполнения работы. В силу специфики профессии мы, информатики, во-первых, имеем технические возможности бороться со списыванием, а, во-вторых, воспринимаем сложившуюся ситуацию как некий вызов, которому интересно попытаться что-то противопоставить. Но ситуация постепенно ухудшается. Ниже статистика дисквалификаций на муниципальном этапе ВсОШ по информатике по 9-11 классам по нашему региону:

Читать далее

Я задолбался читать про АИ

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

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

Больше топов меня бесят только коллеги, которые дуют щёки и говорят, что вот они‑то познали искусство промтинга, и теперь они — 10х программеры, потому что вместо того, чтобы делать задачи самим, они запускают пяток‑другой агентов, и те пишут код лучше, чем они.

Во‑первых, ребята, если агенты правда пишут код лучше, чем вы — у меня для вас плохие новости...

Читать далее

Функциональное IT искусство

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

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

И если всё это звучит как безумная смесь олдскула, низкоуровневой магии и настоящего инженерного кайфа? Вы правы! В статье я подробно рассказываю, как от студенческого мини приложения дошёл до своего кодека и p2p-звонилки, почему отказался от готовых решений, что пришлось invent-ить с нуля и какие открытия ждали на каждом шаге. Если хочется увидеть, как «а вдруг?» превращается в работающий проект, милости прошу внутрь.

Читать далее

Теперь Хабр может объяснить, что это за код

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

Мы встроили SourceCraft во все кодовые сниппеты в публикациях на Хабре. Он объяснит, что делает код. Как это работает, кому нужно и как использовать — читайте под катом.

Узнать о фиче

Обзор неявных возможностей дисковой подсистемы Windows 11

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

В своей повседневной жизни мы, как правило, пользуемся только самыми примитивными функциями Windows по работе с данными. Мы создаём документы, копируем файлы, переименовываем каталоги и делаем множество других операций, доступных на расстоянии пары кликов в стандартном интерфейсе Windows.

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

В этой статье мы поговорим о таком функционале Windows, как виртуальные жёсткие диски, ссылки, точки повторной обработки (reparse points), расширенные атрибуты (extended attributes), альтернативные потоки (alternative data streams), теневые копии (volume shadow copy) и кое-чем ещё.

Читать далее

Как я осознал, что не умею кодить

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

Вчера мой скрипт завис. Процессор горел на 100%. Я убил процесс.

Я Senior Developer с 10 годами опыта. Пишу на Python, знаю Java и много модных фреймворков. Но в этот момент я понял: я не умею программировать. Точнее, я умею использовать инструменты. Но я не понимаю природу вычислений.

Эта статья — о том, как одна математическая задача изменила моё понимание разработки.

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

Возможно, и тебя тоже.

Читать далее

Собираем Linux, который весит меньше, чем мем с котиком, ну или почти…

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

Мне всегда было интересно, насколько минимальным может быть Linux.

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

В отличие от предыдущей статьи, в этой я рассматриваю Linux с более свежим ядром с минимальной конфигурацией на основе tinyconfig, оформленный в виде одного файла и загружаемый при помощи UEFI.

Зачем вообще нужно создавать такие сборки Linux?

Установил готовый дистрибутив или загрузился в Live — работай и изучай. Но такой подход не даёт настоящей уверенности в знаниях. Представьте: водитель и шофёр. Водитель просто ездит. Шофёр знает устройство автомобиля и может его починить.

Современные автомобили сложны — починить всё самому уже нельзя. Но вы можете открыть капот, измерить уровень масла, заменить колесо в случае прокола, установить винт для буксировочного троса и т. д. Так же и с Linux: коммерческий дистрибутив вы вряд ли соберёте, но на одну ступеньку вверх по лестнице профессионализма подниметесь.

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

Как минимальный Linux служит для понимания более сложных вещей, так и моя статья даёт базу для дальнейшего более глубокого изучения.

В комментариях к моей предыдущей статье я видел замечания, что можно использовать buildroot или книгу Linux From Scratch. Скажу только, что я преследую другие цели: собрать минимальный Linux без использования специализированных программ и сделать это как можно проще.

Всем, кого заинтересовало, добро пожаловать под кат.

Читать далее

Корпоративные секреты по 1500 рублей: что мы нашли на списанных жестких дисках с барахолки

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

Только представьте: вы покупаете б/у жесткий диск, а там — пароли от корпоративной почты, базы клиентов известной компании и договоры с поставщиками. Звучит как страшилка для тренинга по информационной безопасности, но это реальность.

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

Хотите узнать, как легко купить чужие секреты и почему компании продолжают их выбрасывать в 2025 году? Рассказываем подробно.

Читать далее

Теорема Пифагора: великий обман школьной программы. Как абстракция убила смысл

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

Все мы знаем эту формулу. a^2 + b^2 = c^2.

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

Но задавали ли вы себе когда-нибудь вопрос: почему именно квадраты?
Почему не кубы? Почему не просто сумма модулей |a| + |b|?

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

Сегодня мы разберем этот «черный ящик» и увидим, что теорема Пифагора — это вовсе не про треугольники. И доказывать её нужно совсем не так, как нас учили.

Школьная программа не дает ответа. Более того, история преподавания теоремы Пифагора — это история того, как живую, наглядную геометрию превращали в сухую, мертвую алгебру. Нас уводили всё дальше от понимания сути в сторону абстракции.

Сегодня мы разберем этот путь деградации и покажем доказательство, которое вернет вас к реальности. Спойлер: теорема Пифагора — это не про треугольники. Она про зеркала.

Приготовьтесь к полному разрыву всех шаблонов!

Читать далее

Детгиз на помощь взрослым дядям

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

У меня в кабинете на работе есть небольшая витринка, в которой стоит некоторое количество... гхм... штуковин, большинство из которых я когда-то смастерил сам. Объединяет их одно - когда-то мне было интересно помахать напильником, а теперь все они служат так называемыми conversation starters, то есть, объектами, которые помогают завязать непринуждённый разговор. Давайте сегодня поговорим про пару электромоторчиков, что стоят на первом плане фотографии.

Люди через мой кабинет проходят образованные, но учебник физики, как и я, в последний раз открывали в школе. Обычно они подкованы в математике и в программировании. Я им задаю несколько довольно простых вопросов, которые сводятся к «почему оно крутится?». И знаете, пока что никто на все не ответил без подсказок. У меня подрастают дети, поэтому подсказки я решил материализовать, совместно с ними изготовив ещё пару моторчиков, которые выглядят привычнее. Даже если вам совершенно очевидно, как оно работает, очень рекомендую изготовление подобного совместно с детьми.

Да здравствует DIY! (осторожно, трафик!)

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

Не делайте рефакторинг как дядя Боб. Я вас умоляю

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

Несмотря на то, что книга «Чистый код» привнесла в наш лексикон прекрасный термин, она также снискала и дурную славу. Это руководство от 2008 года представляет собой сборник принципов и исследований, которые «дядя Боб» (Uncle Bob, то есть Роберт Мартин) выработал за годы программирования.

В итоге его практики переняли многие разработчики, одни из которых почитают их как святыни, а другие воспринимают, скорее, в качестве ориентиров, нежели строгих правил. Но, как бы вы к этому ни относились, сам дядя Боб смотрит на них не как на руководства. Он следует этим практикам всецело и очень редко допускает исключения.

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

Можно подумать...

Читать далее

Поломанная дверь Гордона Фримена

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

Недавнее обсуждение опасности дверей в геймдеве напомнило мне о баге, вызванном дверью из игры, о которой вы, возможно слышали — Half Life 2. Усаживайтесь поудобнее, мы начинаем.

Когда-то я работал в Valve над проектами виртуальной реальности. Это было в 2013 году, примерно когда появился Oculus DK1. Мы с Джо Людвигом решили, что лучше всего можно понять, как будет работать VR в контексте реальной игры, портировав в неё реальную игру.

Мы выбрали Team Fortress 2 (причина этого — отдельная история, которой я не хочу здесь касаться). В TF2 использовался движок Source 1, и так получилось, что двумя другими играми Valve, тоже построенными на этом движке, были Half Life 2 и Portal 1. Поэтому побочным эффектом стало то, что они тоже будут работать в VR.

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

Зато HL2 игрался достаточно неплохо. Джо потратил довольно много времени на то, чтобы уровни с лодкой работали прилично.

Читать далее

Тайна самой дешевой Linux-консоли с Ozon

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

Недавно на просторах маркетплейсов появилась невиданная ранее диковинка - ретро-консоль с Linux на борту под немудреным названием R36s. На первый взгляд кажется что это очередная нонейм-консоль собранная из неликвидных комплектующих, однако при детальном рассмотрении выясняется, что это очень мощный гаджет не только для любителей ретро-игр, но и для гиков!

Сейчас консоль стоит на маркетплейсах всего 1.800 рублей. Но если бы всё так было просто... Если вам интересно узнать, откуда в 2025 году взялся 2х-ядерный MIPS с частотой 1ГГц, что представляет из себя R36s на практике и как не запутаться в великом множестве ревизий — жду вас под катом!

Читать далее

Джун наоборот или разоблачение главного мифа вайб-кодинга

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

Вчера (27 ноября) Хабр устроил «Авторский огонёк».

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

Решил с утра накатать об этом статью, опираясь на свои знания и опыт в вычислительной математике (в прошлом занимался моделированием, а последние несколько лет преподаю вычислительную математику в МФТИ), оцените, что получилось.

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

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

Читать далее

Страх и ненависть вайб-кодинга: как я сделал для ребенка игру и попал в топ приложений на android-TV

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

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

Привет, Хабр! Меня зовут Леонид Калядин, я Cluster Data lead в МТС Web Services. Я отлично разбираюсь во всем, что связано с data, но вот в мобильной разработке — полный ноль. Во всяком случае был до недавнего времени. В этом материале я расскажу, как решил спасти дочь от надоедливой рекламы и навайбкодил Adventure Mazes — игру, которая вошла в топ Android TV в Google Play. Итак, кому интересны подробности — велкам под кат. 

Читать далее

Музыкальный движок для Денди: FamiTone

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

Сегодня я решил поведать миру очередную историю одного из множества моих восьмибитных деяний дней давно минувших. Это одновременно обзор и своего рода «постмортем» довольно успешного проекта, правда, припозднившийся на добрых полтора десятка лет. Погреться в лучах славы былых успехов никогда не поздно!

Речь пойдёт о некогда созданной мной библиотечкe, музыкальном «драйвере» или движке под названием «FamiTone», предназначенном для озвучки любительских (homebrew) игр для 8-битной игровой приставки Famicom, она же NES, она же «Денди». По пути разберёмся, что это, как устроено, кому и зачем вообще могло понадобиться, и пригодилось ли в итоге. Спойлер: да.

Читать далее

Снимаю на советские фотообъективы и радуюсь

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

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

Читать далее