Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

В черном-черном океане живет черная-черная рыба с альбедо кожи 0.5%

Reading time2 min
Views43K

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

На фото рыба не кажется такой уж черной, потому что вспышки камеры очень яркие. Даже 0,5% отраженного света хватило, чтобы увидеть рыбку во всей красе.

Природа ничего не делает просто так. Некоторые существа, проживающие на дне океана, люминесцируют, привлекая жертв, плывущих на свет. Это разумный способ выживания. Черная рыба использует свою расцветку для того, чтобы спрятаться от хищников. Это альтернативный способ выжить.
Читать дальше →

Ты добавил всего две строчки. Почему на это ушло два дня?

Reading time3 min
Views64K
На первый взгляд вопрос кажется разумным, но он делает некоторые ужасные предположения:

  • строки кода = усилие
  • строки кода = значение
  • все строки кода равны

Ничто из этого не является истинным.

Почему исправление, которое кажется таким простым, заняло два дня?
Читать дальше →

«А Crysis потянет?» Почему до сих пор обсуждают игру, выпущенную 13 лет назад

Reading time17 min
Views82K
image

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

Для игроков на PC есть одна игра, ставшая почти легендарной благодаря своей невероятной, обогнавшей своё время графике и способности снижать фреймрейты компьютера до однозначных чисел. Позже она стала знаменитой благодаря тому, что на десяток лет превратилась в надёжный источник мемов. В этой статье мы расскажем о Crysis и о том, что сделало его таким уникальным.

Первые дни Crytek


Прежде чем погрузиться в историю Crysis, стоит совершить краткое путешествие во времени и узнать, как было заложено основание Crytek. Эта компания по разработке ПО была основана осенью 1999 года в Кобурге, Германия тремя братьями — Авни, Джеватом и Фаруком Йерли. Объединившись под руководством Джевата, братья начали создавать демо игр для PC.

Вооруженным глазом: наглядно о проблемах PostgreSQL-запроса

Reading time2 min
Views8.1K
Продолжаем открывать для публичного доступа новый функционал нашего сервиса анализа планов выполнения запросов в PostgreSQL explain.tensor.ru. Сегодня мы научимся определять больные места навскидку в больших и сложных планах, лишь мельком взглянув на них вооруженным глазом…


В этом нам помогут различные варианты визуализации:


Читать дальше →

USB-флешки: заряжать нельзя игнорировать

Reading time6 min
Views241K


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

Исправляем графический баг Mass Effect, возникающий на современных процессорах AMD

Reading time12 min
Views41K
image

Введение


Mass Effect — популярная франшиза научно-популярных RPG. Первая часть сначала была выпущена BioWare в конце 2007 года эксклюзивно для Xbox 360 в рамках соглашения с Microsoft. Спустя несколько месяцев, в середине 2008 года, игра получила порт на PC, разработанный Demiurge Studios. Порт был достойным и не имел заметных недостатков, пока в 2011 году AMD не выпустила свои новые процессоры на архитектуре Bulldozer. При запуске игры на PC с современными процессорами AMD в двух локациях игры (Новерия и Илос) возникают серьёзные графические артефакты:


Да, выглядит некрасиво.

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

Почему эта проблема так интересна? Баги, возникающие только на оборудовании отдельных производителей, встречаются довольно часто, и в играх они встречаются уже много десятилетий. Однако, по моей информации, это единственный случай, когда проблема с графикой вызвана процессором, а не графической картой. В большинстве случаев проблемы возникают у продуктов определённого производителя GPU и никак не касаются CPU, однако в данном случае всё совсем наоборот. Поэтому эта ошибка уникальна, а значит, её стоит исследовать.
Читать дальше →

Как найти скрытую камеру в съемной квартире или номере отеля

Reading time4 min
Views214K

Airbnb и его аналоги решают множество проблем со съемом жилья. Но такая аренда также включает и некоторые риски. Например, недобропорядочные собственники могут устанавливать скрытые камеры в квартирах, комнатах и домах и не сообщать о съемке своим постояльцам, тем самым нарушая закон.Аналогичным образом поступают и отели, хотя и гораздо реже, чем собственники жилья.

Случаев, когда постояльцы обнаруживают в своих комнатах и номерах скрытые камеры, становится все больше. Согласно результатам исследования, скрытые камеры находит 1 из 10 пользователей Airbnb. Не меньше таких устройств в отелях и хостелах. Представим масштабы проблемы, если учесть, что постояльцы обнаруживают далеко не все камеры, а только те, что установлены небрежно. Как обезопасить себя от шпионажа? Как минимум можно внимательно обследовать помещение, прежде чем поселиться в нем. В статье мы расскажем, что, где и как искать.

«Хардкор» и его технологии

Reading time10 min
Views36K
Главного героя реанимируют в помещениях научно-фантастической лаборатории. На экране дорогая аниматроника создаёт иллюзию того, что человека собирают по частям. Персонаж не помнит ничего, но приводящая его в чувство красотка представляется женой. За этим следуют её похищение, демонстрация отрицательных персонажей, постановка цели и череда кровавых сцен с большой долей насилия.

В принципе, подобное вполне могло быть боевиком конца восьмидесятых за авторством Пола Верховена. Киборги были в «Робокопе», потерянные воспоминания — в «Вспомнить всё». Разница с «Хардкором» лишь в том, что всё происходит с точки зрения главного героя. Все прыжки, удары и перестрелки выглядят на экране так, будто зритель смотрит глазами главного героя и действует его руками.

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


FPV Квадрокоптер: Фильтрация в Betaflight

Reading time5 min
Views26K



(Betaflight 4.1, на новых настройках еще не снимал)

Прошлая статья — От земли к FPV Квадрокоптеру: Введение

На днях, я все таки решил обновиться до Betaflight 4.2 и все вокруг советуют включить фильтрацию с двухсторонним DShot. К слову она была и в 4.1.

Для начала, давайте немного разберемся, что такое фильтрация и зачем она нужна.
По умолчанию Betaflight задает общие настройки фильтрации подходящие для большинства моделей. Но для достижения наибольшего перфоманса, фильтрация может быть настроена по другому, так как ее может быть излишне или не достаточно для потрепанного квадрокоптера.

Как мы ускорили кодирование видео в восемь раз

Reading time4 min
Views17K


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

Меня зовут Аскар Камалов, год назад я присоединился к команде видеотехнологий Яндекса. Сегодня я коротко расскажу читателям Хабра о том, как с помощью распараллеливания процесса кодирования нам удалось в разы ускорить доставку видео до пользователя.

Этот пост в первую очередь будет интересен тем, кто раньше не задумывался о том, что происходит под капотом видеосервисов. В комментариях можно задавать вопросы и предлагать темы для будущих постов.
Читать дальше →

Пришло время заменить GIF на AV1 видео

Reading time7 min
Views25K


Сейчас 2019 год, и нам пора бы принять решение относительно GIF (нет, речь не об этом решении! Здесь мы никогда не договоримся! — тут речь о произношении в английском, для нас это не актуально — прим. перев.). GIFы занимают огромное количество места (обычно по несколько мегабайт!) что, если вы веб-разработчик, полностью противоречит вашим желаниям! Как веб-разработчик, вы хотите минимизировать вещи, которые пользователям нужно скачать, чтобы сайт загружался быстро. По той же причине вы минимизируете JavaScript, оптимизируете PNG, JPEG, а иногда и конвертируете JPEG в WebP. Но что же делать со старичком GIFом?

Мощь множества ядер для укрощения кодека AV1

Reading time10 min
Views14K
image

Пролог


Периодически, я интересуюсь видеокодеками и тем, насколько они становятся эффективнее по сравнению со своими предшественниками. В свое время, когда после H264 вышел HEVC, мне было безумно интересно его пощупать, но мое железо того времени оставляло желать лучшего.

Сейчас же железо подтянулось, но и HEVC давно устарел, ему на смену жаждет придти открытый AV1, обещающий нам до 50% экономии по сравнению с 1080p H264, но если скорость качественного кодирования в HEVC кажется медленноватой (по сравнения с H264), то AV1 со своим ~0.2 fps деморализует полностью. Когда что-то кодируется настолько медленно, то это значит, что даже простой 10 минутный ролик, будет обрабатываться около суток. Т.е. чтобы просто посмотреть подходят ли параметры кодирования или нужно добавить немного битрейта, придется ждать не просто часами, а днями…

И вот, как-то раз, любуясь красивым закатом (кодека H264), я подумал: «А что, если натравить на AV1 все железо которое у меня есть одновременно?»
Читать дальше →

Баги, которые разрушили ваш замок

Reading time5 min
Views8.8K

Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он также создатель игры Empire, послужившей основным источником вдохновения для Sid Meier’s Civilization.


Цикл статей о Better C
  1. D как улучшенный C
  2. Баги, которые разрушили ваш замок
  3. Портируем make.c на D

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


А может, дело не в вас? Я покажу вам, что эти ошибки не ваша вина: это вина инструментов, и если только улучшить инструменты, то ваш замок будет в безопасности.


И вам даже не придётся идти ни на какие компромиссы.

Читать дальше →

Ставим и тестим RTX Voice на видеокартах Nvidia GTX серии

Reading time2 min
Views63K
Привет, Хабр, давненько не виделись!

Сегодня я бы хотел поделиться с Вами небольшим, да и чего уж там, простым способом установки RTX Voice на Nvidia GTX 10XX и 16XX видеокарты. А заодно и проверить, действительно ли RTX Voice так хорош?

Справедливости ради стоит добавить, что есть успешные установки и на GTX 9XX серию, но не всегда удачно.

Больше не user friendly: как интернет-монополии убивают конкуренцию и превращают пользователей в товар

Reading time14 min
Views27K
Если вы ещё не заметили — интернет уже не та либертарианская утопия, свободное конкурентное пространство и стартовая площадка с равными условями для каждого.

Такое время было, но прошло: расцвет эпохи гиков в интернете пришёлся на нулевые годы XXI века. Десятые годы стали эпохой транзита от изобретателей к маркетологам, предпринимателей к менеджерам, стартапов к корпорациям, конкуренции к монополизации.

Символическим концом этого транзита можно считать 2018 год, когда Google официально отказался от своего знаменитого морального императива Don't be evil. Вместо него теперь на главную Google в пору вешать не менее знаменитое Greed is good.

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


«Трон: наследие»: битва пользователя против программы

Современный интернет всё больше опирается не на возможность быть полезным людям, а пользоваться ими. Польза для юзера уже не основная их задача, а инструмент, помогающий приманивать людей побольше и удерживать их подольше, чтобы пользоваться ими.
Читать дальше →

Пишем телеграм бота на node.js

Reading time4 min
Views60K
С полным кодом можно ознакомиться по ссылке.

Сегодня мы будем разрабатывать телеграм бота на node js, который умеет выводить статистику зараженных коронавирусом по всем странам.

Прежде всего в контакт-лист телеграмма нужно добавить @botFather и написать ему команду /newBot. Далее задаем имя нашего бота и, если оно не занято, придумываем идентификатор бота, по которому его можно будет найти.


Вот и все, наш телеграмм бот готов и botfather поделился с нами API Token, благодаря которому мы сможем управлять ботом

Далее создадим новый проект, введем npm init и добавим файл bot.js в котором будет разрабатываться наш бот.
Читать дальше →

DHCP по VLAN на коммутаторах Cisco

Reading time3 min
Views143K
В данной статье хочу рассказать об очень удобной, по моему мнению, схеме IP-адресации в сети с и использованием VLAN.
В примере конфигурации будем использовать следующую схему:
image
Читать дальше →

Пора обновить ваш монитор

Reading time16 min
Views186K

Иллюстрация: Юлия Прокопова

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

Поэтому я оптимизирую настройки, чтобы показывать действительно, действительно хорошие буквы. Для этого необходим хороший монитор. Не просто нужен, а ОБЯЗАТЕЛЕН. А под «хорошим» я имею в виду настолько хороший, насколько это возможно. Это мои мысли, основанные на моём собственном опыте того, какие мониторы лучше подходят для программирования.
Читать дальше →

О смерти двойной загрузки и о единстве Windows и Linux

Reading time6 min
Views107K
Раньше моей рабочей машиной был ноутбук, созданный Apple. Я мог делать на нём практически всё что угодно: разрабатывать программы, писать тексты, сочинять музыку, да и много чего ещё. Но мне не давали покоя мысли о том, что я привязан к экосистеме Apple, о том, что я зависим от прихотей этой компании. Поэтому я приступил к поискам чего-то нового.

Я начал собирать рабочую станцию под задачи машинного обучения. Поставил в неё, кроме прочего, отличный процессор, много памяти, достойную видеокарту. Практически все мои задачи я решал в Ubuntu. Правда, для работы с текстами мне нужен был Microsoft Office. Онлайновый Office тогда ещё не появился, и, давайте называть вещи своими именами, LibreOffice — это просто ужас какой-то. Для меня решением стала двойная загрузка в конфигурации Ubuntu — Windows 10. Мне невероятно понравилось то ощущение свободы, которое испытываешь, переходя с ОС от Apple на Ubuntu. А возможности, которые открываются перед тем, кто сам собирает свой компьютер, практически бесконечны.



Двойная загрузка в течение долгого времени полностью меня устраивала. А когда я миллион раз ей воспользовался, появилась технология WSL (Windows Subsystem for Linux, подсистема Windows для Linux). Когда это случилось, я начал решать некоторые свои Linux-задачи в Windows. Правда, даже так, многого для полноценной работы мне ещё не хватало. Но теперь, с выходом WSL 2, у меня возникает такое ощущение, что новая версия WSL способна кардинальным образом изменить ситуацию. Сегодня я предлагаю поговорить о том, как, с помощью WSL 2, перенести задачи по разработке программ из Linux в Windows 10. Я расскажу о новых возможностях WSL 2, и о том, что можно ожидать от этой подсистемы в будущем.
Читать дальше →

Как дочка Роснано, продавшая с Ростехом тысячи камер в школы, делает «российские» камеры c дырявой китайской прошивкой

Reading time4 min
Views120K
Всем привет!

Я занимаюсь разработкой прошивок камер видеонаблюдения для b2b и b2c сервисов, а также участвующих в проектах видеонаблюдения федерального масштаба.

О том, как мы начинали, я писал в статье.

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

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


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

Об одних таких ребятах я сегодня и расскажу. Если честно, я не сторонник публичной порки нерадивых «импортозаместителей» — обычно принимаю решение, что отношения с такими компаниями нам не интересны, и на этом с ними расстаемся.

Но, однако, сегодня, читая новости в фейсбуке и попивая утренний кофе — чуть не разлил его, прочитав новость о том, что дочка Роснано, компания ЭЛВИС-НеоТек, совместно с Ростехом поставит десятки тысяч камер в школы.

Под катом — детали того, как мы их тестили.
Читать дальше →

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity