В прошлой части мы обсудили появление на свет Civilization и Dune II, ставших настоящими вехами в развитии компьютерных стратегий. В особенности это касается «Дюны 2», из которой выросли чуть менее чем все стратегии в реальном времени. И это не просто красивая фраза: хит по мотивам саги Фрэнка Герберта напрямую породил две последующие великие игры, братьев-конкурентов, определивших дальнейшее развитие жанра. А именно — «Warcraft: Orcs & Humans от Blizzard» и «Command & Conquer: Tiberi…
Участники стихийных протестов 1-ой четверти XIXв против внедрения машин в ходе промышленной революции в АнглииЭто рассказ о том, как российская контора (когда-то карманная лавка ЭКСМО) по защите прав крупнейших книжных мейджоров, известная как АЗАПИ (Ассоциация по защите авторских прав в Интернете) решила посудиться с РосКомСвобода и всеми теми, кто распространяет инструменты свободного доступа и защиты информации. Ассоциация запрещает писать о VPN (в том числе и self-hosted Amnezia VPN), эдд…
Дело рук начинающего радиолюбителяПовествование рассчитано на начинающих радиолюбителей, чтобы продемонстрировать на примере автора, на какие из «граблей» точно не стоит наступать. «Прожжённые» и профессиональные радиолюбители могут найти повествование скучным и им можно не читать.Почему все именно так и причем тут АрдуиноКонструкции, которые я пытаюсь делать и предлагаю собирать радиолюбителям, рассчитаны на начинающих от 10 лет и на радиолюбителей 50+ лет, уже с не очень хорошим зрением. Поэ…
Решил я недавно разобраться в подробностях работы SSH. Использовал его для удалённого запуска команд давно, но, будучи не слишком опытным в системном администрировании, очень размыто представлял, зачем админы просят им отправить какой-то ключ, что с этим ключом происходит при подключении, зачем при запуске ssh периодически орёт на меня какими-то предупреждениями, и прочие прелести. К своему удивлению, не смог найти ресурсов с описанием протокола, после которых у меня не осталось бы только боль…
Перевод статьи «How a year-long LeetCode habit upped my professional game» из блога Злых марсиан.Культ лайвкодинга и алгоритмических задач процветает до сих пор. Вопросы в стиле «как преобразовать бинарное дерево» или «как написать пирамидальную сортировку» регулярно встречаются на собеседованиях не только в бигтехе — хотя это и не те задачи, которые каждый день решает среднестатистический разработчик. Из-за этого многие программисты начинают искренне ненавидеть алгоритмы.Однажды я зашла на Le…
Логическая ошибка — это ошибка, допущенная в связи с нарушением логической правильности умозаключений.Всякий раз, когда я просматриваю внутренний документ о принятии решения, предложение о стратегическом развитии, отчет об эксперименте, инвестиционную декларацию или какой-либо другой документ, который может оказать значительное влияние на результаты деятельности компании, я проверяю, имеет ли аргумент смысл с точки зрения логики.Другими словами, я исследую, подтверждается ли вывод предшествующ…
Иногда человек может обнаружить такие возможности оптимизации, которые не видит компилятор. В этой статье мы начнём с цикла, сгенерированного из кода Си с помощью clang, и скорректируем его разными способами, попутно измеряя прирост в скорости. Эта статья публиковалась на главной странице HackerNews, и к её обсуждению вы можете присоединиться здесь. Дисклеймер: я не эксперт по оптимизациям. По факту мой опыт касается высокоуровневых, чисто функциональных языков, где программист обычно не ду…
Недавно в сети получила широкую огласку и негодование информация об отслеживании фактов взаимодействия между пользователями популярных месенжджеров. Я решил привести алгоритм реализации данных действий, опираясь только на информацию, доступную при анализе трафика. 1. Сегментация трафика мессенджеров и зеркалирование в отдельные хранилища данныхC помощью DPI (Deep Packet Inspection) и фильтров (например, адресу сервера), провайдеры и СОРМ могут обнаруживать целевой сетевой трафик пользователя и…
Каждый, кто привык работать в консоли, согласится — запускать команды из командной строки в большинстве случаев быстрее, чем из GUI. И выполняются они быстрее. Почему так? Во-первых, консоль потребляет меньше ресурсов. Поэтому быстрее реагирует на команды (меньше задержка на ввод), быстрее выполняет задачи (меньше циклов CPU). Во-вторых, запускать команды с клавиатуры можно практически вслепую, не глядя на экран, с мышечной памятью горячих клавиш и автодополнением. Ты практически сливаешься…