Как стать автором
Поиск
Написать публикацию
Обновить

Все потоки

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

Низкоуровневое программирование под 8086 для любопытных, часть 1

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

Вторая часть уже здесь.

В первой части мы:

посмотрим, как работать с памятью и регистрами 8086

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

изучим работу механизма прерываний и сделаем демонстрационный пример

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

Примеры в бинарном виде доступны по ссылке

Читать далее

Как мы написали самый¹ быстрый 2.5D шутерный движок за историю человечества и как он работает

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

¹Но это не точно. Мы не сравнивали, конечно. Но крайне вероятно, что действительно самый быстрый. И вообще, он ещё не в машкодах.

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

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

Но я знал, что рано или поздно мы докатимся и до этой дряни.

Я не боюсь тебя, 1/√

Пьезоэлемент от зажигалки — источник рентгеновского излучения?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров13K
Картинка Freepik, Petteri Aimonen

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

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

Однако приходило ли вам в голову, что этот пьезоэлектрический элемент может быть использован в качестве источника рентгеновского излучения?
Читать дальше →

Прадед киберпанка Сэмюэл Батлер: как описать искусственный интеллект и господство машин в викторианскую эпоху?

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

Искусственный интеллект в разных его формах к середине 2020-х годов успел стать привычной частью нашей жизни. В ХХ веке он большей частью оставался теорией и научной фантастикой — но был идеей популярной, активно обсуждаемой, вызывавшей и смелые надежды, и мрачные опасения. Но кому первому пришла в голову идея о том, что машина может обладать интеллектом, мышлением и даже подчинить себе людей? Ведь даже отцы-основатели кибернетики, создатели первых вычислительных машин, долгое время воспринимали их сугубо как инструменты для сложных расчётов. Как ни странно, первым эта идея пришла в голову не математику и не инженеру, а английскому писателю и философу Сэмюэлу Батлеру — причём, по иронии истории, в пейзажах из «Властелина колец». И идее этой он до крайности не обрадовался. Сейчас Батлер почти забыт за давностью лет, но следы его идей и текстов можно проследить в научной фантастике и сейчас — в том числе в виде важной отсылки-оммажа в «Дюне» Фрэнка Герберта.
Читать дальше →

Линус Торвальдс жёстко разнёс регистронезависимые ФС

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

Линус Торвальдс сегодня в привычной для себя прямой и резкой манере высказался о файловых системах с поддержкой case folding (регистронезависимых файлов и папок).

Поводом послужила проблема с поддержкой case folding в Bcachefs, обнаруженная на этой неделе и уже имеющая фикс для Linux 6.15. Линус написал огромное сообщение в рассылке разработчиков Linux (LKML), изложив своё мнение о реализации case folding.

Стоит отметить, что проблема с case folding в Bcachefs — не первая для Linux: ранее уже возникали баги, связанные с обработкой эмодзи и других специальных символов Unicode.

Читать далее

Ох уж эти скрытные ботнеты

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

Вот очередной день, когда ботнеты пытаются взломать мой скромный почтовый сервер брутфорсом для рассылки спама. Такое случается волнами, но волны эти возникают постоянно и являются частью жизни системного администратора (естественно, они терпят неудачу ;).

IP-адреса, с которых происходят попытки использовать мой сервер для отправки спама

IP-адреса, с которых совершаются попытки подобрать имя пользователя/пароль для авторизации на моём почтовом сервере и рассылки спама
Читать дальше →

Байки бывалого разработчика: дарил миллионы клиентам, сжигал железо, злил политиков

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

За 25 лет в разработке со мной произошло много занятных историй.

Мы сделали клиентов миллионерами, проводя тестирование на проде. Едва не получили дипломатический скандал, показав министру неполиткорректный экран.

Я общался «по понятиям» с боссом из 90-х с индийским колоритом. Корпел над секторами жесткого диска из-за пингвина-терминатора (да, это про Linux!). Физически ощущал запах сгоревшей премии дорогого сгоревшего железа.

Здесь нет вымысла – только ТруЪ истории и опыт, который я получил. Читайте, смейтесь и… никогда не повторяйте это дома.

Итак, погнали!

Сокращатели ссылок — фишинговая ловушка: как раскрыть опасный URL до перехода

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

Помните кричащие поп-апы, которые как сорняки лезли в каждый уголок экрана? Закрыли и забыли — казалось, кроме раздражения они ничего не несут. Но что, если за укороченной ссылкой в углу баннера скрывался не просто спам, а фишинг? Нажимаете «Продолжить» — попадаете на поддельный сайт, где воруют пароли. Кликаете на «Обновить флеш-плеер» — качаете троян. А ми-ми-мишные опросы в духе «Какой вы котик по характеру»? Да они уже наверняка слили ваши данные.
Читать дальше →

Зелёная Сахара

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

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

Читать далее

Самодельная газоразрядная Ё-лампа

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

Пробная работа в домашней лаборатории-мастерской — изготовление прототипа газоразрядной индикаторной лампы со сложным фигурным электродом-символом и нагреваемым (распыляемым) титановым геттером компактной конструкции. В работе использовано дешёвое стекло платиновой группы [1] от трубчатых ламп дневного света (ЛДС) и простое, по большей части самодельное, оборудование. Рабочий одноатомный газ лампы — недорогой и распространённый сварочный аргон.
Читать дальше →

Оптимизация конкурентных приложений в Go

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

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

В этой статье мы разберёмся, почему так легко «прострелить себе ногу» при работе с конкурентностью, как этого избежать и как построить надёжную и эффективную архитектуру.
А начнём мы — с лёгкого и ироничного рассказа в духе Чехова, где горутины встречаются с русской душой.

Читать далее

Разработка SD-карты с секретом

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


Приветствую, Хабр!

Не удержался и решил написать о новой, недавно разработанной системе. Первое устройство визуально похоже на обычный переходник с uSD- на SD-карту, за исключением лишней микросхемы, расположенной в вырезе платы. Суть разработки состоит в том, чтобы при поступлении питания на SD-карту отправлять сигнал на второе устройство по какому-либо беспроводному каналу. Заинтриговал? Тогда прошу под кат.
Читать дальше →

Честная цена за кг/литр

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

Всем привет! Меня зовут Паша и возможно вы уже пользуетесь моим расширением Ave blacklist для блокировки продавцов спамеров на авито. Но сегодня не об этом.

Больше года назад Кабинет министров не поддержал законопроект с ценой за килограмм или литр, новость была на Пикабу в том числе

Что ж, Кабинет министров не поддержал, а я поддерживаю двумя руками!

И написал расширение для браузеров для расчета цена за единицу измерения на сайтах доставок еды - заКило (chrome, firefox)

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

Читать далее

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

Просто пиши код

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

По мотивам статьи: Не пиши простой код и старого манифеста

Эта статья о других, о тех кто случайно просто пишет код, или кому случайно пришлось писать код раньше. Или о тех, кто случайно код не пишет, но очень хочет.

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

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

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

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

Просто пиши код, потому что вместо инвестиций в инженеров компания вкладывалась в настолки и ворклайф баланс — теперь у нас в офисе есть чемпион по "Evolution", но инженеры не знают как пользоваться профайлером.

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

Простопиши код, потому что когда ты пытался разделить архитектуру на слои и модули, тебе отвечали: «Это всё теоретизация, у нас бизнес и фичи». А теперь этот бизнес держится на толпе джунов и пачке jsonов.

Просто пиши код, потому что Хабр завален «Как я продаю на маркетах когтеточки» и «Как я уволился ради душевного баланса», а вот статью про memory fences или perf counters — хрен найдёшь.

Пиши код, #$%^&!

Как оптимально проектировать печатные платы

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

Привет, на связи Андрей Шведов, руководитель проектов ГРАН Груп!

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

Всего этого можно добиться, соблюдая набор принципов концепции DFM (англ. design for manufacturing) – "проектирование с учетом производства". Она имеет довольно простой смысл: задуманные в проекте решения следует реализовывать, учитывая особенности технологических процессов и возможности производств.

Следуя принципам DFM, вы получаете надежные и соответствующие функциональным характеристикам печатные платы, поставленные в срок, с минимальным риском дефектов и по оптимальной стоимости.

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

Читать далее

Как 20-летний баг GTA San Andreas всплыл в Windows 11 24H2

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

Я занимаюсь разработкой SilentPatch, исправляющего ошибки старых игр серии GTA и других игр. В issue tracker проекта на GitHub я получил недавно очень специфичный отчёт о баге:

Самолёта Skimmer нет в Windows 11 24H2

Когда я обновил Windows до версии 24H2, самолёт Skimmer полностью пропал из игры. Его невозможно создать с помощью трейнера или найти на обычных точках спауна. Я играю и в версию с модами (которая до обновления Windows была абсолютно нормальной), и в «ванильную» с единственным установленным silentpatch (я пробовал версии silentpatch за 2018 год, 2020 год и самую новую). Самолёт всё равно не спаунится в игре.

Если бы я услышал о подобном впервые, то посчитал бы сомнительным и заподозрил, что дело может быть в чём-то другом, а не конкретно в Windows 11 24H2. Однако на GTAForums я получал комментарии точно о такой же проблеме с ноября прошлого года. Некоторые из пользователей винили в ней SilentPatch, однако другие говорили, что то же самое происходит и в игре без модов:

Очевидно, Skimmer не может заспауниться при игре в Windows 11 24h2; надеюсь, этот баг устранят.

Дополнение: кажется, я подтвердил это — создал виртуальную машину с Windows 11 23h2, и этот чёртов самолёт замечательно спаунится; апдейт той же виртуальной машины до 24h2 ломает Skimmer. Остаётся только догадываться, почему небольшое обновление операционной системы в 2024 году ломает какой-то левый самолёт в игре 2005 года.

После нового обновления Silent patch из игры пропадает Skimmer, а когда я пытаюсь создать его с помощью RZL-Trainer или Cheat Menu пользователя Grinch, игра зависает и приходится закрывать её через Диспетчер задач.

[…] Я был вынужден обновиться до 24H2, и после апдейта у меня возникла та же проблема со Skimmer в GTA SA, что и у остальных. Это значит, что проблему вызывают не моды или что-то другое: она возникла после свежего обновления Windows.

Читать далее

TempleOS – это операционная система, которую написал один человек. И это самый странный проект в истории IT

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

Иногда в мире IT появляются проекты настолько странные, что ты просто отказываешься верить в их существование. Вы только вдумайтесь: один человек, десять лет работы, 100 000 строк кода и прямая линия связи с… богом? Нет, это не сюжет постапокалиптического романа. Это TempleOS – операционная система, в одиночку созданная Терри Дэвисом. В мире, где над Windows и macOS трудятся тысячи инженеров, а Linux развивается усилиями целого сообщества, TempleOS стоит особняком как памятник тому, на что способен человеческий разум – во всей его гениальности и безумии. Давайте разберемся, почему этот проект считается самым странным в истории IT и что в нем такого особенного.

Читать далее

Ретро-обзор персонального компьютера МК88 1992 года

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

Здравствуйте уважаемые читатели.

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

Под катом детальные фото компьютера, его периферии, фото и видео включения.

Добро пожаловать!
Читать дальше →

«Работает — не трогай». Или трогай?

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров9K
Негласное правило «Работает — не трогай» широко известно в IT-сфере и за её пределами. Но если ничего не трогать, то ничего не поменяется — такой подход не для всех. Чтобы не остаться сидеть на одном месте, а идти в гору, иногда приходится что-то менять, рисковать. Впрочем, перемены иногда бывают внеплановыми и от нас не зависящими — тогда-то уже хочешь не хочешь, а приходится шевелиться.



На своих семинарах Хабр рассказывает о том, что аудитория с удовольствием читает про факапы самых разных калибров. Поэтому в этой статье — небольшая подборка невыдуманных историй про изменения в нашей компании. С факапами — как вы любите.  
Читать дальше →

Увольняешься? Ну и скатертью дорожка…

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

Каждый раз, когда сотрудник подает заявление об уходе, HR-отдел традиционно вздыхает: "Ну вот, опять не удержали". Но что, если проблема не в том, что люди "не выдерживают", а в том, что компания годами игнорирует очевидные сигналы?

Представьте: ваш лучший сотрудник, который вел ключевой проект, вдруг уходит к конкуренту. Вы в шоке: "Да мы же платили ему выше рынка!" А он отвечает: "Да пусть будет меньше денег, но работа будет спокойнее".

Информация, которой нет в HR-отчетах:

Почему сотрудник уходит