Feed aggregator

От PDP-11 до Windows: как кросс-компилировать ретро-код на macOS без машины времени

Habr.com - 41 min 24 sec ago

Гайд по кросс-компиляции для ретро-платформ на macOS с Apple Silicon.
Описаны настройка и использование:

Open Watcom v2 — для DOS (16/32-бит), OS/2, Windows 3.x/9x/NT, с примерами сборки .com, .exe и функцией для переключения таргетов в shell.

Amsterdam Compiler Kit (ACK) — компиляция ANSI C под PDP-11, с запуском крестиков-ноликов на Unix Version 7 в эмуляторе open-simh (включая создание лент, mkfs, restor, mknod).

msvc-wine — полноценный MSVC-тулчейн для Windows (x86/x64/arm64) через LLVM Clang и LLD, без MinGW-зависимостей.

Дополнительно: тестирование через Wine, DOSBox-X, OrbStack; фиксы для Apple Silicon.

Подробные шаги по сборке, установке и примерам.
Интересно? Велком внутрь.

Читать далее

Диагноз «SLOP» — новый аргумент «Ad Hominem»

Habr.com - 51 min 34 sec ago

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

Хороший прозаик никогда не поставит в одно предложение три прилагательных подряд, а хороший программист — не станет использовать связные списки вместо массивов под большой нагрузкой на доступ по индексу. Согласно банальной логике, эти кванторы существования обратимы: написал единожды алгоритм O(n³) там, где можно обойтись O(n·log(n)) — иди учи матчасть, а потом возвращайся к нам в теплый коллектив джунов.

Лекала в те времена были золотыми, а сито — мелкоячеистым, мышь не проскочит. Мы просили в качестве тестового задания решить простейшую задачку, строчек на сто кода. По этой сотне строчек было видно, насколько зрело владеет кандидат языком (программирования). Декомпозиция, идиоматика, да вон хоть именование переменных — все, как на ладони. Если человек на руби вместо редьюса — объявляет аккумулятор вне скоупа, а потом его мутирует внутри цикла — нам не по пути (в других компаниях могут быть другие любимые песни, но общий посыл — понятен).

→ генераторы кода, текста, стихов, картин

EMG TR4401: Оживляем Венгерский Осциллограф

Habr.com - 52 min 27 sec ago

Смотреть видеоверсию статьи в Youtube или в VK

А ведь в какой-то момент у меня набралось больше десятка ламповых осциллографов! Целая коллекция различных экспонатов той эпохи. Но, в отличие от Артёма Денисовича я вовремя одумался и избавился почти от всех из них, но вот один — венгерский осциллограф TR-4401 слегка задержался. Появился он у меня пять лет назад, во время ремонта осциллографа С1-54. Привлек меня красивой внешностью и исполинскими размерами, ну как тут не удержаться? 

Радовался я недолго. Во-первых, он оказался больше и тяжелее чем я думал. Во-вторых, из всех своих 63 ламп в нем стояло меньше половины. Осциллограф — производства Венгрии, в основе — слегка переработанный Tekronix, предположительно 541A. Отдельные части принципиальных схем были схожи как две капли воды, разве что сами радиолампы слегка отличались — вместо американских стояли польские, венгерские и советские аналоги. С другой стороны у меня была родная документация на русском и желание его оживить.

Что же внутри ламповой техники?

Полная история разработки «Ведьмака 3»: от препродакшена до пострелизной поддержки

Habr.com - 57 min 28 sec ago

Весной 2025 года «Ведьмаку 3» стукнуло 10 лет. За это время игра приобрела культовый статус, обзавелась множеством дополнений и патчей, а также в улучшенном виде вышла на современных платформах. В честь знаменательной даты мы решили вспомнить былое и собрали всю информацию о процессе разработки, вероятно, главной польской игры — The Witcher 3: Wild Hunt.

Материал получился крайне объемным: осилить за раз явно не получится, добавляйте в закладки. Приятного прочтения!

Читать далее

Какие навыки прокачать IT-специалисту на новогодних каникулах: подборка курсов от Selectel

Habr.com - 57 min 29 sec ago

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

Читать далее

FlexMock — мок без морок

Habr.com - 1 hour 30 sec ago

Это было интересное приключение.

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

Это мой первый публичный проект в формате “сделал сам и показываю миру”, без команды и заказа. Ниже расскажу, почему мне захотелось написать такой сервис, как он устроен на уровне идеи и в каких сценариях реально экономит время.

Буду благодарен за конструктивную критику — особенно за идеи, которые помогут сделать инструмент полезнее.

Читать подробнее

Взгляд на виртуального больного активирует иммунитет, подобно вакцине

Habr.com - 1 hour 10 min ago

Группа учёных из Швейцарии и Италии опубликовала в Nature Neuroscience результаты удивительного эксперимента. Оказалось, что иммунная система может включаться не только при настоящем контакте с вирусом или вакциной, но и тогда, когда человек всего лишь видит в виртуальной реальности больного с симптомами инфекции.

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

Самое интересное произошло на уровне иммунитета. Кровь у добровольцев брали до и после сеанса виртуальной реальности. Оказалось, что после встречи с «больным» аватаром в крови увеличивалось количество врождённых лимфоидных клеток (ILC) и натуральных киллеров, а также росла экспрессия молекул активации вроде CD69 и HLA-DR. Их появление на поверхности Т-лимфоцитов и других клеток иммунной системы указывает на то, что клетка «проснулась» и включилась в работу. Чтобы проверить, насколько это похоже на настоящую иммунную реакцию, исследователи собрали ещё одну группу участников и сделали им прививку от гриппа. Спустя два часа изменения в их крови оказались удивительно похожими:

Читать далее

[Перевод] Предсказательная сила эволюционной биологии

Habr.com - 1 hour 42 min ago

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

Корни предсказания Александера уходят в вопросы, поднятые Дарвином за 100 лет до этого. В главе «Трудности теории» Дарвин рассмотрел проблему, которую представляют для естественного отбора стерильные рабочие особи в колониях социальных насекомых. Как естественный отбор может вызвать различия между пчелиными матками и рабочими особями, если рабочие особи стерильны? Дарвин предположил, что в таких случаях отбор действует между семьями или ульями.

В 1964 году Уильям Гамильтон формализовал эту идею родственного отбора и предположил, что эусоциальные колонии с королевой и рабочими многократно эволюционировали у муравьев, пчел и ос благодаря их необычной генетической системе. У этих перепончатокрылых насекомых самцы имеют один набор хромосом (гаплоид), а самки — два набора (диплоид); это называется гаплодиплоидией. Вследствие этой генетической особенности рабочие сестры у этих насекомых более близки друг к другу, чем к своему потомству. Следовательно, они способствуют распространению большей доли своих генов, помогая выращивать братьев и сестер, чем производя потомство сами.

В 1974 году энтомолог и теоретик эволюции Ричард Александер утверждал, что «субсоциальное» поведение (то есть родительская забота) и возможность манипулирования родителями были еще более мощными факторами в эволюции социального поведения у насекомых. В разных таксонах родительское поведение коррелирует с эусоциальностью гораздо сильнее, чем гаплодиплоидия. Критики Александера утверждали, что если родительская забота является важнейшим предшественником эусоциальности, то следует ожидать, что эусоциальность также развилась среди позвоночных с высоким уровнем родительской заботы: птиц и млекопитающих. Александр мог бы указать на то, что видов птиц и млекопитающих гораздо меньше, чем видов насекомых, или на то, что птицы и млекопитающие существуют всего 160 и 250 миллионов лет соответственно, а насекомые — 350 миллионов лет. Вместо этого он задался вопросом, какими характеристиками обладало бы эусоциальное позвоночное, если бы оно эволюционировало.

Читать далее

Скрытые сигналы: как модели учатся тому, чего нет в данных

Habr.com - 1 hour 52 min ago

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

Авторы называют этот эффект сублиминальным обучением. Мы можем удалить метки, отфильтровать инструкции и проверить датасет вручную, и всё равно передать модели поведение, которое не планировали передавать.

Читать далее

Двухканальная паяльная станция на базе STM32

Habr.com - 2 hours 42 min ago

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

Читать далее

Можно ли собрать кубик Рубика случайно? 10 фактов о вероятности, стремящейся к нулю

Habr.com - 2 hours 53 min ago

У людей, лишь шапочно знакомых с кубиком Рубика, иногда возникает вопрос, можно ли собрать кубик, просто вращая грани случайным образом? Несколько раз я слышал истории о том, что кто-то долго крутил кубик и случайно собрал его. Во-первых, «долго крутил» не значит «случайно собрал»: Эрнё Рубик крутил свой первый прототип несколько недель, прежде, чем понял, как перемещаются его элементы, и вернул волшебный куб в исходное состояния. Во-вторых, собрать одну грань или один слой – не значит, собрать весь кубик (а некоторые воспринимают «почти получилось» как «получилось»). И, наконец, математика практически не оставляет шанса собрать кубик случайно. Поэтому будем развеивать этот миф.

Раскладываем по фактам...

[Перевод] Если в LinkedIn у CEO открыт номер телефона — считайте, компания уже взломана

Habr.com - 3 hours 3 min ago

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

Читать далее

[Перевод] Что мы теряем, когда ИИ пишет за нас

Habr.com - 3 hours 13 min ago

На некоторые вопросы ответить проще, чем на другие.

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

Именно так Microsoft Word получил свое название: буквально версия текстового процессора от Microsoft. А до Word были терминальные редакторы вроде WordStar - которым, как известно, до сих пор пользуется Джордж Р. Р. Мартин.

В то время у нас были проверки орфографии. Гораздо более примитивные, чем современные инструменты в браузерах и приложениях.

Из руководства пользователя WordStar 4.0 - версии 1987 года, в которой до сих пор пишет автор «Игры престолов»:

Читать далее

Веб-кейсы: лучшие сайты для привлечения клиентов в авторском топ-10 онлайн-бизнеса

Habr.com - 4 hours 6 min ago

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

Я, член Союза журналистов России Диана Мирова, составила мой авторский рейтинг лучших веб-дизайнов. Моя подборка субъективная, но я опиралась на практики исследования признанных мировых лидеров цифровой экспертизы — IDEO, BCG, Accenture и Baymard Institute. Их методологии используются там, где успех онлайн-бизнеса строится на тонкой психофизике вовлечения. 

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

Читать далее

Kubernetes 1.29 → 1.33 за 30 минут: реальный апгрейд кластера с помощью ИИ под контролем инженера

Habr.com - 4 hours 33 min ago

Мы проверили, способен ли ИИ участвовать в реальной инфраструктурной операции повышенного риска — обновлении Kubernetes-кластера сразу через несколько minor-версий.

Речь не про «сгенерировать YAML» или «написать Helm-чарт», а про полноценную операцию:

Читать далее

[Перевод] Внедрение Spec-Driven Development в существующие проекты

Habr.com - 10 hours 56 min ago

Spec Kit - это один из самых амбициозных фреймворков для наведения порядка в разработке с использованием ИИ. В нашем предыдущем посте о spec driven development мы обсуждали его потенциал для закрытия давних пробелов в рабочих процессах с ИИ-ассистентами за счет обеспечения соблюдения стандартов проекта, контекста на уровне функций, принудительной декомпозиции для управляемого объема работ и контрольных этапов (review gates) для контроля качества.

Но исполнение - это то, где теория сталкивается с сопротивлением. Документация Spec Kit - это сильная отправная точка, с понятными видео, подробными руководствами и предписывающими шагами, которые позволяют развернуть его за считанные часы. Сложности начинаются, когда вы покидаете «песочницу». Подобно примерам Animal → Dog → Labrador в учебниках по ООП, примеры учат синтаксису, а не промышленной разработке программного обеспечения.

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

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

Читать далее

[Перевод] Внутри Spec-Driven Development: на что способен Spec Kit

Habr.com - 11 hours 44 min ago

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

Поставка программного обеспечения была ориентирована на реализацию большую часть своего существования: команды открывали редактор, пробегали глазами бриф спринта и начинали писать код. Этот рабочий процесс имел смысл, когда основными создателями были люди, репозитории развивались медленно, а конвейеры релизов были линейными и предсказуемыми. Теперь AI-агенты, такие как Copilot, Cursor и Windsurf, генерируют код быстрее, чем успевают реагировать архитектура, управление (governance) и интеграция. Код перескакивает от бэкенд-логики к конфигурациям инфраструктуры и CI/CD за часы, на что раньше уходили месяцы.

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

Модель, ориентированная на спецификации (spec-first), обращает этот коллапс вспять с помощью живых, исполняемых артефактов. Вместо того чтобы код вел процесс, спецификации становятся якорем (и источником), на основе которого действуют ИИ и люди. Они содержат решения о структуре, библиотеках, паттернах, соответствии требованиям и интеграции еще до того, как будет сгенерирована хоть одна функция.

Когда поведение меняется, команды обновляют спецификацию, и все последующие выходные данные следуют за ней. Поломки также устраняются путем обновления исходной спецификации, а не латанием симптомов в разных файлах. Чтобы увидеть, как Spec-Driven Development меняет темп и качество разработки с использованием ИИ, давайте разберем, что это такое на самом деле.

Читать далее

Реактивность без React или как обойтись без id в html элементах

Habr.com - 11 hours 52 min ago

Странный заголовок, не правда ли?

А зачем вообще обходиться без id? Даже не знаю, но это вполне возможно, и приложение будет живым и вполне себе «реактивным». А всю «магию» при этом творит функция, которую я назвал tokenize.

Конечно же я, ни в коем случае, не настаиваю на отказе от id. "Элементарные" id никому не мешают и tokenize`у тоже. Но если обходиться без id, то как же получать ссылки на DOM элементы, для обращения к ним? Вот для этого и нужна функция tokenize, которая собирает референсы в удобную структуру с ветками, подветками и листьями (ссылками на DOM элементы). А вот как она это делает, мы с Вами сейчас и разберём.

Поехали

Кроим ДНК на Python — CRISPR gRNA finder, Часть II: Скоринг, off-target и реальный ген

Habr.com - 12 hours 28 min ago

В первой части мы написали базовый поиск gRNA с фильтрацией по GC-составу. Работает, но тупо: все кандидаты в диапазоне 40-60% считаются равнозначными. В реальности это не так.
Сегодня добавим систему скоринга — будем ранжировать gRNA по качеству, учитывая позицию нуклеотидов и особенности U6-промотора. Потом подключим NCBI BLAST, чтобы проверять кандидатов на off-target: не порежет ли Cas9 что-нибудь лишнее в геноме.
Тестировать будем на гене CCR5 — том самом, который отредактировал китайский учёный Хэ Цзянькуй в скандальном эксперименте 2018 года.

Читать далее

Как изучить программирование за 7 дней (до конца новогодних праздников)?

Habr.com - 12 hours 41 min ago

Перфолента.NET — это на удивление профессионально выглядящий язык программирования на платформе .NET, который поддерживает объектно-ориентированное и функциональное программирование, и на котором написан даже написан другой язык, функциональный язык программирования — Перфо.NET (интерпретатор).

Мой личный опыт

Когда я начал немного программировать на Перфоленте/Перфо, моё понимание языков программирования сильно изменилось. Я почувствовал себя как англоязычный программист, пишущий код на родном языке.

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

Раньше сложные понятия функционального программирования давались мне тяжело, но теперь всё стало проще. Лямбда-функции, замыкания, каррирование и т.д. — всё это я теперь понимаю по-другому. Особенно когда объясняю ребёнку.

Например, лямбда-функция — это просто формула из задачника по математике. Ребёнок понял это сразу! И мы пошли дальше, не останавливаясь.

По-моему, главный эффект даёт отказ от псевдонимов и алиасов. Я долго отучался давать названия, из которых сразу понятно, что это за сущность, а не «имена, которые означают...».

Второй эффект — это «сокращение контекста». Контекстное окно человека ограничено 3–5 вещами, которые он в состоянии держать в голове и обдумывать. «Псевдонимы/алиасы» съедают это контекстное окно. Поэтому избавление от прокладок в виде «print — это печать» и замена их на простые «вывести_в_консоль», «вывести_в_файл» и т.п. сильно облегчают понимание логики кода.

Читать далее

Who's online

There are currently 0 users and 1 guest online.
Syndicate content