Как стать автором
Обновить
1
0

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

Отправить сообщение

Неудачник, который создал IBM PC

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

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

Билл Лоу начал этот амбициозный проект, но не станет тем человеком, который его закончит. Эта роль достанется его преемнику — скромному, обутому в ковбойские сапоги руководителю среднего звена, не пользующемуся популярностью и впахивающему в корпоративном захолустье IBM в Бока-Ратоне, штат Флорида. Ему предстояло продвигать проект Лоу, который никто в компании не хотел принимать. Всего 12 месяцев спустя, 15 августа 1981 года, в продажу поступит компьютер, который изменит мир: IBM PC.

Читать далее
Всего голосов 72: ↑70 и ↓2+88
Комментарии22

Самое понятное объяснение Специальной теории относительности

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

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

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее
Всего голосов 385: ↑385 и ↓0+383
Комментарии391

Замки, драконы и сундуки: как возник классический сеттинг игрового фэнтези? Часть 4: рождение Dungeons & Dragons

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

К началу 1970-х годов в США оформилось большое и активное сообщество игроков в настольные игры — которое в значительной степени пересекалось с любителями всё более популярного тогда жанра фэнтези. Ранние настолки происходили из военных игр, использовавшихся с XIX века для подготовки офицеров — и долгое время они изображали исключительно реальные или теоретические боевые столкновения. Идея сделать настолку в жанре фэнтези появилась у человека по имени Гэри Гайгэкс после того, как он реализовал настольную игру про средневековые бои — и решил добавить в неё фэнтезийных войск. Когда к этой концепции добавилась идея отдельных юнитов-героев и ролевого отыгрыша — на свет появилась Dungeons & Dragons. Мать всех современных ролевых игр и основа для сферического в вакууме фэнтезийного сеттинга, который во многом именно благодаря ей возник из множества разных миров, разных авторов.

Все части цикла статей о возникновении классического сеттинга игрового фэнтези:
Читать дальше →
Всего голосов 49: ↑48 и ↓1+59
Комментарии5

Замки, драконы и сундуки: как возник классический сеттинг игрового фэнтези? Часть 3: от варгеймов к Blackmoor и D&D

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

Итак, к началу 70-х фэнтези в США успели стать массово популярным жанром литературы. Книги в жанре «магия и меч» запоем читали все — от гиков-технарей до хиппи и рок-музыкантов. Каноны фэнтези при этом быстро менялись: типовое героическое фэнтези в духе «Конана» и эпические противостояния добра со злом в стиле Толкиена быстро наскучило и читателям, и писателям — и в тропы жанра стали стремительно вноситься всё новые и новые поправки. Это сделало новый модный жанр не только более интересным для аудитории — но и куда более пригодным для того, чтобы на его основе создавать игры: сначала настольные, а затем и компьютерные.
Читать дальше →
Всего голосов 62: ↑62 и ↓0+74
Комментарии2

Age of Empires – культовая попытка сделать Цивилизацию в реал-тайме

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

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

Как сейчас помню крутой (так мне тогда казалось) Пентиум 2 моего брата, благодаря которому началось знакомство с миром компьютерных игр. Забавно, но большинство людей в те годы называли свои компьютеры по названию линейки процессоров: «У меня Пентиум 2!» – «Фигня! У меня третий Пень!». Подобные разговоры были вполне обыденны для той эпохи, хоть сейчас это и звучит нелепо. Так вот, этот самый Pentium II стал для меня вратами в мир компьютерных развлечений. Именно он позволил мне познакомиться с такими играми, как самый первый Command & Conquer (в т.ч. его продолжения и спин-оффы вроде С&C:Tiberian Sun или С&C: Red Alert), Midtown Madness, Штырлиц: «Операция Бюст», Commandos и, конечно же, Age of Empires. О некоторых из этих игр я уже рассказывал в своих статьях и выкладывал к ним сборки, а сегодня хочу отдать дань уважения одной из лучших стратегий своего времени – Age of Empires, ведь, помимо огромного вклада в развитие RTS жанра, она оставила значимый след в формировании моего игрового вкуса.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+52
Комментарии16

Замки, драконы и сундуки: как возник классический сеттинг игрового фэнтези? Часть 1: во всём виноват Конан-Варвар

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

Фэнтези в наши дни имеет массу разных форм и поджанров. Классическое и тёмное, эпическое и ироническое, городское, славянское, китайское, и прочее всякое-разное. И всё же, когда дело касается мира компьютерных и настольных игр, при слове «фэнтези» мы первым делом представляем что-то довольно-таки определённое. Пафосные паладины с мечами, остроухие эльфы с луками, коренастые гномы с топорами и пивом, свирепые зеленокожие орки, сумрачные маги и прочие некроманты с драконами будут бегать по живописным горам и равнинам, оборонять и штурмовать крепости, искать артефакты в подземельях, призывать и запечатывать всякие сущности — и попутно прокачивать свои способности. Но откуда взялся этот классический сеттинг игрового фэнтези? Ведь напрямую он не копирует ни одно литературное произведение, фильм или некую изначальную игру, которые можно было бы назвать его однозначной первоосновой. Попробуем разобраться!
Читать дальше →
Всего голосов 73: ↑71 и ↓2+86
Комментарии19

Как пытались (пере)программировать мозги, и что из этого получилось? Часть 1: проект «Артишок»

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

Во все века разведчики, шпионы и спецслужбы полагались в своей работе на разные вещества и психологические уловки. Тёмные рыцари плаща и кинжала травили врагов всевозможными ядами, усыпляли стражу, подсылали убийц-фанатиков с промытыми пропагандой и веществами мозгами — как легендарные ассасины времён Крестовых походов, чьё название происходит от неумеренного накачивания одноразовых киллеров гашишем. Развитие науки и техники в ХХ веке только подстегнуло энтузиазм шпионских ведомств. Если в СССР секретная токсикологическая лаборатория №12 при КГБ занималась в основном ядами для ликвидации врагов трудового народа, то в США к боевым токсинам из закрытого центра Форт-Детрик добавлялись безумные во всех смыслах эксперименты ЦРУ по взлому чужих (и даже своих!) мозгов посредством веществ и гипноза. Это привело к грандиозному скандалу в 70-е годы, породило немало теорий заговора, а также отсылок в массовой и не очень культуре. Впрочем — обо всём по порядку.
Читать дальше →
Всего голосов 70: ↑54 и ↓16+58
Комментарии21

Go: Должен ли я использовать указатель вместо копии моей структуры?

Время на прочтение4 мин
Количество просмотров17K
image
Иллюстрация, созданная для «A Journey With Go», из оригинального гофера, созданного Рене Френч.

С точки зрения производительности систематическое использование указателей вместо копирования самой структуры для совместного использования структур многим Go разработчикам представляется наилучшим вариантом. Для того чтобы понять влияние использования указателя вместо копии структуры мы рассмотрим два варианта использования.
Читать дальше →
Всего голосов 24: ↑15 и ↓9+14
Комментарии27

Обратная польская запись

Время на прочтение4 мин
Количество просмотров256K
Два плюс два, умножить на два?

Не знаю как вы, но я в школе долго мучился, пытаясь разобраться с приоритетом операций и скобками. Потом, как и каждый начинающий программист, я мучился с приоритетом операций и скобками, когда писал собственный калькулятор. А оказалось, что все эти мучения были напрасны. Ведь существует прекрасный механизм, известный, как обратная польская запись. О том, что это такое и как с этим работать я и хочу вам рассказать.
Читать дальше →
Всего голосов 121: ↑84 и ↓37+47
Комментарии73

Паттерн Unit of Work в разрезе чистой архитектуры DDD на языке Golang

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

Всем привет! Недавно мне выпала возможность разработать шаблон сервиса, который можно было бы использовать как для монолитной, так и для микро‑сервисной архитектуры. Шаблон должен был придерживаться принципов Domain‑Driven Design (DDD). В этом процессе, я столкнулся с двумя интересными проблемами:

Проблема 1: Сложности обеспечения транзакционности базы данных

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

Проблема 2: Нарушение изолированности слоя

В попытке решить первую проблему, некоторые разработчики переносят работу с транзакциями на уровень слоя приложения, чтобы избежать прямой зависимости от базы данных. Однако, такой подход, несмотря на его обоснование, может нарушить изолированность слоев и противоречить принципам DDD и чистой архитектуры. Это, в конечном итоге, затрудняет поддержку приложения и усложняет его масштабирование.
Эти две проблемы стали отправной точкой для исследования применения паттерна Unit of Work и его роли в обеспечении надежности и консистентности данных в контексте Golang и DDD.

В статье я расскажу о своем подходе к решению этих задач.

Читать далее
Всего голосов 6: ↑4 и ↓2+3
Комментарии7

Правда и мифы об энтропии. Как работает второй закон термодинамики?

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

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

Читать далее
Всего голосов 62: ↑58 и ↓4+73
Комментарии111

Тайна образования Луны, двойных астероидов и лунной воды

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

В 1988 году в Крымской астрофизической обсерватории доктор физико-математических наук Валентина Владимировна Прокофьева-Михайловская со своей группой начала телевизионные наблюдения блеска астероидов. Телевизионный комплекс был смонтирован на телескопе с диаметром зеркала 0.5 метра. Характерная переменность, зарегистрированная у астероида (87) Сильвия, доказывала, что этот астероид имеет спутник – что и было объявлено в статье 1992 года Прокофьевой В.В. и Демчика М.И. в «Астрономический журнал»: «Астероид 87 Сильвия – двойной» (сейчас известно, что Сильвия – тройной астероид). Признаки двойственности крымские астрономы нашли и у Диотимы, блеск которой менялся с периодом 14.89 часа и 4.56 часа. Крымским астрономам, сообщившим о двойных астероидах, почти никто не поверил, потому что их наблюдения противоречили существующей планетологической парадигме. Астероиды считались строительным мусором на месте несформировавшейся планеты или обломками крупных протоастероидов - планетезималей. Какие у них могут быть спутники? Недоверие исчезло, когда в 1994-м году межпланетная станция «Галилео» неожиданно сфотографировала у неровного астероида Иды округлый спутник Дактиль. Сразу возник вопрос: Как образовались спутники астероидов?

Результаты группы Прокофьевой-Михайловской стали активно обсуждаться в научном сообществе, и было решено подготовить обзор для «Успехов физических наук». В КрАО я слыл специалистом по спутниковым системам, и Валентина Владимировна пригласила меня стать соавтором обзора и написать его теоретическую часть о стабильности, динамике и происхождении спутников астероидов. Это предложение застало меня врасплох, потому что спутники астероидов принципиально отличались от нерегулярных спутников планет-гигантов, которыми я тогда занимался. Тем не менее, для обзора в УФН я сделал все, что было возможно в 1995 году: показал, что орбиты спутников астероидов стабильны (многие астрономы сомневались в этом) и обычно располагаются глубоко внутри сферы Хилла своих главных тел; сделал вывод о быстром образовании астероидных спутников из кольца мелких тел и выдвинул гипотезу о том, что орбиты спутников астероидов могут иметь преимущественно прямое вращение относительно центрального тела.

Читать далее
Всего голосов 55: ↑54 и ↓1+70
Комментарии70

Действительно ли у Вселенной есть больше трёх пространственных измерений?

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

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

Этот вопрос волнует физиков уже около века, а многие математики и философы задаются им значительно дольше. Существует множество убедительных причин для того, чтобы рассматривать такую возможность, но есть и явные свидетельства того, что ничего подобного не существует. Об этом говорят как математика, так и физика. Хотя физические последствия, которые могут возникнуть в результате появления дополнительных пространственных измерений, имеют жёсткие ограничения, математические возможности интересуют нас не менее сильно.
Читать дальше →
Всего голосов 40: ↑36 и ↓4+53
Комментарии101

Самые убедительные свидетельства существования Вселенной до Большого взрыва

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

В начале прошлого века благодаря работам Хаббла и других астрономов стало понятно, что Вселенная, во-первых, не ограничивается Млечным путём (последний – не Галактика, а просто галактика, одна из многих), а во-вторых, все галактики разлетаются друг от друга, как точки на поверхности надуваемого воздушного шарика. Но если шарик надувается, значит в прошлом он был меньше.

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

В итоге у нас выстраивается логичная цепочка: сингулярность — Большой взрыв — Вселенная началась.

Но с последней трети XX века наблюдения начали выдавать нам больше вопросов, чем ответов. В результате в 1980-х космологи разработали теорию космической инфляции, согласно которой никакой сингулярности не было, а Большому взрыву предшествовало другое, особое состояние Вселенной – инфляционное. В XXI веке мы постепенно начинаем получать доказательства существования Вселенной до Большого взрыва.
Читать дальше →
Всего голосов 80: ↑55 и ↓25+52
Комментарии63

Made at Intel. Окаянные дни — начало

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

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

Читать далее
Всего голосов 91: ↑88 и ↓3+111
Комментарии12

Микросервисы глазами аналитика

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

Расскажу про системы с микросервисной архитектурой (MSA). Как они устроены, как я их анализировала, какие увидела проблемы и преимущества.

Статья не раскрывает лучшие практики использования микросервисов и не разоблачает их излишнюю популярность. Основная цель - описать технологию и процесс работы с ней с точки зрения системного аналитика.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии25

Подробное руководство по инверсии зависимостей. Часть 1

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

Инверсия зависимостей - один из принципов SOLID, который лежит в основе построения гексагональной архитектуры приложения. Существует множество статей, которые раскрывают суть принципа и объясняют как его применять. И, возможно, читатель уже знаком с ними. Но в рамках данной статьи будет продемонстрирован подробный разбор "тактических" приемов для успешного использования инверсии зависимостей и, возможно, в этом смысле даже искушенный читатель сможет найти для себя что-то новое. Примеры представлены на языке программирования Java с соответствующим окружением, но при этом для чтения достаточно понимания похожих языков программирования.

Читать далее
Всего голосов 7: ↑5 и ↓2+7
Комментарии134

Публикация Go приложения в GitHub

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

Пост представляет собой небольшой контрольный список (checklist) при публикации Go приложения на Github'е.

TLDR:

- Makefile как входная точка для выполнения основных действий

- Линтеры и тесты как инструменты повышающие качество кода

- Dockerfile как способ распространения приложения

- Github Actions как возможность автоматической сборки и выкладки приложения при новых изменениях

- Goreleaser как инструмент для публикации релизов и пакетов

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

Вперед!
Всего голосов 10: ↑9 и ↓1+12
Комментарии9

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Время на прочтение12 мин
Количество просмотров63K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


Приятного чтения!
Всего голосов 46: ↑40 и ↓6+49
Комментарии71

Видео курсов Computer Science клуба

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

Computer Science клуб — это открытые лекции по компьютерным наукам в Санкт-Петербургском отделении Математического института РАН. Филиалы CS клуба действуют в Новосибирске и Казани. В связи с эпидемией все лекции осеннего семестра проходили онлайн и были доступные всем желающим вне зависимости от их местонахождения. Видеозаписи этих курсов выложены на сайт клуба и в канал на ютубе.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии2

Информация

В рейтинге
5 460-й
Зарегистрирован
Активность