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

C#, C++, Lua

Send message

Сравнение известного ПО, способного восстанавливать данные с накопителей ReFS

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

image

Зеркала в Duke Nukem 3D

Reading time2 min
Views48K
image

Году эдак в 1998, я раздобыл редактор уровней для Duke Nukem 3D, и первым делом я создал собственный уровень, где поставил два зеркала друг напротив друга, зеркальный коридор. Загрузился в эту карту, вошел между зеркалами и игра зависла.

Недавно энтузиаст решил проверить все свойства зеркал в Duke Nukem 3D. Нашел много забавного и интересного.
Читать дальше →

Делаем вечную лампочку

Reading time3 min
Views303K
На упаковках светодиодных ламп указывают срок службы 30, 40 или 50 тысяч часов, но многие лампочки не живут и года.

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

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

Боль разработчика: «Никогда не давайте пользователям бесплатный тариф»

Reading time7 min
Views89K


Если вы запускаете какой-то сервис в интернете, всегда есть соблазн предложить бесплатный тариф, чтобы завлечь публику.

Вы думаете, что людям понравится — и они захотят перейти на нормальный тариф с полными функциями. Это большая ошибка. Если человека полностью устраивает бесплатный тариф, то он на нём останется навсегда!

И будет требовать от вас надёжного сервиса, новых функций и предъявлять претензии. Чем меньше платит пользователь — тем больше шуму он поднимает в социальных сетях и тем больше поддержки требует. Отрицательные отзывы идут именно от бесплатных юзеров, а не от платных (это вполне логично, если подумать).
Читать дальше →

Есть ли жизнь без WebGL 2.0?

Reading time11 min
Views10K

WebGL 2.0 вышел в далёком 2017ом году, принёс графический стек OpenGL ES 3.0 (2012го года), и, казалось бы, все современные браузеры давно должны были его поддерживать. Однако, среди лидеров затесались отстающие, и пользователи Safari до сих пор (начало 2021го) вынуждены ограничиваться возможностями WebGL 1.0, опубликованным в 2011ом году на основе OpenGL ES 2.0.

PBR освещение достаточно требовательно к вычислительным ресурсам графического процессора и обычно реализуется средствами WebGL 2.0. Возможно ли адаптировать PBR рендерер графического движка для работы в условиях ограничений WebGL 1.0 на iPad? В этой статье описывается опыт такой адаптации для графического движка открытого C++ фреймворка Open CASCADE Technology.

Читать далее

Sourcetrail: инструмент, чтобы разобраться в чужом коде и не выстрелить себе в голову

Reading time5 min
Views14K


I regret to report that I've just recently looked again at my programs for prime factors and tic-tac-toe, and they are entirely free of any sort of comments or documentation.
— Donald E. Knuth

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

Такое случается даже со своими программами и скриптами, написанными на write-only ЯП.

Разработчики, имеющие дар работать с таким кодом высоко ценятся в коллективе.

Такое чудо-лабиринты из кода бывают, когда исходный код имеет:

  • Непоследовательный стиль разработки
  • Чересчур сложную и запутанную структуру программы
  • Очевидные логические ошибки или упущения
  • Запущенность

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

Запускаем код для Arduino в браузере

Reading time4 min
Views10K


WebAssembly позволяет запускать код на разных языках программирования внутри браузера, и сейчас это не только способ разрабатывать веб-приложения не на JS, но и возможность использовать браузер как кроссплатформенную, легкодоступную песочницу для тестирования. Например, проект Wasmino позволяет эмулировать ядро Arduino в браузере и запускать на нём код прямо из IDE.
Читать дальше →

Делаем аппаратную кнопку выключения звука в Zoom

Reading time6 min
Views10K
Недавно Instagram показал мне рекламу специальной кнопки для выключения звука в Zoom, которая оказалась для меня уж очень актуальной.



Да, я каждый день на созвонах в Zoom. Да, у меня есть ребёнок, который часто вмешивается в эти звонки. Алгоритм выдачи рекламы Instagram, ты победил, мне нужна эта кнопка.

Но у меня есть предубеждения. В Instagram рекламируется проект с Kickstarter. К тому же, я не хочу делать свой вклад в доходы от рекламы Facebook, даже нажимая на этот ролик. Выражение Дженни Оделл «Бесплатных часов не бывает» полностью описывает мою точку зрения на качество продуктов в рекламе Instagram. Кроме того, мой лимит на финансирование проектов с Kickstarter практически исчерпался.

Я поддерживал множество проектов на Kickstarter, и иногда результат этих проектов напоминал мне гамбургер, который Майкл Дуглас получил в фильме «С меня хватит!».

Сделаем худший Vue.js в мире

Reading time5 min
Views17K
Некоторое время назад я опубликовал похожую статью про React, где с помощью пары строк кода мы создали крошечный клон React.js с нуля. Но React — далеко не единственный инструмент в современном фронтенд-мире, Vue.js стремительно набирает популярность. Давайте разберемся, как работает этот фреймворк, и создадим примитивный клон, похожий на Vue.js, в образовательных целях.

Реактивность


Как и React.js, Vue является реактивным, то есть все изменения в состоянии приложения автоматически отражаются в DOM. Но в отличие от React, Vue отслеживает зависимости во время рендеринга и обновляет только связанные части без каких-либо «сравнений».

Ключ к реактивности Vue.js — это метод Object.defineProperty. Он позволяет указывать настраиваемый метод getter / setter для поля объекта и перехватывать каждый доступ к нему:
Читать дальше →

История жизни и смерти хакера, взломавшего пентагон и NASA в 15 лет

Reading time10 min
Views132K


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

Вторая жизнь пыльного Андроида

Reading time4 min
Views107K

Три мысли всё не давали мне жить спокойно:

1) есть ноутбук, но для работы нужен второй экран
2) давно мечтаю о пульте управления для Photoshop в дополнение к клавиатуре
3) на полках пылятся устаревшие гаджеты, которые продавать глупо, а выкидывать жалко

Решим одно за счёт другого

Частые ошибки в настройках Nginx, из-за которых веб-сервер становится уязвимым

Reading time8 min
Views66K

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

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

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

Читать далее

Прочти меня: код, который не выбесит соседа

Reading time10 min
Views28K


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

Я расскажу о подходах, которые мы используем в Яндекс.Такси для написания читаемого кода на C++, Python, JavaScript и других языках.
Читать дальше →

Как мы с братом алмаз делали

Reading time6 min
Views127K

Наверное кто-то задумывался, а можно ли сварить алмаз «на кухне и/или на коленке». Можно! Я решился рассказать, как мы с братом это делали.

Читать далее

Как эффективно разделить пинг

Reading time7 min
Views11K


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

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

Win 10 Tweaker — быстрая оптимизация Windows в несколько кликов, которая может сломать систему

Reading time4 min
Views211K


Всем привет! Меня зовут Тилек, и я пользуюсь Windows. Меня эта операционная система вполне устраивает. У меня видавший виды б/у-ный служебный ноутбук HP ProBook 4540s, который у меня с 2015 года. Модель старая, да и сам ноут не новый, и с тех пор он успел побывать несколько раз в ремонте. В начале прошлого года я перешел с Windows 7 на Windows 10, и тогда скорость работы ноутбука заметно снизилась. Я искал программы по оптимизации ОС, которые могли бы увеличить производительность и быстродействие. Тогда я и наткнулся на Win 10 Tweaker.
Читать дальше →

О Twitter'е бедном замолвите слово

Reading time3 min
Views30K

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

Некоторые спекуляции и наблюдения — под катом.

Читать далее

Обновление и продление поддержки Windows на банкоматах, платежных киосках и кассах

Reading time9 min
Views6.9K

Почему в 2020 году многие банки и торговые сети начали массово обновлять устройства самообслуживания, ККМ и операционные системы? Как сориентироваться в многообразии ОС и вариантах обновлений? Как сэкономить на обновлении и не платить дважды? Кто и как должен обновить программное обеспечение на банкоматах и прочих устройствах? Что делать, если ОС обновить невозможно технически? На эти и другие вопросы отвечают Валерий Дробышевский, директор департамента IoT компании «Кварта Технологии», и Дмитрий Ахтанин, руководитель направления по развитию ПО и решений по безопасности, «ЛАН АТМсервис» (входит в группу ЛАНИТ).

В начале 2020 года произошло важное событие, отразившееся на функционировании устройств как в банковском, так и в других секторах, — окончание поддержки Windows 7 корпорацией Microsoft. Оно породило волну задач, связанных с обновлением не только операционной системы, но и зачастую всего парка устаревших устройств самообслуживания и ККМ. Таким образом, окончание поддержки Windows 7 «подтолкнуло» процессы естественной модернизации оборудования.

Для того чтобы понять, что это значит для индустрии «умных» устройств, нужно сказать несколько слов о том, что, собственно, представляет собой «поддержка Microsoft».

В чем польза обновлений?

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

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

Читать далее

Как править мозги Mercedes, если играться с программируемыми калькуляторами уже надоело

Reading time6 min
Views144K


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


Заинтриговал. Пожалуй, почитаю

Information

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