Обновить
128K+
198
Евгений@interpres

Пользователь

236,4
Рейтинг
78
Подписчики
Отправить сообщение

Тихая смерть robots.txt

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

Десятки лет robots.txt управлял поведением веб-краулеров. Но сегодня, когда беспринципные ИИ-компании стремятся к получению всё больших объёмов данных, базовый общественный договор веба начинает разваливаться на части.

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

Файл называется robots.txt; обычно он находится по адресу вашвебсайт.com/robots.txt. Этот файл позволяет любому, кто владеет сайтом, будь то мелкий кулинарный блог или многонациональная корпорация, сообщить вебу, что на нём разрешено, а что нет. Какие поисковые движки могут индексировать ваш сайт? Какие архивные проекты могут скачивать и сохранять версии страницы? Могут ли конкуренты отслеживать ваши страницы? Вы сами решаете и объявляете об этом вебу.

Эта система неидеальна, но она работает. Ну, или, по крайней мере, работала. Десятки лет основной целью robots.txt были поисковые движки; владелец позволял выполнять скрейпинг, а в ответ они обещали привести на сайт пользователей. Сегодня это уравнение изменилось из-за ИИ: компании всего мира используют сайты и их данные для коллекционирования огромных датасетов обучающих данных, чтобы создавать модели и продукты, которые могут вообще не признавать существование первоисточников.

Файл robots.txt работает по принципу «ты — мне, я — тебе», но у очень многих людей сложилось впечатление, что ИИ-компании любят только брать. Cегодня в ИИ вбухано так много денег, а технологический прогресс идёт вперёд так быстро, что многие владельцы сайтов за ним не поспевают. И фундаментальный договор, лежащий в основе robots.txt и веба в целом, возможно, тоже утрачивает свою силу.

Читать далее

Я отказался от Windows 11 в пользу Linux, и вам стоит поступить так же

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

Я выбрал Artix, кстати.

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

Читать далее

Как Markdown захватил мир

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

Почти все элементы мира хайтека, от самых современных ИИ-систем крупнейших компаний до обычных кусков кода, написанных студентами, аннотируются и описываются в одном простом текстовом формате. Когда вы пытаетесь дать сложные инструкции ChatGPT, хотите поделиться списком покупок в Apple Notes или скопировать чью-то домашнюю работу в Google Документах, вы пользуетесь одним и тем же форматом. Самое безумное заключается в том, что этот формат придумал не конгломерат технологических корпораций, а ворчун с добрым сердцем, который сейчас, вероятно, пересматривает фильм Кубрика или болеет за любимую спортивную команду. Но нам стоит разобраться, как родились столь простые текстовые файлы; не только для того, чтобы я мог похвастаться щедростью и умом моих друзей, но и чтобы напомнить вам, как работает Интернет на самом деле: умные люди придумывают хорошие вещи, а затем отдают их бесплатно, снова и снова, пока их технология не захватит мир и не сделает его лучше для всех.

Читать далее

Я мечтал о фотоаппарате, которого не существует, поэтому создал его сам

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

Leica G9ii

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

Камера названа так, потому что внутренности взяты у Lumix G9ii, а корпус — это реплика Leica M, изготовленная на станке с ЧПУ. Также я изготовил новые гибкие кабели для соединения сменивших положение кнопок и колёс управления.

Зачем?

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

Читать далее

Как я установил таксофон у себя дома

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

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

Из книги Big Secrets и нескольких выпусков журнала 2600 я знал пару фактов о кредитных картах. Номера карт American Express всегда состояли из 15 цифр и начинались с тройки, а номера карт Visa состояли из 16 цифр и начинались с четвёрки. Первая пара цифр обозначала банк-эмитент, затем шёл номер счёта; последняя цифра вычислялась при помощи алгоритма Луна и использовалась как контрольная сумма всех предыдущих цифр.

Читать далее

Большим GPU не нужны большие PC

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

С тех пор, как я научил графические карты AMDIntel и Nvidia работать с Raspberry Pi, меня мучил вопрос:

Какой в этом смысл?

У Raspberry Pi есть только одна линия шины PCIe Gen 3, доступная для подключения к eGPU. Этого очень мало, особенно учитывая, что у современного десктопа есть как минимум один разъём с 16 линиями шины PCIe Gen 5. То есть разница составляет 8 Гт/с (гигатранзакций/с) против 512 Гт/с. Бой явно неравный.

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

Я хотел наконец покончить с вопросом о полезности, протестировав четыре задачи на разнообразных GPU для сравнения производительности на Raspberry Pi 5 и на современном десктопном PC.

Читать далее

Ёлочная игрушка, на которой запустили Doom

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

Близятся Новый год и Рождество, а значит, ёлки и всё связанное с ними: гирлянды, украшения и, разумеется, игрушки. Праздник слишком уж весёлый, и я решил, что ему не хватает мрачной игры, поэтому напечатал маленькую ёлочную игрушку в виде модели IBM PC, засунул в неё самый маленький ЖК-дисплей, который смог найти, добавил туда процессор и логику, а также аккумулятор. Это устройство может висеть на ёлке и показывать демонстрационный режим Doom со звуком и музыкой. Но и это ещё не всё: если подключить ней любую BLE-клавиатуру или джойстик, то можно будет самому убивать миллиметровых зомби, какодемонов и импов.

Читать далее

Google убивает открытый веб

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

Несколько месяцев назад я писал о прокси-войне, которую Google ведёт против открытого веба при помощи XSLT. Совершенно неудивительно, что Google продолжает продвигать отказ от него, по-прежнему не давая никаких весомых причин, за исключением «мы наживались на FLOSS-библиотеке, в которой наконец нашли достаточное количество багов безопасности, чтобы это служило оправданием». Компания не объяснила, почему решила не устранять проблемы в самой библиотеке или использовать более современную библиотеку, написанную на безопасном языке, воспользовавшись возможностью проапгрейдить поддержку XSLT до более свежей, мощной и простой версии стандарта.

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

Читать далее

Как я обнаружил скрытый микрофон в китайском NanoKVM

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

NanoKVM — это аппаратный KVM-переключатель, разработанный китайской компанией Sipeed. Это устройство, выпущенное в прошлом году, позволяет удалённо управлять компьютером или сервером при помощи виртуальной клавиатуры, мыши и монитора. Благодаря своему компактному размеру и низкой стоимости устройство быстро привлекло внимание Интернета, особенно когда компания пообещала выпустить его код в опенсорс. Однако, как мы увидим, это устройство обладает серьёзными проблемами безопасности.

Читать далее

Как я воссоздал веб-сайт 1996 года при помощи Claude

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

Вчера до вершины популярности Hacker News добрался этот пост Джоны Гловера:

Может ли Claude воссоздать веб-сайт Space Jam из 1996 года? Нет. Или, по крайней мере, не с моими навыками промптинга. Требуется помощь, потому что я хочу сохранить этот веб-сайт навечно, но это никак нельзя сделать, кроме как попросить Claude воссоздать его из скриншота. Поверьте мне, я менеджер по разработке со степенью по computer science. Пожалуйста, помогите 😞

Чтобы уточнить подробности своей просьбы, Джона передал Claude Code (Opus 4.1) скриншот лэндинга, папку с изображениями и следующий промпт:

Я даю тебе:

1. Полный скриншот страницы лэндинга Space Jam.

2. Папку с сырыми графическими ресурсами**, извлечёнными с исходного сайта

Твоя задача — максимально точно воссоздать страницу лэндинга в полном соответствии со скриншотом.

С подобными задачами кодинг-агенты справляются идеально. Как я часто говорю, все задачи — это задачи поиска, но этот принцип не всегда просто применить на практике. Однако в данном случае применить его очень просто! У нас есть скриншот, поэтому diff пикселей сильно упрощает работу!

Вообще, можно сказать, что сам по себе Claude Code не смог бы с этим справиться. Но Claude с конфигурациями nori1 просто обязан это сделать.

Так что вызов принят.

Читать далее

Почему хорошие разработчики пишут плохой код в больших компаниях

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

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

Читать далее

Как менеджеры становятся причиной ИТ-катастроф

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

«Зачем беспокоиться о том, чего не произойдёт?»

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

За двадцать лет мировые траты на ИТ в расчёте на доллары 2025 года увеличились втрое, с 1,7 триллиона до 5,6 триллиона, и продолжают расти. Несмотря на дополнительные траты, показатели успеха за эти годы повысились незначительно. Из-за этого потери бизнесов и общества становятся всё серьёзнее, ведь ПО проникает во всё большее количество аспектов нашей жизни.

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

Как я говорил двадцать лет назад, причинами краха проектов часто становятся крах человеческого воображения, нереалистичные или несформулированные цели проектов, неспособность справиться со сложностью проекта или неучтённые риски. Всё это регулярно приводит к ИТ-катастрофам и сегодня. Существует и множество других причин, часть которых выявил глава кафедры бизнес-технологий Школы бизнеса Университета Виллановы Стефен Андриоле; его диаграмма, показанная ниже, впервые была опубликована в Forbes в 2021 году. Было бы крайне удивительно обнаружить проект, потерпевший крах каким-то уникальным, незадокументированным ранее образом, потому что подавляющее большинство таких неудач вызваны вполне преодолимыми факторами, за десятки лет изложенными в сотнях отчётов, научных исследований, технических книг и учебников по управлению. Читая литературу о таких катастрофах, часто испытываешь дежавю.

Читать далее

Чтобы тебя не вычислили рекламщики, нужно быть параноиком

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

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

К сожалению, хотя дистанцирование от Google и его сервисов действительно будет необходимым первым шагом по защите своей приватности, он окажется далеко не последним. Потребуются и другие меры, предпринимать которые становится всё сложнее из-за браузерного фингерпринтинга.

Читать далее

Вы виноваты в том, что мой ноутбук знает, где я нахожусь

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

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

Однако этот курс стал для меня довольно уникальным тем, что оказался первым, требующим обязательного присутствия на лекциях. Проверка посещаемости реализована на основе платформы TopHat, которая известна многим студентам.

Чтобы доказать, что ты присутствовал на лекции, нужно указывать в TopHat четырёхзначный код (сообщаемый лектором). Достаточно ввести код на странице студента в TopHat, после чего он считается посетившим лекцию.

Однако, наверно, разработчики поняли, что у системы есть уязвимость, которую невозможно пропатчить — друзья. Если они учатся на том же курсе, что и ты, то лёжа в кроватке, можно отправлять им сообщения со слёзными просьбами поделиться кодом.

Поэтому для лекторов-параноиков TopHat реализовала фичу «надёжной проверки посещаемости», которая, согласно описанию, определяет местоположение «по геолокации устройства и близости к аудитории и другим студентам».

Читать далее

Реверс-инжиниринг шифрования прошивки радиостанции

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

Любительские радиостанции — интересный способ знакомства с работой радиоспектра; что ещё более важно, это встроенные устройства, на которых могут быть установлены странные чипы/прошивки! Мне стало любопытно, насколько просто взломать мою Yaesu FT-70D, поэтому я приступил к расследованию. Единственный ресурс по радиостанциям Yaesu — это пост на Reddit о кастомной прошивке для Yaesu FT1DR.

Пользователь Reddit написал, что если выполнить процесс обновления прошивки через USB, то радиостанция раскрывает микроконтроллер Renesas H8SX, флэш-память которого можно изменить при помощи Renesas SDK. Отличное многообещающее начало, но SDK было не так легко настроить, а я не был даже уверен, сможет ли он сдампить прошивку... поэтому долгое время не брался за него.

Читать далее

Чем же крут язык Zig?

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

Не думаю, что за мою 45-летнюю карьеру какой-то другой язык удивлял меня сильнее, чем Zig. Могу с уверенностью сказать, что Zig — это не только новый язык программирования, но и, на мой взгляд, совершенно новый способ написания программ. Задача этого языка — далеко не только замена C или C++.

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

Читать далее

Куда подевалось легендарное внимание Apple к деталям?

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

Для меня бренд Apple всегда был синонимом внимания к деталям, но, к сожалению, в последние 8-10 лет решения компании на них совершенно не ориентированы.

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

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

Читать далее

Кен Томпсон о взломе замков и рождении Unix

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

У 82-летнего Кена Томпсона сохранились потрясающие воспоминания о первых днях операционной системы Unix и о буйной команде её разработчиков-гиков.

В этом месяце Музей компьютерной истории Кремниевой долины в партнёрстве с Ассоциацией вычислительной техники выпустил специальный выпуск на четыре с половиной часа, записанный полтора года назад историком технологий Дэвидом Броком. В этом выпуске Томпсон подробно перечислил многие из важных моментов своей карьеры — от работы над языком программирования C и Unix до операционной системы «Plan 9 from Bell Labs» и языка программирования Go.

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

Также по ходу дела Томпсон рассказывает историю о маленьком аллигаторе, которого друг отправил ему в офис в Bell Labs. («Его просто принесли, как почту… Не самый лучший из питомцев»).

Читать далее

Банковский спектакль KYC и AML

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

Многие люди смутно представляют, что у финансовых институтов есть обязанность соблюдать Know Your Customer (KYC) и иметь программы AML (anti-moneylaundering), но что это означает на самом деле? Рад, что вы спросили.

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

Обсуждать выбор политик без комментариев невозможно, поэтому для начала я должен дать некоторые объяснения. Когда-то я работал в Stripe, и, разумеется, проходил обязательное обучение комплаенсу. В статье я буду говорить только от своего лица и откровенно расскажу, какой не может быть культура отделов комплаенса и по каким причинам.

Читать далее

Почему случается оверинжиниринг

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

Если вы достаточно давно занимаетесь разработкой ПО, то, вероятно, сталкивались с такой ситуацией: CRUD-приложение, обслуживающее небольшую группу пользователей, развёрнутое в кластере Kubernetes и вдобавок с половиной функций CNCF. В теории выглядит впечатляюще. В реальности же это машина Руба Голдберга, решающая задачи, которых у команды на самом деле нет.

В качестве противоположного примера возьмём Levels.fyi. Сегодня этот сайт помогает миллионам разработчиков сравнивать зарплаты и карьерные перспективы, но в начале его «бэкендом» были просто Google Формы, сохраняемые в Google Таблицы. Никаких микросервисов, никакого Kubernetes, никакой шины событий. Самые простые инструменты, которые можно придумать. Такая легковесная система обеспечила владельцам сервиса скорость её развития. Они проверили жизнеспособность идеи, расширили аудиторию и начали вкладываться в более сложные системы только тогда, когда стало ясно, что продукт рабочий. Иными словами, простота не стала для них препятствием, а превратилась в залог успеха. Стоит также помнить о том, что некоторые из самых сложных инфраструктур изначально были очень простыми: например, Airbnb, Facebook*, Reddit. Прежде, чем завоевать всемирную популярность, они были фрагментарными монолитами.

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

Читать далее

Информация

В рейтинге
16-й
Работает в
Зарегистрирован
Активность

Специализация

Системный администратор