Рубрика «Блог компании «Лаборатория Касперского»»

Привет! Меня зовут Арсений, я — тимлид в команде разработки инструментов разработчика KasperskyOS. Работа нашей команды заключается в том, чтобы делать жизнь разработчика ПО под нашу собственную микроядерную OS удобной, так что любые технологии, упрощающие жизнь разработчика, не оставляют нас равнодушными. Вместе со всеми мы следим за хайпом вокруг нейросетей и решили сделать небольшой обзор AI-плагинов автодополнения кода, которые каждый из нас может использовать уже сейчас.

image

В этой заметке попробуем сравнить следующие AI плагины VSCode:

  • Copilot v1.84.61 — самый нашумевший робот
  • Tabnine v3.6.45 — самый старый из трех и самый дорогой
  • Codeium v1.2.11 — самый свежий и самый малоизвестный
  • FauxPilot — Open source, self-hosted аналог Copilot, использующий модели от CodeGen; посмотрим, что может противопоставить коммерческим продуктам OSS-проект, развернутый на моем запечном сервере.

Статья может быть полезна любому разработчику, пишущему на одном из мейнстримовых языков программирования. Также можно рассматривать ее как источник идей — как использовать этих пока глуповатых, но усердных роботов.

Читать полностью »

Я коллекционирую старые устройства под девизом «техника должна работать». Но у такого подхода имеются естественные ограничения. На старых операционных системах не работает свежий софт. В интернете не только поменялись стандарты шифрования данных. Сами веб-страницы представляют собой сложные программы, для которых совершенно недостаточно ресурсов компьютера более чем 15-летней давности. Даже если каким-то образом запустить на старом устройстве современный браузер, для его работы будет совершенно недостаточно оперативной памяти. В моем случае это 384 мегабайта. Прямо сейчас браузер Google Chrome с единственной открытой вкладкой с главной страницей Хабра занимает 687 мегабайт на моем современном компьютере.

Робкие попытки приставить к делу старый ноутбук - 1

И все-таки хочется заняться на ретротехнике хоть чем-то полезным, например – написать эту статью. Для этого я выбрал пока что самый любимый старый лаптоп из коллекции – ноутбук IBM Thinkpad X21, выпущенный в 2001 году. На нем установлена Windows 98SE, что, конечно же, делает мою задачу еще сложнее. Но мне удалось, хоть и очень условно, но прикрутить этот ноутбук к современности. Сегодня я расскажу об этом способе, а заодно поговорю о интересных особенностях старой Windows.
Читать полностью »

Моя любимая категория ретроноутбуков — модели, выпущенные в самом конце девяностых и начале нулевых. Именно тогда в портативных компьютерах сложилась уникальная комбинация фич. Достаточно мощные процессоры Pentium III, которые потом у кого-то продержались до середины-конца нулевых. Объемные жесткие диски. Интересная графическая подсистема, которая в некоторых случаях обеспечивает приличное масштабирование «неродных» разрешений, а иногда умеет какое-никакое ускорение графики. И при этом — совместимый с MS-DOS звук. В результате получается умеренно универсальный девайс, совместимый с большим ассортиментом софта. В моей коллекции уже есть несколько подобных ноутбуков, например IBM ThinkPad X21 или ThinkPad T22.

Dell Latitude CPx, ноутбук не из «Матрицы» - 1

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

При использовании компаратора в алгоритмах boost::sort и std::sort важно учитывать некоторые особенности работы этих алгоритмов, игнорирование которых может привести к неожиданным последствиям, в том числе к segmentation fault.

image

Чаще всего при сортировке объектов пользовательских типов написание кода сравнения элементов коллекции не вызывает вопросов. Компаратор должен возвращать true, если первый аргумент меньше второго, то есть в отсортированном массиве первый аргумент должен идти перед вторым. Алгоритмы сначала вызывают компаратор для пары элементов x и y. Если компаратор вернул true, значит, элемент x меньше y и он должен идти в коллекции перед элементом y, если false, то компаратор вызывается повторно для пары y и x. Если компаратор опять вернул false, значит, элементы равны, иначе порядок определен.

Меня зовут Олег Игнатов, я — Development Team Lead в команде KICS (Kaspersky Industrial CyberSecurity) «Лаборатории Касперского». Мы защищаем промышленные инфраструктуры и сети от специализированных киберугроз. В этой статье расскажу о некоторых особенностях использования компараторов в С++, знание которых позволит не наступить на различные грабли и сэкономить время при разборе багов.
Читать полностью »

«Матрица» — хороший фильм. Важный культурный феномен с множеством отсылок к хакерской культуре. Первый фильм в (теперь уже) тетралогии был выпущен в марте 1999 года. Лично для меня это весомая временная отметка. В пространство между 1999-м и 2022-м по сути заключена вся моя сознательная жизнь. Прошло много лет, и виртуальная реальность Томаса Андерсона выглядит слегка устаревшей, даже ностальгической. В технологиях нашей действительности за 23 года слишком многое изменилось, как будто мы все приняли красную пилюлю и переместились в какой-то другой мир.

Ретротехнологии в фильме «Матрица» - 1

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

Вновь привет, уважаемые читатели ! Работая с одной из систем хранения метаданных о файлах в «Лаборатории Касперского» вспомнил, что давно хотел написать об оптимизации поиска по большому полю в базах данных. О чем далее и расскажу более подробно.

В данной публикации будет рассмотрена оптимизация поиска по полю бинарного массива и, в частности, по равномерно распределенным данным, а также сравнение между собой выявленных способов.

Оптимизация поиска по большому полю - 1

Итак, представьте: у вас есть таблица в базе данных MS SQL, в которой десятки миллиардов строк данных. И в эту таблицу вставляются и удаляются суммарно десятки и сотни тысяч строк в секунду. Назовем эту таблицу dbo.metadata.

Замечание. Для проведенного анализа ниже была создана новая база данных TEST, в которой были созданы две таблицы dbo.metadata и dbo.sha256_checksum (о второй таблице будет написано ниже) и сгенерированы синтетические данные на 1+ млрд строк в каждую. После каждого вызова запроса проводился полный сброс кэша планов для базы данных TEST (DBCC FREEPROCCACHE), чтобы план для запроса каждый раз строился заново, а не брался уже готовый.

Таблица dbo.metadata упрощенно выглядит так:

Определение таблицы dbo.metadata
Определение таблицы dbo.metadata
Читать полностью »

Минидиск, один из самых приятных и наиболее бесполезных носителей звука, был выпущен ровно 30 лет назад, в ноябре 1992 года. Тогда в продажу поступило первое устройство — условно портативный плеер и рекордер Sony MZ-1. В 2002 году формат еще был вполне актуален, выпускался полный ассортимент устройств от портативных плееров до магнитол в автомобиль. Появилась возможность копировать треки с компьютера, хотя и с серьезными ограничениями. В 2012 году минидиск все еще поддерживался производителем, хотя последнее новое устройство было выпущено в 2006-м. В 2022 году формат мертв. Да что там, окончательно потеряли актуальность все физические носители данных, кроме разве что флешек и карт памяти. Наступила эпоха тотального стриминга данных из разнообразных облаков, и больше не надо изучать полку с дисками, чтобы найти любимый альбом.

Тридцатилетие минидиска, элитный хайфай и немного аудиофилии - 1

Впрочем, у меня дома минидиск живее всех живых. Недавно моя коллекция пополнилась еще одним очень интересным экспонатом. Это стационарный минидисковый рекордер Sony MDS-JA30ES, выпущенный в 1998 году. Это довольно нестандартное устройство: большой, тяжелый аппарат с классическим дизайном, принадлежащий серии ES, в которой компания Sony традиционно выпускала наиболее качественные компоненты. Это, если хотите, аудиофильское устройство, в котором какие-то решения действительно влияют на объективные характеристики, а некоторые просто призваны радовать владельца крайне недешевой техники без какой-либо реальной пользы. Давайте обсудим разницу между объективным и субъективным, и заодно попробуем ответить на вопрос: как так получилось, что в аудиофильском устройстве используется сжатие с потерями, наподобие MP3.
Читать полностью »

Добрый день! Меня зовут Андрей Духвалов и я руковожу департаментом перспективных технологий aka Future Tech в «Лаборатории Касперского». Сегодня, 11 ноября 2022 года, исполняется ровно 20 лет идее, которая в итоге усилиями большой команды разработчиков превратилась в нашу операционную систему. На примере KasperskyOS интересно посмотреть, как достаточно абстрактная концепция воплощается в реальность в доверенном маршрутизируемом коммутаторе, кибериммунных шлюзах и еще в куче проектов. И это несмотря на все препятствия, главным из которых был общий скепсис «Зачем нам еще одна операционка?». Причем скептиков хватало не только среди сторонних наблюдателей — внутри компании тоже далеко не все верили в успех! И важнее всего было убедить именно последних.

KasperskyOS: от абстрактной идеи к реальной системе - 1
Читать полностью »

Давным-давно, когда еще не было флешек, и даже болванки CD-R были не в почете, данные между компьютерами переносили… Ну, в моей реальности это происходило исключительно с помощью дискет. До конца девяностых это был вполне рабочий способ передать другому человеку документы или программы. Только в самом конце десятилетия возникали редкие проблемы: как-то я попросил друга переписать мне особо тяжелую игру, и для этого потребовалось три десятка дискет. Одна, конечно же, потом не прочиталась.

Толстые дискеты: Iomega Zip и SuperDisk - 1

Дистрибутив Windows 95 (примерно 30 мегабайт) — это уже была проблема. Настолько, что проще было передать (при хорошем соединении) столько данных по модему, чем возиться с дисками. Или же сходить в гости с собственным жестким диском. Но существовали и другие носители. Их вообще было немало, начиная с восьмидесятых, когда IT-инфраструктура отличалась редкостным разнообразием. Но в девяностые наиболее известными были два сменных носителя. Один из них — стомегабайтный (в начале пути) Iomega Zip — попадался у друзей и знакомых, и был достаточно популярен. Про другой я читал только в журналах — это SuperDisk или LS-120.

В 2022 году проблемы передачи данных между ретрокомпьютерами практически не существует. Можно использовать карты Compact Flash, полностью совместимые с интерфейсом IDE. Есть эмуляторы флоппи-дисковода с разъемом USB. Можно подключить компьютер к сети. Но это все… какое-то слишком современное. Сегодня — рассказ о моем запоздалом знакомстве с ретроносителями, часть из которых достались мне новыми в упаковке.
Читать полностью »

Увлекаясь коллекционированием старого хлама винтажной электроники, я научился ценить долгоиграющие проекты. Конечно, в моей коллекции часто попадаются экспонаты противоположного типа. Вот клавиатурный коммуникатор Nokia, аналогов которого больше нет. Вот минидисковый плеер, проигрыватель музыки с мертвого формата. А вот телевизор с трубкой: таких больше не делают! Все рано или поздно заканчивается, и с возрастом иногда хочется остановить, эм, неумолимую поступь прогресса.

Баллада о долгоживущем софте - 1

С железками это сделать трудно, зато можно с программами. Уже более четверти века я занимаюсь развлечением под условным названием «переустановка Windows». В последнее время чаще я устанавливаю ОС либо на новый ПК, либо на один из своих ретроэкспонатов. Как у многих из вас, у меня есть список софта, который при каждой такой операции устанавливается в первую очередь. Некоторые из этих программ я регулярно устанавливаю, и пользуюсь ими лет 15 или даже больше. Все это время создатели обновляют и развивают их, это не заброшенные проекты. В этой статье я хочу отдать должное этим разработчикам-долгожителям в субъективном хит-параде древнего, но актуального софта.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js