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

C#, C++, Lua

Send message

Tecno представила игровую консоль с AR-очками вместо монитора. Она круче Apple Vision Pro

Level of difficultyEasy
Reading time4 min
Views9.6K

Представьте, как вы лежите на диване, а у вас перед глазами телевизор с диагональю 200+ дюймов, на котором вы играете в «Ведьмака». Круче будет только делать то же самое в автобусе или в самолете, выведя перед собой виртуальный экран и изолировавшись от внешнего мира. Все это можно сделать при помощи новых очков Pocket Go от хорошо зарекомендовавшего себя китайского бренда Tecno. Если это не революция в игровом мире, то точно мощный шаг на пути эволюции. Особенно учитывая, что у вас на глазах будет не «плавательная маска», как в случае с Apple Vision Pro, а почти обычные легкие очки.

Читать далее

Утилиты на PowerShell для системных администраторов

Level of difficultyEasy
Reading time2 min
Views28K

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

ScanPC

Утилита сканирующая удалённый ПК и показывающяя версию ОС, информацию о дисках, железе, открытых портах из списка (22,445,80,8080,3389,5900,1112,2575,10050), установленных принтерах, пользователях вошедших в систему, список профилей пользователей в папке C:\Users, размер системных папок и фалов, папки с документами в профилях пользователей размером больше 100МБ.

Читать далее

Почему Facebook* не использует Git

Reading time8 min
Views42K

Я работаю над созданием Graphite, источником вдохновения для которого стал внутренний инструментарий Facebook. Когда я решил создать стартап с друзьями, то никогда раньше не слышал о Mercurial, хотя всегда страстно любил инструменты разработчика. Мой предыдущий опыт разработки включал в себя личные проекты, домашнюю работу в колледже, разработку для iOS в Google и развитие инфраструктуры в Airbnb. На протяжении всей моей карьеры использование git было таким же естественным, как воздух. Он настолько популярен, что лично я считал его единственным подходящим инструментом для создания изменений в коде и управления ими.

Забавно, что специалист по Mercurial Грегори Gregory Szorc работал рядом со мной в Airbnb, хотя я знал его только как приятного коллегу, но не представлял, что он контрибьютор.

В 2021 году мои коллеги по команде Томас и Ник раскрыли мне глаза. Они пришли из Facebook и, к моему удивлению, едва знали Git. Зато они имели глубокое понимание паттернов Mercurial и рабочего процесса Facebook на основе «многослойных diff» (stacked diff). Со временем они убедили меня в полезности этого паттерна и мы развернули направление развития компании, чтобы реализовать многослойные diff для разработчиков GitHub.

Но пост посвящён не нашему стартапу. Он о важном вопросе, не дававшем мне покоя последние три года. Почему фейсбукеры не пользуются Git? Зачем они выбрали Mercurial и создали на его основе собственные рабочие процессы? Я знаю что Google не пользуется Git, но это логично, культура разработки Google возникла на пять лет раньше Git. Facebook же был основан примерно в то же время, что и создан Git, около 2004 года, и ко времени, когда Facebook начал серьёзно выбирать инструментарий для управления исходниками, Git был старше и популярнее Mercurial. Так почему же Facebook не использует Git?

Читать далее

Как я не добился 60 fps на дистанции 256 чанков на Lenovo X201i

Level of difficultyEasy
Reading time12 min
Views7.1K

Летом накануне пандемии ударила как-то раз мне в голову блажь.

Почему бы не взять движок типа Wolf3D/ROTT и не доработать его до уровня, способного тянуть Minecraft, максимально сохранив при этом производительность? А в жертву при этом можно принести все "красивости", сведя задачу к максимально узкому случаю. Пусть герой, в стиле ретро, смотрит всегда строго перпендикулярно одной из координатных осей (как правило, это вертикальная ось, то есть взгляд направлен строго горизонтально), угол зрения по вертикали пусть составляет 45 градусов (это важно, но об этом ниже), а всё остальное решаем лютыми костылями.

Кармака на тебя нет!

Поведение Curl на macOS отличается от документированного. Apple считает, что это нормально

Level of difficultyEasy
Reading time3 min
Views9.6K

tldr: Apple считает, что все в порядке. Я нет.


28 декабря 2023 года в систему отслеживания ошибок Curl был отправлен отчет об ошибке 12 604. Мы получаем множество таких отчетов изо дня в день, так что сам по себе этот факт вряд ли был чем-то необычным. Мы читаем отчеты, проводим расследование, задаем дополнительные вопросы, чтобы увидеть, что мы можем узнать и на что нужно обратить внимание.


Название проблемы в этом случае было совершенно ясным: поведение флага --cacert несовместимо между macOS и Linux, и оно было зарегистрировано Юэдуном Ву.

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

Корутины C++ для чайников: пишем асинхронный веб-клиент

Level of difficultyMedium
Reading time24 min
Views36K

Написать этот материал меня побудило... отсутствие хороших статей по корутинам в C++ в русскоязычном интернете, как бы странно это не звучало. Ну серьезно, C++20 существует уже несколько лет как, но до сих пор почти все статьи про корутины, что встречаются в рунете, относятся к одному из двух типов. Или обзор начинается с самых глубин и мелочей, пересказывая cppreference, а потом автор выдыхается и все сводится к "ну а дальше все понятно, возьмите и примените это в своем коде", что напоминает известную картинку с совой. Либо иногда в статьях рассматривается применение корутин на примере генераторов, и этим все и ограничивается. Но, давайте будем честны, генераторы — это замечательно, но за все время моей многолетней карьеры разработчика я, вероятно, делал что‑то подобное генераторам разве что разок, в то время как асинхронный ввод‑вывод приходится использовать почти в каждом проекте. И поэтому меня гораздо больше интересует реализация асинхронного ввода‑вывода с использованием корутин, а не генераторы. Поэтому пришлось разбираться во всем самому.

Читать далее

GTA Vice City на маршрутизаторе TP-Link TL-WDR4900: как удалось этого добиться и на чём ещё запускали игры

Reading time3 min
Views4.7K

На днях стало известно о том, что группа KittenLabs смогла запустить знакомую практически всем читателям Хабра игру GTA: Vice City на роутере TP-Link TL-WDR4900 с задействованием AMD Radeon HD 7470, подключённой в качестве eGPU. Да, и операционной системой для всего этого послужил Debian Linux. Подробности — под катом.

Читать далее

Как калькуляторы вычисляют синус?

Level of difficultyEasy
Reading time3 min
Views58K

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

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

Читать далее

Как я случайно превратила свой сокращатель ссылок в приманку для мошенников

Level of difficultyMedium
Reading time7 min
Views62K

Пару месяцев назад я запустила сервис y.gy, навороченный сокращатель URL. Вызвано это было личной нуждой: в другом моём проекте, getwaitlist.com, используется множество реферальных ссылок, а доступные сервисы сокращения url не внушали мне доверия. В итоге я решила создать собственный инструмент, который наверняка окажется полезен не только мне.

Я разработала лучший в своём роде сокращатель со всеми возможными примочками, начиная с обширной кастомизации и заканчивая хорошей аналитикой трафика. Это всё, что мне было нужно. По аналогии со многими аналогичными инструментами я разместила интерфейс «Shorten Link» по центру домашней страницы. Регистрация для использования сервиса не требуется. Я сделала доступ бесплатным и неограниченным, опираясь на принцип: «бесплатность – лучшая маркетинговая стратегия». Закончив с настройкой, я без громких заявлений сделала релиз и начала потихоньку продвигать свой проект.
Читать дальше →

Настройка CI/CD для самых маленьких разработчиков

Level of difficultyEasy
Reading time8 min
Views55K

Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.

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

Читать далее

Королева кода: как Грейс Хоппер сделала компьютеры доступнее

Level of difficultyEasy
Reading time9 min
Views5.2K

Имя программистки Грейс Хоппер не на слуху, однако именно она сыграла ключевую роль в превращении компьютеров из недоступных вычислительных машин в удобные для пользователя инструменты. В кругах специалистов ее называют «невероятной Грейс», «бабушкой софта» и даже «королевой кода». Эти громкие звания Хоппер получила благодаря своей работе над первым компилятором, а также одним из первых языков программирования. Рассказываем о ее жизни и изобретениях. 

Читать далее

Почтовый сервер с нуля. Часть первая

Level of difficultyMedium
Reading time17 min
Views76K

Очень часто на этапе стажировки новых сотрудников мы в нашей компании сталкиваемся с типичными простыми ошибками, непониманием работы DNS и почты. При этом обучение новых сотрудников по этой теме — достаточно длительный и сложный процесс, так как сами вопросы требуют построения сложных логических цепочек в голове у начинающего инженера. В один момент мы составили свою вики и схемы для обучения и решили поделиться этим опытом на Хабре в виде серии статей, чтобы людям, которые решили связать свою жизнь с IT вообще и администрированием в частности, стало проще. Материалы этой серии предназначены для начинающих администраторов.

В этом материале будет представлена связка полноценного почтового сервера в виде Exim4+Dovecot+PostfixAdmin+RainLoop.

Читать далее

Притча о нулевом указателе для ленивых C программистов

Level of difficultyEasy
Reading time2 min
Views10K

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


Притча о нулевом указателе

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

SQL инъекции для продолжающих: ломаем настоящий сайт

Reading time5 min
Views27K

Про SQL-инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL-инъекций на примере уязвимого сайта.

Статья предназначена для тех, кто хочет на практике разобраться с тем, что такое SQL-инъекции.

Читать далее

Когда лучше купить МФУ, а когда принтер и сканер по отдельности

Level of difficultyEasy
Reading time8 min
Views6.1K

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

Читать далее

Стоит ли устанавливать в игровой компьютер 2 видеокарты?

Level of difficultyEasy
Reading time7 min
Views62K

Установка новой видеокарты - это рост графической производительности, увеличение фпс, фреймтайма и, конечно, качества самой картинки. Но видеокарты - особенно мощные - стоят недешево, поэтому некоторые умельцы предпочитают использовать вместо одной мощной модели пару штук послабее и подешевле. В свое время, еще до появления линейки GeForce RTX, такие спецы умудрялись запускать игры в 4К на базе двух GTX 1080. А что, если взять две RTX 4070 Super? Представляете, какая будет производительность? Но не все так просто.

Читать далее

Почему художники не любят нейросети и как это решить

Level of difficultyEasy
Reading time10 min
Views6.5K

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

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

В чем причина этой проблемы, надо ли ее решать и как решить. Об этом настоящая статья.

Читать далее

Проверяем Blender

Level of difficultyMedium
Reading time16 min
Views8.9K

Командный центр PVS-Studio: "Как быстро летит время... А ведь в этом году, второго января, Blender исполнилось 30 лет! Как будто ещё вчера мы публиковали статью с разбором ошибок... Как 8 лет назад? Надо срочно исправлять ситуацию!".

Читать далее

Фишинг «фичи» Телеграма

Level of difficultyEasy
Reading time4 min
Views44K

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

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

Читать далее

Information

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