Как стать автором
Обновить

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры
Пост

Представлен онлайн-проект Windows 98 Disk Defrag Simulator. На сайте defrag98.com можно посмотреть, как работала система дефрагментации дисковых носителей в Windows 98. На сайте можно выбрать диск для работы утилиты Disk Difragmenter и запустить в режиме симуляции этот увлекательный ретро-процесс.

Теги:
+2
Комментарии0

Новости

Статья

Разбираемся с coroutine в Kotlin — 4

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров84

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

suspend fun func() { }

после компиляции будет преобразована в функцию с дополнительным параметром Continuation.

Читать далее
Рейтинг0
Комментарии0
Статья

Его величество Граф

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров408

Графы для меня особенная тема, в них есть нечто таинственное и мощное.

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

Я не буду рассказывать основы графов, они есть в Википедии.

Цель статьи - поделиться с вами некоторыми случаями из моей практики, когда графы становились естественной частью какой-то задачи. Иногда без них задачу решить было невозможно. Иногда через них решение получалось более изящное. А иногда просто тяга к перфикционизму, графы это круто же)

Ну что, поехали, будет интересно!

Читать далее
Всего голосов 1: ↑1 и ↓0+2
Комментарии0
Статья

Нюанс, из-за которого ваш I2S не работает…

Время на прочтение2 мин
Количество просмотров507

... и о котором почему-то нигде не написано.

Некоторое время назад я сел осваивать интерфейс I2S для работы с аудио ЦАПом высокого качества. За спиной у меня уже был большой опыт работы с различными SPI микросхемами, I2C микросхемами, методы работы в блокирующем режиме, неблокирующем режиме через прерывания, неблокирующем режиме через DMA. В общем, мне казалось, что меня уже ничем не удивить. Но за это мы и любим мир электроники и компьютеров - он сможет удивить даже самого искушенного разработчика.

Читать далее
Всего голосов 3: ↑3 и ↓0+4
Комментарии3
Статья

Почему залитый ноутбук сложно ремонтировать. Стоит ли овчинка выделки?

Время на прочтение4 мин
Количество просмотров1.1K

Привет, Хабр! Продолжаю серию постов про ремонт ноутбуков. Сегодня поговорим про «залитиков», то есть устройства, которые пострадали от жидкости. Не обязательно воды, ноутбуки заливают кофе, пивом, соками, кока-колой. Вот последняя, кстати, раздражает больше всего, и о причинах — под катом. Конечно, рассказываю не только про кока-колу.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+18
Комментарии7
Статья

Hamster Kombat. Сколько ты реально заработаешь? Вся правда. Большой разбор проекта, токена HMSTR и команды

Время на прочтение18 мин
Количество просмотров3.3K

В сегодняшнем материале мы разберем проект Hamster Kombat по косточкам. Поговорим о том, как вас разводят на время и внимание, как создатели Хомяка продают свою аудиторию, подсветим все его зашквары и несостыковки. Разберем экономику его токена, инвестиции и предположим, по какой цене он выйдет на рынок. Ну и самое главное - попытаемся понять, сколько же удастся на проекте заработать.

Для того, чтобы понять, сколько денег раздаст проект (и раздаст ли вообще), стоит ли вообще тратить на него свое время, необходимо проанализировать массу метрик, в том числе его фундаментальные показатели, фандрайзинг, токеномику, команду и многое другое. Этим прямо сейчас и займемся. Устраивайтесь поудобней.

И да, вынужден предупредить. Не всем этот материал понравится. За время, проведенное в крипте я привык видеть людей, желающих быть обманутыми. Ну ничего. К хейту я тоже готов. Должен же хоть кто-то открывать ваши глазки на этот жесткий мир и показывать, что он не так уже и приветлив.

Читать далее
Всего голосов 14: ↑12 и ↓2+14
Комментарии16
Статья

Импортозамещение по-русски на 146%. AR-очки

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.4K

Меня зовут Илья Зеленский. Помните басню Крылова "мартышка и очки"? Смысл басни был, как важно владеть знаниями и правильно применять их. Поэтому я хочу поделиться своим опытом запуска действительно сложного продукта.

Читать далее
Всего голосов 12: ↑12 и ↓0+15
Комментарии11
Статья

Как генерируется PID-ы в Linux

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.1K

Вы когда-нибудь задумывались, что происходит за кулисами, когда мы запускаем или завершаем процесс? В этом уроке мы узнаем, как Linux генерирует PID для процессов.

Читать далее
Всего голосов 6: ↑2 и ↓4-2
Комментарии1
Статья

Как поставить Skyrim VR с модами FUS: нейроинтерфейс и говорящие жители

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров685

Хотели бы вы попробовать себя в роли мага, сила заклинаний которого зависит от концентрации в реальном мире? Cвободно разговаривать со всеми NPC на естественном языке и получать вразумительные ответы? Или, может быть, просто поиграть в Skyrim VR с улучшенными текстурами, интерфейсами и физикой?

Читать далее
Всего голосов 8: ↑8 и ↓0+9
Комментарии3
Статья

Анализ тенденций в области антифрода: как технологии проверки личности меняются и совершенствуются

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров219

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

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии1
Статья

О резко возросшей потребности НАСА в доставке грузов на Луну

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров936

У НАСА большие планы на Луну. В рамках программы "Артемида" НАСА планирует создать программу "устойчивого исследования и освоения Луны". Она будет включать в себя создание Lunar Gateway — орбитальной среды обитания, которая облегчит полёты на поверхность и обратно, а также базового лагеря Artemis Base Camp, который позволит проводить длительное пребывание. В рамках программы Commercial Lunar Payload Services (CLPS) НАСА заключило контракты с такими коммерческими партнёрами, как SpaceX и Blue Origin, на доставку научных экспериментов и экипажей на лунную поверхность.

Однако ожидается, что эти усилия приведут к созданию постоянного форпоста и присутствию человека на Луне. Для этого потребуется гораздо больше услуг по обслуживанию экипажей и полезной нагрузки, чтобы обеспечить их долгосрочное существование. В недавно опубликованном техническом документе "Грузы для лунной поверхности" исследователи НАСА выявили значительный разрыв между существующими возможностями доставки грузов и будущим спросом. В документе указывается, что растущий спрос на грузы можно удовлетворить только путём создания "смешанного флота грузовых посадочных аппаратов".

Читать далее
Всего голосов 4: ↑3 и ↓1+5
Комментарии2
Новость

Показан прототип игровой консоли на ОС «Аврора» на железе Advan x Play индонезийского производителя на Ryzen 7 7840U

Время на прочтение2 мин
Количество просмотров2.8K

В Telegram-канале разработчика Алексея Гладкова показали рабочий прототип игровой консоли с установленной мобильной операционной системой ОС «Аврора» разработки компании «Открытая мобильная платформа» (ОМП, дочка «Ростелекома») на железе Advan x Play индонезийского производителя на базе Ryzen 7 7840U. Фактически это тестовая сборка на базе российской ОС, оптимизированная специально для игр. Например, там запускается и работает Doom 3.

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии36
Статья

Трансмировая идентичность: мультивёрсные двойники, границы «я», свобода воли и квантовое бессмертие

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров737

Спросите себя: кто я? А кого вы, собственно, спрашиваете? Почему я – это я, а не кто-то другой? Я в прошлом и я в будущем – это всё ещё я, или уже не я? Что делает меня мной? Что нужно изменить в моём теле и в моей психике, чтобы я перестал быть собой? Что во мне остаётся неизменным в течение всей жизни? Могут ли разные люди думать одни и те же мысли? Могу ли я в одних и тех же обстоятельствах принимать разные решения? Если меня усыпить и создать идентичную копию, кем из двойников я себя осознаю, когда проснусь? Все эти вопросы обретают новый смысл с точки зрения многомировой интерпретации Эверетта, согласно которой у каждого из нас есть множество двойников в параллельных мирах. Вы никогда не знаете точно, кем из этих двойников являетесь и в каком мире находитесь. Означает ли это, что вам нужно переопределить своё «я» или полностью от него отказаться, заменив местоимением «мы»? В этой статье мы разбираем все вопросы, связанные с тождеством личности, самоидентичностью в Мультивёрсе, расщеплением наблюдателя и свободой воли. Также мы разоблачаем популярный миф о квантовом бессмертии.

Читать далее
Всего голосов 4: ↑2 и ↓2+2
Комментарии10

Ближайшие события

Пост

Интересный пример, когда определение friend T (где T — шаблонный параметр) имеет смысл:

template <class T>
class Badge {
   friend T;
   Badge() { }
};

Допустим, у нас есть какой-нибудь публичный метод, и предполагается, что круг его пользователей ограничен одним классом, например:

class VFS {
   ...
public:
   void register_device(Device&);
   void unregister_device(Device&);
};

Предполагается, что эти методы будут вызываться внутри конструкторов (и деструкторов) Device и нигде (и никем) больше. Но как закрепить наше ожидание на уровне API?

Распространенное решение — вынести (un)register_device в приватную часть, а Device объявить другом:

class VFS {
private:
   friend class Device;
   void register_device(Device&);
   void unregister_device(Device&);
};

И это действительно запрещает всем кроме Device обращаться к данным методам. Но это так же разрешает Device обращаться ко всем остальным членам VFS!

Выразить же желаемое наиболее четко и ясно нам помогает как раз таки класс Badge, приведенный в самом начале статьи: мы можем оставить методы (un)register_device публичными, но при этом сделать их первым аргументом значение Badge<Device>:

class VFS {
    ...
public:
    void reg_Device(Badge<Device>, Device&);
    void unregister_device(Badge<Device>, Device&);
};

Теперь чужак не может использовать эти методы, потому что он не может сконструировать Badge<Device>, а а сам Device может вызывать их где и как пожелает:

Device::Device()
{
    VFS::instance().register_device({}, *this);
}

Теги:
+2
Комментарии2
Пост

Эмулятор Delta для запуска ретро-игр NES, Game Boy и Nintendo получил поддержку iPad. В бесплатном приложении появились скины, разработанные специально для iPad. Играть в эмуляторе можно в горизонтальной и вертикальной ориентации планшета, также там есть поддержка внешних игровых контроллеров.

В апреле 2024 года разработчик проекта Райли Тестут сообщил, что версия эмулятора ретро-игр Delta для iPad близка к завершению.

После выпуска Delta для iPadOS Тестут намерен добавить в приложение функцию мультиплеера. В эмуляторе уже есть функция совместного использования, но для одного игрока (это позволяет, например, играть на телевизоре с помощью AirPlay). Кроме того, Тестут намерен добавить эмуляцию Sega Genesis, сейчас эта опция находится в стадии бета-тестирования. 

Эмулятор ретро-игр Delta поддерживает игры для Super Nintendo Entertainment System, Nintendo Entertainment System, Nintendo 64, Nintendo DS, Game Boy, Game Boy Color и Game Boy Advance. В апреле 2024 года приложение появилось в App Store, до этого оно было доступно через AltStore. 

Теги:
0
Комментарии0
Статья

«Я хотел апельсин! А он выдал мне лимон-лайм»: как создавалась Deus Ex

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров1.1K

23 июня 2000 года студия Ion Storm Austin выпустила в свет легендарную Deus Ex.

Проект, объединивший в себе элементы ролевой игры, шутера от первого лица и приключенческой игры, окончательно оформил и закрепил в памяти игроков такой жанр как Immersive sim, основу которого ранее заложили проекты от компании Looking Glass Studio (LGS), такие, как Ultima Underworld, первый и второй Thief, и, конечно же, нельзя забывать про первый и второй System Shock.

Сегодня же я хотел бы рассказать более подробно о том, как создавался «венец», украсивший и, некоторым образом, завершивший ту плеяду игр от LGS и Ion Storm, которые в последующем стали вечно живой классикой.

A BOMB!
Всего голосов 13: ↑12 и ↓1+15
Комментарии1
Статья

pytest-unordered: сравнение коллекций без учёта порядка

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров841

Во время работы над проектом на Django Rest Framework (DRF) я столкнулся с необходимостью писать тесты для API, которые возвращали неотсортированные данные. Сортировка данных в API не требовалась, и делать её только ради тестов казалось нелогичным. Использовать для решения этой задачи множества оказалось невозможным, так как элементы множества должны быть хэшируемыми, коими словари не являются. Я искал встроенный способ сравнивать неотсортированные данные в pytest, но таких средств не нашёл. Зато наткнулся на обсуждение в сообществе pytest, где пользователи просили реализовать такую возможность, а разработчики pytest предлагали сделать это кому-то другому в виде плагина. Так родилась идея создания pytest-unordered.

Читать далее
Всего голосов 6: ↑5 и ↓1+6
Комментарии9
Статья

Сверхзвуковой высотный малозаметный фотоаппарат: Lockheed SR-71 Blackbird и его родственники

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров2.1K

Рекомендации для ЛЛ: не читать, минусовать.
Рекомендации для Хабра: какие-то глупости от нейросети, не читать, минусовать.

Предисловие

До того, как я начал писать эту статью, я думал что Lockheed SR-71 был отдельным, уникальным проектом. Я ошибался, все было не так.

Читать далее
Всего голосов 11: ↑7 и ↓4+7
Комментарии14
Статья

Популярная задача на собеседовании: сотрудники с максимальной зарплатой в отделе

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров17K

Кто ходил на собеседования по устройству на работу, тот знает, спрашивают там всякое и странное. Нередко можно встретить задачу SQL по нахождению сотрудников с максимальной зарплатой в отделе. Причем ваш потенциальный начальник считает, что у этой задачи есть только одно "правильное решение", то, про которое он прочитал в Интернете. Так ли это?

Любопытно...
Всего голосов 25: ↑20 и ↓5+17
Комментарии27
Статья

Как узнать количество перерисовок? React Custom Hook: useRenderCount

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров403

В этой серии статей мы отправимся в путешествие по миру пользовательских хуков React, открывая для себя их огромный потенциал для улучшения ваших проектов. Сегодня мы сосредоточимся на хуке useRenderCount, одном из многих тщательно разработанных хуков, доступных в коллекции пользовательских хуков React.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии0
1
23 ...