Pull to refresh
84
0
Пётр @Error1024

Разработчик

Send message

Загадочное дело о пропавшей точке

Level of difficultyEasy
Reading time6 min
Views18K

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

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

В компании на тот момент было множество шаблонов с устаревшими версиями. В некоторых шаблонах использовались устаревшие условия договоров, в других — старый логотип компании или неправильный шрифт и так далее. Системой стало невозможно управлять, и клиент попросил нас найти решение.
Читать дальше →
Total votes 85: ↑83 and ↓2+105
Comments32

Префиксы в системе команд IA-32

Reading time4 min
Views15K
Сегодня я хочу рассказать вам о префиксах в системе команд Intel IA-32 в 32- и 64-битных вариантах (также именуемых как x86 и x86_64). Но для начала напомню вкратце общую структуру IA-32 инструкции:



  • Префиксы. Могут отсутствовать. Может присутствовать сразу несколько.
  • Опкод. Может состоять из одного, двух или трех байтов.
  • Mod_R/M байт. Используется для адресации операндов. Может отсутствовать в кодировке, если инструкция не имеет явных операндов.
  • SIB (Scale Index Base) байт. Второй байт, использующийся для адресации операндов в памяти. Может отсутствовать.
  • Байт смещения адреса (англ. displacement). 1, 2, 4 или ни одного байта.
  • Константа (англ. immediate). 1, 2, 4 или ни одного байта.

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments11

Как я нашёл 55-летний баг в первой игре о приземлении на Луну

Level of difficultyMedium
Reading time7 min
Views18K

Спустя всего несколько месяцев после исторической прогулки по Луне Нила Армстронга, ученик массачусетской школы Lexington High School Джим Сторер написал первую версию игры Lunar Landing. К 1973 году она стала самой популярной компьютерной игрой с большим отрывом от остальных. В этой простой текстовой игре вы управляете аппаратом для посадки на Луну, стремясь максимально плавно приземлиться. Всё движение происходит вертикально, каждые десять симулируемых секунд игрок решает, сколько топлива нужно сжечь.

Недавно я исследовал график оптимального сжигания топлива для наиболее мягкого приземления с максимумом оставшегося топлива. К моему удивлению, теоретически наилучшая стратегия не сработала. Игра ошибочно думает, что аппарат не коснулся поверхности, хотя на самом деле это так. Углубившись в анализ, я был потрясён сложной физикой и вычислениями в игре. В конечном итоге я обнаружил баг: отсутствующее деление пополам; похоже, почти за 55 лет никто не заметил этого.
Читать дальше →
Total votes 78: ↑78 and ↓0+105
Comments27

Нужно больше ламповых табло!!! Запускаем дисплей от пейджера NJE-105

Level of difficultyEasy
Reading time10 min
Views4.9K

Пару месяцев назад я в очередной раз прогуливался по комиссионкам, и моё внимание привлёк стоящий на полке агрегат, чем-то похожий на музыкальный центр Bose.

Однако, взяв его с полки, я обнаружил, что это табло-бегущая строка!

Поначалу я подумал, что оно светодиодное, а зачем оно такое мне? Тем более, что у меня уже есть шикарные плазменные часы дома. Ну и поставил было его на полку обратно. Раздавшийся в этот момент звон дал понять — внутри есть струны, а значит, это самый что ни на есть настоящий ВЛИ!

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

Читать далее
Total votes 48: ↑48 and ↓0+62
Comments15

Как я зарабатывал 13 млн в год на любителях пассивного дохода

Level of difficultyEasy
Reading time10 min
Views241K

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

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

Читать далее
Total votes 178: ↑167 and ↓11+208
Comments531

Как я участвовал в хакатоне TON

Reading time7 min
Views3.5K

Привет! За клавиатурой Влад Калашников, Senior Product Designer в стартапе Re:Luna, до этого работал в МТС и Pinkman. 6 лет занимаюсь digital дизайном и 4 года продуктовом. Также автор телеграм-канала Design Mind.

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

Читать далее
Total votes 21: ↑7 and ↓14-7
Comments7

Софт для Boeing-737 Max писался аутсорсерами, зарабатывающими $9 в час

Reading time8 min
Views146K
image

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

Недостатки софта, возможно, оставят самолеты прикованными к земле еще на один месяц — на этой неделе американские регуляторы обнаружили дополнительные проблемы. Программное обеспечение для серии 737-Max было написано во времена, когда компания Боинг увольняла опытных инженеров и оказывала давление на поставщиков.

Более того, икона американского самолетостроения и ее субподрядчики, доверяли временным работникам, зарабатывающим всего лишь $9 в час, разрабатывать и тестировать свое программное обеспечение. Зачастую, это были работники из стран с неразвитым самолетостроением, а именно из Индии.
Читать дальше →
Total votes 159: ↑153 and ↓6+147
Comments571

Ещё о красоте в простой формуле

Level of difficultyMedium
Reading time7 min
Views6.1K

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

Читать далее
Total votes 17: ↑17 and ↓0+21
Comments15

Переосмысливая творчество

Level of difficultyMedium
Reading time11 min
Views5.2K


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

Хочу поделиться некоторыми мыслями о том, как нейронные сети меняют творчество, без рассуждений о «душевности настоящего в противовес мёртвому компьютерному». Моё повествование в большей мере будет касаться визуального искусства, потому что я занимаюсь дизайном и трёхмерной графикой.
Читать далее
Total votes 54: ↑50 and ↓4+67
Comments78

UB or not UB: дублируем элемент std::vector

Level of difficultyMedium
Reading time10 min
Views6.1K

В статье выясним, можно ли с точки зрения стандарта языка C++ тривиальным вызовом push_back продублировать элемент std::vector. Отвечая на простой вопрос, столкнемся с более интересными: что собой представляет внутренний мир вектора, как "протухают" итераторы при реаллокации, какие ограничения добавляют гарантии безопасности относительно исключений...

Читать далее
Total votes 36: ↑36 and ↓0+52
Comments12

Производительность Windows 11 «комически низкая», в интерфейс внедряют рекламу. Люди возвращаются на Windows 10

Level of difficultyEasy
Reading time8 min
Views58K


На рынке операционных систем происходит странное. Доля Windows 11 не растёт, как положено для новинки, а снижается. Согласно апрельской статистике Statcounter, после достижения рекордного показателя 28,16% в феврале 2024 года доля Windows 11 упала до 26,19% в апреле.

Тем временем доля Windows 10 за тот же период приблизилась к 70%. И это после того, как Microsoft объявила о завершении поддержки Windows 10 в октябре 2025 года.

Что вообще происходит?
Читать дальше →
Total votes 86: ↑80 and ↓6+100
Comments455

Виза цифрового кочевника в Таиланде в 2024 году

Level of difficultyEasy
Reading time5 min
Views7.5K

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

Читать далее
Total votes 14: ↑7 and ↓7+3
Comments10

Нейропиксели для небогатых

Level of difficultyEasy
Reading time22 min
Views11K

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

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

Сразу оговорюсь: это не практическое руководство, а скорее, наблюдения заинтересованного лица, пока ещё занимающего выжидательную позицию на заборе. Готового рецепта у меня нет — только общее направление для последующих изысканий. Поэтому не ждите высокого технического уровня материала.
Читать дальше →
Total votes 57: ↑54 and ↓3+68
Comments11

Укрощаем суммы с плавающей запятой

Level of difficultyEasy
Reading time9 min
Views8.8K

Допустим, у нас есть массив чисел с плавающей запятой, и мы хотим их суммировать. Можно наивно подумать, что их достаточно просто сложить, например, на Rust.

Однако это запросто может привести к произвольно большой накопленной погрешности. Давайте проверим:

naive_sum(&vec![1.0; 1_000_000]) = 1000000.0
naive_sum(&vec![1.0; 10_000_000]) = 10000000.0
naive_sum(&vec![1.0; 100_000_000]) = 16777216.0
naive_sum(&vec![1.0; 1_000_000_000]) = 16777216.0

Ой-ёй… Что произошло? Проблема в том .что следующее 32-битное число с плавающей запятой после 16777216 — это 16777218. Так что при вычислении 16777216 + 1, значение округляется до ближайшего числа с плавающей запятой, имеющей чётную мантиссу, то есть снова до 16777216. Мы зашли в тупик.

К счастью, есть более совершенные способы суммирования массива.

Читать далее
Total votes 30: ↑30 and ↓0+37
Comments44

Сколько фотонов принимается на бит, переданный с «Вояджера-1»?

Level of difficultyMedium
Reading time2 min
Views25K

Согласно https://voyager.jpl.nasa.gov/, на 2024 год «Вояджер-1» находится примерно в одном световом дне от Земли и до сих пор поддерживает радиоконтакт. Когда он отправляет сообщения на Землю, примерно сколько фотонов (1) передаётся и (2) получается на бит?

Для точного расчёта нам нужно определиться с параметрами (вы можете их поменять, но ответ изменится не очень сильно):

Читать далее
Total votes 75: ↑74 and ↓1+98
Comments114

Cloudflare положил наш сайт после того, как мы отказались выплатить 120 000 $ в течение 24 часов

Reading time9 min
Views125K
Я работаю системным оператором в довольно крупном онлайн-казино (мне представляется, что материал статьи может быть полезен читателям вне зависимости от их позиции касательно этичности казино в целом – упоминаю об этом просто для контекста). У нас около четырех миллионов активных пользователей в месяц. С Cloudflare мы охотно сотрудничаем с 2018 года по тарифу «Бизнес», который стоит 250 $ в месяц и предоставляет неплохие возможности, включая безлимитный трафик.

Нужно признать, 250 $ — невеликие деньги за те объемы трафика, которые мы прогоняли через Cloudflare. В основном мы используем Cloudflare для CDN (кэшируем весь свой статический контент) и для защиты от DDOS-атак – с этими задачами сервис хорошо справляется. Работать с ним просто, и обычно ни о чем не приходится особенно задумываться.

Я читал несколько статей на Hacker News, где рассказывалось, как в какой-то момент Cloudflare связывается с компаниями и начинает агрессивно навязывать корпоративный тариф на персональных условиях. Но я не ожидал, что всё будет настолько плохо.
Читать дальше →
Total votes 222: ↑214 and ↓8+248
Comments400

Сложная красота в простой формуле

Level of difficultyEasy
Reading time6 min
Views18K

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

Сегодня я предлагаю вспомнить один старый и простой алгоритм, рисующий красивые картинки, который когда-то вовлёк меня в программирование и увлёк математикой. А заодно мы немного разберёмся в том почему картинки получаются именно такими.

Читать далее
Total votes 96: ↑95 and ↓1+117
Comments85

Midjourney и промпты для пиксельных артов

Reading time2 min
Views4.5K

Привет, чемпионы!

Часто ли вы обращаетесь к Midjourney или Stable Diffusion, чтобы нарисовать фантастический арт? Я да - нравится позалипать пару минут на фантастический арт. Давайте сегодня учиться генерировать подобные пикчи за пару кликов:

Посмотреть промпты
Total votes 10: ↑6 and ↓4+3
Comments10

Учим три телевизора делать солнышко

Level of difficultyEasy
Reading time29 min
Views51K

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

Осторожно, трафик!
Total votes 286: ↑283 and ↓3+329
Comments97

«Кто на ком стоял?» Про страдательный залог в технической документации

Reading time5 min
Views17K

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

Читать далее
Total votes 79: ↑73 and ↓6+92
Comments52
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Software Developer, Траблшутер