Некоторое время назад я опубликовал на Хабре пост "Смысл жизни с точки зрения программиста-буддиста", в котором я рассматривал один из ключевых для жизни каждого человека вопросов - как найти смысл собственного существования внутри нашей бесконечной и бессмысленной Вселенной. Однако, я чувствую некоторую недосказанность в этом вопросе. В данном посте я хотел бы привести несколько обдумываемых мною идей и соображений и проанализировать проблему поиска смысла жизни не с личной, а с более отстранённой философской точки зрения.
Читать далееИзначально поставка задачи была такой. У меня была в наличии плата TM1638. Нужно было научиться с ней работать (ну и проверить работоспособность самой платы) для того, чтобы использовать её в одном интересном проекте (о нём в другой раз). Под рукой оказалась платка Arduino Nano. Хотелось быстро отделаться проверить работу самой платы при помощи ардуиновской библиотеки SPI.h – не получилось. В результате проделанный объём работы вылился в эту заметку.
Читать далееВ этом кратком руководстве будет разобран вариант запуска "Duke Nukem 3D: Atomic Edition" (1996) с наиболее распространённым и актуальным source-портом, а также перечислен список адд-онов, которые могут представлять интерес.
Читать далееОбрезка нейросетей или же, если вникать в термины, pruning — то, что помогает уменьшить размер нашей модели без потери ее эффективности. Да, это далеко не новинка — в стэнфордских лекциях еще в 2017 году об этом говорили!
Идея проста: мы просто убираем из модели все, что нам не нужно. Как в магазине, когда решил экономить: если в корзине лежат лишние товары, то почему бы их не убрать? Так и здесь — мы убираем избыточные нейроны и связи, которые только занимают место, но не приносят особой пользы.
Принцип обрезки можно применять в разных ситуациях. Например, если у нас есть модель, которая обучена для распознавания ста классов объектов, а нам на самом деле нужно только десять, то почему бы не убрать те девяносто лишних? Это позволит нам сделать модель поменьше, но не менее эффективной. А если мы создаем модель с нуля, то обрезка может помочь нам сразу сделать ее компактнее и эффективнее.
Короче, pruning — это для тех, кто хочет сделать свои модели легче и быстрее без потери качества.
Читать далееНесколько лет назад я прочитал «Задачу трех тел» Лю Цысиня, очень достойная научная фантастика. В ней изложена концепция «тёмного леса», с которой я не смог согласится.
Предлагаю вам альтернативную концепцию «Лесной пожар», описывающую как могли бы взаимодействовать между собой цивилизации будущего.
Сервисные центры не часто хотят возиться с утопленными телефонами. Так произошло и со мной: специалисты респектабельного сервисного центра обещали вернуть телефон к жизни, но, провозившись неделю, выдали заключение, что поврежден процессор и аппарат восстановлению не подлежит. Получив отказ от профессионалов, я решил попробовать починить аппарат своими руками и у меня это получилось.
Читать далееВ этой статье я хотел бы рассказать о различиях между сборкой мусора в Unity (IL2CPP) и .NET. Несмотря на то что IL2CPP существует более 10 лет, я до сих пор встречаю недоумение, когда беседа заходит на тему Garbage Collector (GC) касательно Unity. Считать реализацию GC в .NET, ровно как и в JVM, единственным существующим решением — не верно. А тем более принимать такую реализации как "по умолчанию" используемую в Unity — есть заблуждение. Надеюсь эта статья будет полезной, даст верное понимание и устранит заблуждения. Ну а в конце статьи затронем грядущие серьезные изменения в Unity.
Читать далееПривет, Хабр!
Kubelet — это агент, который работает на каждом узле в кластере Kubernetes. Он отвечает за то, чтобы контейнеры в Pod'ах были запущены и функционировали в соответствии с предоставленными спецификациями PodSpec. Kubelet непрерывно общается с сервером API Kubernetes, чтобы проверять и поддерживать состояние узлов и контейнеров. Без Kubelet, управление контейнерами стало бы нестабильным и непредсказуемым, так как он обеспечивает регулярную проверку состояния и восстановление контейнеров, управляет их жизненным циклом и реагирует на изменения в конфигурации.
Читать далееЖанр MOBA, что в переводе означает "Многопользовательская онлайн боевая(Б) арена(А)", зародился как поджанр стратегий в реальном времени (RTS). Сегодня это один из самых популярных и быстро развивающихся жанров компьютерных игр. В этой статье мы погрузимся в историю этого увлекательного жанра, узнаем о его истоках, рассмотрим ключевые моменты его развития и узнаем, как будет развиваться MOBA в будущем.
Жанр MOBA и почему выбирают именно его?
Давайте задумаемся. О чем изначально думают игроки, если речь идет о жанре игр MOBA? Возможно, образуются образы персонажей с разнообразными способностями, сражающихся на площадке(арене)? Для большинства это короткое и справедливое определение жанра. Но в то же время я не очень согласен с этим распространенным представлением!
ПодробнееПривет, хабр! Вы наверняка много раз слышали про OSINT, интернет-расследования или интернет-разведка. И часто в этой самой разведке нам требуется автоматизировать поиск информации, или хотя бы упростить алгоритм расследования объекта.
В этой статье я попытаюсь рассказать вам, что такое OSINT, а также самые популярные фреймворки.
Что же такое OSINT?
OSINT (Open Source Intelligence) - это интернет разведка, которая основана на том, что мы ищем информацию об объекте из открытых источников, таких как интернет, соцсети СМИ, реестры и т.д.
В основном, после того, как был заключен, например договор, мы можем приступать к расследованию. Но нам необходимы начальные данные - имя человека или названия организации, ИНН, ИП, сфера интересов и многое другое. Не обязательно конечно все, но чем больше начальной сводки, тем быстрее вы найдете нужную вам информацию.
OSINT делится на два типа: активная и пассивная разведка.
ЧитатьПривет, Хабр!
Сегодня мы поговорим о том, какие LLM лучше всего работают на бизнес-задачах. AI-хайп находится на локальном пике, похоже, что весь мир только и делает, что внедряет AI-фичи в свои продукты, собирает миллионы на разработку еще одной оболочки для ChatGPT, заполняет свои ряды AI-тулами и, кажется, предоставляет работу роботам, пока сами попивают кофе в старбаксе.
Читать далееПривет, Хабр!
Как мы знаем, защита конфиденциальной информации — это неотъемлемая часть любого проекта. В статье поговорим про шифрование данных в PostgreSQL, а именно про шифрование с использованием как асимметричных, так и симметричных ключей.
Читать далееПостановка задачи:
Имеется дискретное множество объектов или элементов. А также набор признаков для них, предполагаем, что признаки числовые. Необходимо найти наилучший объект или группу объектов только на основе имеющихся признаков.
Сделаем небольшое отступление. Многие уже на этом моменте могут сказать, что подобные задачи решаются методом коллаборативной фильтрацией. И в целом они будут правы. Но есть случаи, когда фильтрация не подходит или ее недостаточно. Для примера давайте представим себя в роли продавца автомобилей, который думает, какой новой маркой / моделью авто ему начать торговать. Допустим у него есть выбор из 1000 вариантов. И тут уже становится понятно, что идея коллаборативный фильтрации не очень хорошо вписывается в этот случай. Продавцу хочется сделать выбор, не основываясь на предпочтениях других продавцов, а исходя из неких характеристик, определяющих выгоду объекта.
В сухом остатке имеем n признаков. Что с ними нужно сделать, чтобы достичь желаемого? Можно суммировать значение всех признаков для объекта и получить итоговую оценку, которая отражает совокупный итог всех знаний об объекте. Но что не так в таком простом подходе?
Читать далееЭто шестая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как создать страницу профиля пользователя.
Начать изучение