Я люблю проводить численные эксперименты. Процессор должен думать, а не простаивать. Напомню, что нетривиальные нули Зета функции Римана, расположенные симметрично относительно оси X, имеют вещественную часть равную -1/2 (что не доказано, может быть, у вас получится?), а мнимая часть у первых нулей равна (+/-, так как они расположены симметрично): 14.13, 21.02, 25.01, 30.42, 32.93...
Поиграем с этим.
Читать далееВ этой статье я расскажу про тех людей или те профессии, которые участвуют в предпродакшене, продакшене и постпродакшене. Понятно, что все зависит от целей и возможностей. Для хакатона будет достаточно программиста, дизайнера и чувака, который делает всё. Для создания GTA 6 потребуются десятки тысяч сотрудников - от уборщиц до инвесторов. Да, уборщицы тоже влияют на процесс разработки и вообще на процесс работы. Вы даже можете почувствовать это на себе. Когда вы приходите в чистый, свежий кабинет, вам намного комфортнее (я молчу, если вы работаете на не любой работе, это другое). Так вот. Я расскажу, какие есть роли и обязанности у каждого участника разработки игр. А выбирать, кто будет входить в вашу команду, решать только вам.
Читать далееВ статье описывается механизм создания собственного модифицированного варианта монады IO в Haskell, с ограничениями операций ввода-вывода.
Хорошим тоном организации структуры любой программы на Haskell считается разделение кода на блоки, выполняющие IO операции ввода-вывода и блоки, полностью состоящие из чистых функций, т.е. функций, не выполняющих IO операций, а лишь принимающие на вход некоторые данные и возвращающие их в преобразованном виде. Такого рода чистые блоки по сути представляют из себя функции в математическом смысле слова, принимающие аргумент и возвращающие значение функции, и напоминают программы зари компьютерной эры, когда данные с перфокарт загружались в программу в самом начале её работы, после чего некоторое время обрабатывались, и по итогу работы программы выводила на печать итоговый результат расчётов, при этом в ходе работы программы не предполагалось никакого интерактивного взаимодействия с ней.
Чтобы добавить в программу интерактивность, но при этом максимально сохранить математическую целостность функций, применяется примерно такой подход:
Читать далееВольный пересказ выступления главы компании Mobileye профессора Amnon Shashua на пресс конференции в 2023 году.
Читать далееЕсли вы думаете, что метавселенные — это исключительно современная история, начавшаяся с Цукерберга, то вы сильно ошибаетесь. В этом году одна из самых старых метавселенных Second Life (SL) отметит свой 21-й день рождения. Да-да, %USERNAME% — эта метавселенная была запущена аж в 2003 году бывшим техническим директором RealNetworks. С тех пор «вторая жизнь» стала для многих людей тем местом, которое позволяло сильно расширить привычные рамки общения и попробовать для себя то, что мы сейчас называем метавселенной.
Технически SL интересен не только простым пользователям, но и людям, связанным с разработкой программного обеспечения, ведь там есть даже собственный язык программирования LSL. Ну а ещё этот виртуальный мир интересен с точки зрения изучения эволюции метавселенных и того, что от них остаётся, спустя 21 год онлайна.
Читать далееАнализатор пакетов Wireshark является мощным инструментом как для сбора, так и для анализа трафика. Ранее мы уже рассматривали использование Wireshark для работы с пакетами DNS. В этой статье мы рассмотрим различные приемы гибкой настройки данного инструмента для того, чтобы сделать работу с ним более удобной и эффективной.
Настройки Wireshark спрятаны в разделе Edit -> Preferences… Здесь нам доступно множество различных настроек и подробно останавливаться на каждой мы не будем. В разделе Appearance мы можем указать различные настройки для визуального отображения: шрифты, используемые цвета, сохранение размеров и расположения основного окна и многое другое.
Читать далееВ статье кратко и почти только по делу говорится о ветровой нагрузке (точнее о её статической составляющей). Вообще, конечно, по интернету гуляет довольно много сильно схожих (друг с другом) объяснений по работе с этим видом загружения, но тем не менее вопросов, особенно у начинающих, с годами меньше не становится и даже наоборот... в связи с чем и публикуется данная статья.
Читать далееBeat 'em up'ы. Жанр, широко распространившийся в середине 80-х годов прошлого века на игровых автоматах и 8-битных консолях, в последующем успешно перетёкший в 16-бит. Его век был ярким, но не сказать чтобы долгим. Различные проекты продолжили выходить и в последующем, некоторые из них даже иногда заглядывали на PC, но носило то скорее больше точечное явление.
За последние несколько лет наметился определённый ренессанс жанра.
Читать далееВ этом посте мы разработаем алгоритм, позволяющий вычислять пересечение выпуклых полигонов. Так же на ряду с проверкой точки на принадлежность полигону мы рассмотрим метод пересечения выровненных по осям прямоугольников и функцию пересечения отрезков.
Читать далееК нам обратился заказчик из сфера развлекательного видеостриминга с интересной проблемой - у него сервера падали не одновременно. А очень хотелось бы добиться синхронности.
Сервера, которые смущали заказчика работали в роли бэкенда для хранения видеофайлов. По сути, это было множество узлов, содержащих десятки терабайт видеофайлов, которые предварительно были нарезаны в разном разрешении конвертерами. Затем, все эти миллионы файлов отдавались во внешний мир с помощью nginx + kaltura, что позволяло перепаковывать на лету mp4 в сегменты DASH/HLS. Это позволяло хорошо переносить даже высокие нагрузки, отдавая плеером только нужные сегменты без резких всплесков.
Проблемы появились тогда, когда встал вопрос с георезервированием и масштабированием при росте нагрузок. Сервера внутри одной группы резервирования умирали не синхронно, так как представляли были весьма разнообразным зоопарком с разными провайдерами, шириной канала, дисками и RAID-контроллерами. Нам предстояло провести аудит всей этой красоты и перестроить почти с нуля весь мониторинг с методологией управления ресурсами.
Читать далееЭто седьмая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как выполнять обработку ошибок в приложении Flask.
Начать изучениеЗдесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.
Читать далееДанный математический опус вдохновлен одним из комментариев к прошлой статье. Кто не читал, конечно же немедленно читать, но если вот именно ты ленив (а ты ленив!), то я напомню – статья была о том, что многоступенчатое собеседование вводится компаниями исключительно для снижения зарплат сотрудников.
Комментарий как бы намекал, что вся эта ваша экономия на снижении зарплат будет с лихвой съедена затратами на собеседующих. И сегодня мы попытаемся подсчитать, сколько вообще стоит собеседование, в том числе и многоступенчатое.
Читать далееПервое мое воспоминание про горные лыжи было примерно в 5 летнем возрасте. Я лечу вниз по горке, а ко мне неумолимо приближается бетонный забор. Несмотря на эту неприятность, я все равно освоил горные лыжи, благо жили мы недалеко от гор. Правда после поступления в Москве в институт временно пришлось забыть об этом. Но оказалось, что и в Москве тоже есть горки и я решил уже попробовать более модное увлечение - сноуборд. И первые самостоятельно заработанные 300$ были потрачены на покупку самого дешевого комплекта. Ближе к окончанию института я уже уверенно катался, так что даже попробовал поучаствовать в реальных соревнованиях. В результате у меня теперь есть даже FIS код и суммарно 7,3 балла, набранные в сезоне 2002-2003 годов, когда я сумел три раза доехать до финиша без падений и гордо занять последние места в результирующих списках. Это была вершина моей спортивной карьеры, после чего я решил дальше сосредоточиться на профессии, полученной в институте - электронике. А сноуборд и горные лыжи окончательно перевести в разряд хобби.
Читать далееДля любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.
С учетом стремительного прогресса в области технологий и возрастающей сложности программных приложений, овладение принципами системного проектирования становится критически важным для разработчиков, стремящихся создавать эффективные системы. Не имеет значения новичок вы или опытный специалист: освоение этих принципов позволит вам разрабатывать надежные и масштабируемые программные системы, отвечающие требованиям современных приложений.
Далее мы рассмотрим каждый из принципов более детально, чтобы понять их суть и способы применения в разработке приложений.
Читать далее