Если вы думаете, что метавселенные — это исключительно современная история, начавшаяся с Цукерберга, то вы сильно ошибаетесь. В этом году одна из самых старых метавселенных 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) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.
С учетом стремительного прогресса в области технологий и возрастающей сложности программных приложений, овладение принципами системного проектирования становится критически важным для разработчиков, стремящихся создавать эффективные системы. Не имеет значения новичок вы или опытный специалист: освоение этих принципов позволит вам разрабатывать надежные и масштабируемые программные системы, отвечающие требованиям современных приложений.
Далее мы рассмотрим каждый из принципов более детально, чтобы понять их суть и способы применения в разработке приложений.
Читать далееПомните притчу о лягушке в кастрюле с водой? Коварный экспериментатор опускает ничего не подозревающую лягушку в горячую воду. Слегка обалдевшее от такой наглости земноводное, естественно, старается покинуть негостеприимную среду. Экспериментатор говорит «Ага!», что-то записывает в журнал и берёт другую кастрюлю — с водой обычной комнатной температуры. Отловив лягушку в дальнем углу лаборатории, он опускает её во вторую кастрюлю.
Лягушка чувствует комфортную температуру и начинает самозабвенно плавать и вообще всячески наслаждаться водными процедурами. Но экспериментатор и тут готовит злостные козни против скромного лягушачьего счастья. Он ставит кастрюлю на плиту и начинает ме-е-едленно её нагревать. Глупая лягушка упорно не замечает опасности, она продолжает беспечно плескаться в ощутимо потеплевшей воде...
Мы любим подобные притчи — они помогают нам почувствовать свою мудрость и прозорливость: уж мы-то не будем вести себя, как эта глупая лягушка — вовремя заметим опасность и мужественно предотвратим нежелательные последствия. Однако наши героические фантазии постоянно наталкиваются на прозу жизни. В реальности выходит так, что сами мы только тем и занимаемся, что приноравливаемся, приспосабливаемся, смиряемся, идём на постоянные компромиссы...
Почему же так происходит и что с этим можно сделать?
Читать далееБолее 6-ти лет занимаюсь разработкой под IBM i (бывшая AS/400). В основном, конечно, это работа с БД и разная бизнес-логика, но иногда приходится и что-то низкоуровневое писать.
Не так давно занимался разработкой удобного и простого в использовании API для работы с User Queue (есть на АС-ке такой системный объект - очередь *USRQ). И в заголовке извлекаемого из очереди сообщения есть такой параметр - message enqueue time (время размещения сообщения в очереди). Который описан как _MI_Time. Которое, в свою очередь, определено как
Читать далееПриветствую всех айтишников и технарей. Я не забыл про ЯМР, я помню! Но за последнее время на глаза попалось сразу несколько статей про водородную энергетику, и каждая из них грубо задевала тонкие профессиональные струны моей души. В связи с этим я решил, что молчать дальше нету мочи, и решил немного порассуждать в слух на тему, что не так с водородной энергетикой, и что не так с её критиками. Для понимания контекста поясню: я работаю в R&D и разрабатываю электрохимические источники энергии, в том числе и водородные топливные ячейки в моем анамнезе когда-то были. Поэтому я позволю себе изложить именно свое мнение, сформировавшееся у меня за время работы в это области, с минимумом пруфов.
Добро пожаловать под кат.Статья про разработку компьютерной игры в одиночку на игровом движке UE5. Цель статьи это найти как моральную поддержку, так и критику в свой адрес. Ведь когда разрабатываешь в одиночку и от 6 - 12 часов в день, смотришь на свой проект и перестаешь адекватно оценивать происходящее и все перемешивается в одну сплошную массу кода и картинок.
Читать далееБиблиотека dplyr в R позволяет манипулировать данными, проводить фильтрацию, выборку, сортировку, группировку данных и многое другое.
В этой статье как раз и рассмотрим эту библиотеку.
Читать далее