В 2004 году я слишком много играл в RuneScape на модеме 56k, который разрывал соединение, когда мама поднимала трубку. 3D-мир, на сервере которого могло быть до тысячи игроков и десятки на экране одновременно... И всё это в браузере со скоростью 5 килобайт в секунду. Каким-то образом всё это работало. Давайте пошагово разберёмся, как же именно.
В детстве я был слишком занят сбором льна и убийством гоблинов, чтобы задуматься, как это работало. Ответ заключается в упорной и почти одержимой экономии байт. Давайте нажмём на один тайл к северу от места, где мы стоим, и оттрасируем каждый байт, бегущий по проводам после этого клика на сервер, а потом и на экран другого игрока.
Методология
Подробности, приведённые в этом посте, взяты и декомпилированного клиента RuneScape 2 от 2004 года. Фрагменты кода — это приблизительная трансляция этого декомпилированного кода, местами подчищенная для удобочитаемости, но с сохранением логики.
Базовые принципы различаются между разными версиями, но большинство из них остаётся неизменным от самой RuneScape Classic (2001 год) до современной RuneScape 3 и, разумеется, до Old School RuneScape.
Если вы играли в RuneScape в начале 2000-х и у вас всё ещё есть жёсткие диски из той эпохи, то советую заглянуть в RuneScape Archive Project. Его авторы проделали отличную работу по каталогизации исторических версий RuneScape, которые в противном случае были бы утеряны, и им важен каждый вклад.
Читать далееКонец 1990‑х годов вошел в историю как эпоха доткомов — период бурного роста интернет‑компаний. Одним из самых ярких символов того времени стал Pets.com — онлайн‑магазин товаров для животных. У компании имелся громкий бренд, узнаваемый логотип и «самая милая талисман-кукла в мире». Но не было главного — экономической модели, которая бы работала. Рассказываем в нашей статье про стремительный взлет Pets.com и столь же быстрый крах.
Читать далееВ этой статье расскажу, как производственной компании создать управляемую базу знаний и не зависеть от того, кто именно работает в смене.
Читать далееSamsung Duos вышел в 2007 году и стал настоящим хитом. Произошло это после того, как российский офис южнокорейской фирмы точно ухватил потребность рынка: теперь у людей не просто есть сотовый телефон, у многих их два. Личный и для работы, к примеру. Соответственно абонентам приходится таскать два аппарата. Под нажимом коллег из Москвы Samsung выпускает модель SGH-D880 и просто взрывает не только российский, но и мировой рынок.
События тех лет привели к тому, что два включенных номера — это де-факто стандарт для андроидов и айфонов сегодня. Но не все так просто.
Современные телефоны радикально отличаются от своего прародителя. В этой статье мы слегка пройдемся по истории двухсимочности, узнаем, как она работает и какие реализации технологии существуют. А главное, ответим на вопрос: мог ли владелец первого Дуоса позвонить сам себе?
Читать далееТестирование современных LLM моделей проводится с помощью стандартных бенчмарков, которые оценивают математические способности, программирование, понимание текста или умение строить логические выводы. Однако эти тесты слабо отражают умение моделей вести переговоры, адаптироваться к ситуации и выстраивать социальные взаимодействия.
Давайте выйдет за рамки сухих метрик и поместим нейросети в условия, где логика уступает место психологии. В этой статье мы посмотрим, как будут вести себя языковые модели, оказавших в сложной сиутации, где нужно уметь договариваться, обсуждать и продумывать свои действия наперед.
ОзнакомитьсяСегодня я подробно разберу раздел Websites в opensource системе аналитики Matomo. Как Matomo хранит сайты внутри системы, чем различаются Website, Mobile App и Roll-Up, как правильно строить архитектуру аналитики, какие ошибки почти все совершают при масштабировании Matomo.
Читать далееНаступило время, когда рынок ИТ-специалистов начал чётко разделяться на суперпрофессионалов и вечных джунов. Промежуточного звена больше не будет.
Перейти в высшую касту можно будет, только развивая параллельную ветку навыков отдельно от основной. Но многие этого даже не поймут.
Забудьте о привычном карьерном росте, который вы знали. Правила уже поменялись. Вас заменила не нейронная сеть. Вас заменили четырёхрукие сеньоры-Шивы, которые в одиночку выдают результат за целую команду.
Каково ваше место за этим столом? Давайте разбираться вместе.
Читать далееПредставьте: маленький брелок лежит в кармане. На нём — мордочка кота из популярного мема. Нажимаешь кнопку на затылке — и в центре головы загорается круг из двенадцати ярких SMD-светодиодов. Два огонька начинают бегать по кругу с коротким хвостом. Ещё одно нажатие — и запускается спиннер: три луча вращаются по часовой, потом три круга против. Третий режим — маятник, три светодиода плавно качаются взад-вперёд, как загипнотизированный взгляд. Четвёртое нажатие — и всё гаснет. Батарейка CR2032 отдыхает.
Всё это работает на самом дешёвом микроконтроллере ATtiny13. Четыре пина управляют двенадцатью светодиодами через Charlieplexing. Никаких Arduino, никаких сдвиговых регистров.
Читать далееtesting в Go даёт только примитивы. Разбираем, почему автотесты в Go быстро превращаются в боль, и какого слоя исполнения в нём не хватает.
Читать далееСодержание:
1.Зачем включаться в реестр отечественного программного обеспечения?
2.Какие требования и критерии установлены?
3.Какие документы нужно собрать и предоставить?
4.Как проверяется технологический стек?
5. Когда нужно обновлять сведения в реестре?
1. Зачем включаться в реестр отечественного программного обеспечения?
Льгота по НДС (освобождение вместо 22%)
От НДС освобождаются операции по реализации любого реестрового ПО за небольшим исключением. НДС всё же придется платить за реализацию ПО, связанного с распространением рекламной информации, размещением предложения покупке или продаже чего-либо, поиском контрагентов (покупателей либо продавцов) или совершать сделки.
Преимущество в тендерах
Государственными заказчиками может быть прямо установлено условие для ПО о его наличии в реестре Минцифры.
Легче получать и сохранять ИТ аккредитацию
Компания с ПО в Реестре может не соблюдать «зарплатный» критерий при подаче заявления на аккредитацию. По общему правилу для получения (сохранения) аккредитации зарплата в компании не должна быть ниже уровня по субъекту, в котором находится организация, или по России в целом. Те юридические лица, у которых есть ПО в реестре, могут иметь зарплату в меньшем размере, но всё равно получат статус ИТ-компании. Для этого им нужно иметь выручку, превышающую 1 миллион рублей и наличие выручки от реализации непосредственно ПО.
Отнесение выручки к ИТ-услугам для льгот
Налоговым кодексом предусмотрены льготы по налогу на прибыль и страховым взносам. Для получения нужно соблюсти два критерия. Первый — ИТ-аккредитация, об этом мы уже сказали выше. Второй — 70% выручки должно быть от одного из вида деятельности, прямо перечисленных в НК РФ. Среди них достаточное количество услуг, оказываемых с применением собственной программы из реестра, например, для предоставления доступа к фонограммам или образовательной информации.
Читать далееДля своей интерактивной книги в формате «симулятора поддержки людей, столкнувшихся с аномально-криповым» в качестве редактора рассказов я выбрал… Canvas внутри Obsidian. И даже без каких-либо дополнительных плагинов. Было ли это плохим решением? Ну как вам сказать…
Читать далееМы продолжаем увлекательное путешествие по миру удалённого доступа. Это третья часть цикла про протокол доставки рабочего стола SPICE и то, как он вынужден работать в современных условиях.
Наша конечная цель - создать пилот стримингового агента для виртуальной машины на ОС Windows. В предыдущих двух частях рассматривали архитектуры самого протокола и графической подсистемы Windows, а сегодня мы готовим плацдарм в вопросах захвата экрана в Windows и сжатия видео средствами различных библиотек, фреймворков и API. С кодом и компактными пояснениями.
Приглашаю под кат всех любознательных - в особенности тех, кто сталкивается с Windows не только как пользователь; с решениями для удалённого доступа; с протоколом SPICE; с системами виртуализации и виртуальными машинами в принципе.
К технологиям доставки рабочего столаПланы выполнения формируются на основе команды, статистики, собранной по объектам и параметрам конфигурации. Основной способ сбора статистики - команда ANALYZE, для которой нужны данные. В PostgreSQL 18 версии появились функции pg_restore_relation_statsи pg_restore_attribute_stats, которые могут записать статистики в системный каталог. Вместе с возможностью выгрузки статистики параметром утилиты pg_dump --statistics-only, статистику можно переносить между базами данных.
Функционал переноса статистики был создан для обновления кластера баз данных на новые версии. До 18 версии статистика не выгружалась и собиралась после обновления. Сбор статистики мог выполняться часами, что увеличивало время обновления. Начиная с 18 версии, утилита pg_upgrade, по умолчанию, сохраняет статистику, используя функционал экспорта и импорта статистики.
Этот же функционал можно использовать для переноса статистики с промышленных на тестовые базы данных. В статье рассматривается как это применять.
Читать далееРабота с внешними ресурсами — файлами, базами данных или сетевыми соединениями — требует строгой дисциплины. Забыли закрыть соединение? Приложение в итоге столкнется с утечками памяти или исчерпанным пулом коннектов.
Чтобы не писать громоздкие и плохо читаемые конструкции try…finally, в Python используется оператор with. Однако многие разработчики применяют его исключительно как встроенный инструмент для функции open(), упуская огромный архитектурный потенциал этой конструкции.
Читать далееНаверное, всем уже очевидно, что ИИ крайне полезен, мир поменялся, нас всех заменят роботы и вообще ИИ уже нас во всём превзошёл.
Всё так или почти так, "но есть одно но" как поётся в одной известной песне. ИИ стоит денег, и весьма немалых при текущих ценах. А про локальные модели для большинства пользователей и компаний в РФ можно забыть. Ну и в целом кажется локальные модели - это не сценарий ИИ будущего.
Соответственно, как мы платим за интернет и за свет - регулярный платёж за ИИ — то, что нам светит в будущем, а большинству уже сейчас. На текущий момент времени расход токенов - пожалуй, самое главное что-тормозит повсеместное внедрение ИИ. Полностью без оплаты конечно не обойтись (нуу почти), но существенно сократить её точно можно. Далее все методы, которые я испробовал и использую за 3 года работы. По убыванию - от самых жестких и очевидных, до самых хитрых и "технологичных".
Читать далееСмотрю на этот текст и понимаю, что все пользуются ИИ, просто кто-то это хорошо скрывает.
Сейчас всё больше рабочих задач имеет смысл не просматривать вручную, а сначала прогонять через ИИ. Закупки — хороший пример такой задачи.
Проблема не только в том, чтобы открыть сайт ЕИС и вбить пару фильтров. Проблема в том, что нужно быстро понять: подходит закупка или нет, относится ли она к нужной теме, есть ли там нужные работы, стоит ли тратить время на документацию.
В закупках есть отдельная большая работа — постоянно просматривать новые публикации, отсекать нерелевантное и выбирать то, что стоит разобрать детально. На один подходящий договор могут уходить недели такого просмотра. В компаниях это нередко отдельная роль: человек ежедневно мониторит площадки, проверяет закупки, открывает документацию и решает, что передавать дальше специалистам.
ИИ с такой первичной сортировкой может помочь. Но для этого ему нужно дать нормальные данные: таблицу, где есть номер закупки, заказчик, регион, наименование, цена, сроки, ОКПД2, ссылка и дополнительные поля.
Мне был нужен не просто “поиск на сайте”, а программа, которая создаёт Excel для последующей загрузки в ИИ и ручного анализа.
Так появилась идея сделать локальную программу, которая:
Читать далееНа днях Яндекс представил новое устройство своей экосистемы — Датчик присутствия на 24гГц. На момент написания это самый дешевый датчик присутствия с определением нескольких человек и со срабатыванием в указанных зонах. Ближайший аналог это Aqara FP2. Хотя на рынке полно других датчик с радаром, но большинство из них умеют определять только один объект и обычно только расстояние.
Читать далеемы продолжаем изучать моделирование спутниковой связи. В предыдущей статье мы узнали 3 способа организации дерева папок нашего проекта в NS-3. Данная статья цикла посвящена знакомству с устройством и возможностями модуля Satellite и как его установить в NS-3.
Читать далееПолное руководство по аппаратному мультиколору для тех, кто не знает, что это такое и зачем он нужен.
Совместимость, алгоритмы, эффекты и градиенты
Читать далееВ начале 2024 года я устроилась Senior Software Test Automation Engineer в финтех-стартап. После работы в большой стабильной корпорации это был настоящий вызов ― попасть в живой дышащий мир молодой продуктовой компании, пытающейся занять своё место на рынке. Мне понравился продукт и привлекала возможность влиять на процессы, даже устанавливать новые.
Сперва я изучала как всё работало на тот момент, особенно меня интересовал вопрос обеспечения качества. В жизни я стремлюсь к эффективности: получать больше, а тратить меньше. В бизнесе такой подход приветствуется, особенно в стартапе. Причем стартап банально не выживет если он неэффективен. Я чувствовала себя на месте.
Так вот, в этой компании я встретила подход automation first. Это означало, что весь разрабатываемый функционал сразу же покрывался автотестами. В добавок к этому были задействованы многие продвинутые инженерные практики, к которым, как я знала из опыта, компании и проекты приходили через боль, страдания, унижения и годы беспросветного мануального регрессионного тестирования.
Однако не всё было идеально, проблем тоже хватало, даже при том, что скорости релизов мы достигли прямо таки нереальной, обеспечивая при этом отличное качество. В этой компании существовала доселе не встречавшаяся мне структура ― инженерное комьюнити. В каждой дисциплине было своё. У инженеров по качеству ― QA Community. Польза его для процветания компании неочевидна при первом взгляде. Как человеку, который любит докопаться до причин всего на свете, мне было любопытно как это работает и почему. В том числе влекомая этом любопытством я спустя некоторое время выдвинула свою кандидатуру на должность очередного QA Community Lead. Да, должность выборная, как президенство, срок правления ― год, потом смена власти. Немного ранее выборов у нас сменился СТО и объявил, что теперь теперь избранный кандидат должен получить также апрув от него, а также он может оставаться на должности дольше, если нет возражений от комьюнити и/или СТО. Или пока не настанет импичмент, а такое тоже было в истории компании.
Читать далее