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

C#, C++, Lua

Send message

Сравнение коннекторов USB-C за 5 и 20 центов

Reading time2 min
Views57K
Давайте сыграем в игру «Какая деталь дешевле?»

Вот два 16-контактных коннектора USB-C. Один стоит примерно 20 центов, а другой — примерно 5 центов при заказе от 100 штук.

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

Что делать, если украли смартфон

Reading time10 min
Views175K
image


Евгений (MalDeckard) Черешнев поделился личным опытом и написал исчерпывающий гайд, который может помочь многим людям и предостеречь от последствий:

У меня на днях украли смартфон — профессиональный вор-велосипедист на скорости выхватил из рук прямо в центре города и был таков. Это может случиться с кем угодно и в любой стране мира. Я, в силу профессиональной деформации вокруг IT, данных, приватности и безопасности, к ситуации был морально готов и знал, что делать. Друзья, с которым поделился историей посоветовали написать памятку, которую может использовать каждый человек, даже далекий от айти. Этот текст — эта самая памятка. Смартфон она вам не вернет. Но, если кому-то поможет снизить ущерб и сэкономит седых волос — значит, не зря потратил время на написание, а вы — на прочтение.

Справедливости ради, большинство воров уже в курсе того, что каждый смартфон — это, по сути, радиомаяк, по которому всегда можно укравшего отследить. Поэтому они редко оставляют его включенным — практически сразу достают и выбрасывают SIM-карту, сам телефон вырубают и сдают на запчасти за копейки. Что крайне обидно — ибо шансы того, что, например, мой iPhone 12 Pro Max 512 банально разберут на экран, аккумулятор и несколько особо востребованных микросхем — стремятся к 100%. То есть, вор украл крайне дорогой девайс, а получит за него или хрен или (если он идиот) — срок. Но это не всегда так. Иногда можно получить реально грузовичок и тележку проблем. Во-первых, в ряде типов краж (как в моем случае) телефон попадает в руки плохого парня в разлоченном состоянии и есть риск, что злоумышленник девайс специально не залочит — будет держать его активированным и извлекать из него максимальную пользу, на что у него будет в теории до 24ч (после чего сработает система защиты в заводских настройках и снова попросит ввести пин-код, даже, если телефон до сих пор разлочен).
Читать дальше →

Восстановление RAID томов в Windows Storage Spaces: Parity, Чередование, Зеркало, Составной

Reading time4 min
Views8.2K
Отказал аппаратный RAID5, собранный под Windows Storage Spaces, на ОС Windows Server 2019? Вы переустановили ОС, один или несколько дисков не работают, весь массив стал недоступен? В обзоре мы расскажем, как заставить его работать и восстановить данные.

image

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

Реверс-инжиниринг тетриса на Nintendo для добавления Hard Drop

Reading time16 min
Views4K

Тетрис на Nintendo — одна из моих любимых версий тетриса. Моя единственная жалоба заключается в том, что ему не хватает возможности «Hard Drop» — мгновенного падения текущей фигуры и её фиксации на месте. Давайте её добавим

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

Читать далее

[Личная история] Япония: IT-гиганты, стартапы, не такая уж и закрытая страна для иностранцев

Reading time13 min
Views32K

Не первый раз слышим мнение, что Азия — недооценённое направление для релокейта. Наш герой переехал в Японию, зная одно только Konnichi wa. И нашёл работу в местном IT-гиганте, а затем переключился на развитие собственного стартапа.


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




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

Один бинарник, любое окружение. Магия чистого C

Reading time5 min
Views35K


Как мы представляем себе кроссплатформенность? Мы пишем программу на языке, который либо компилируется в исполняемый файл отдельно для каждой поддерживаемой платформы, либо использует разновидность виртуальной машины вместо бинарника (и тогда эта среда должна присутствовать в целевых системах). Есть также и низкоуровневые языки, на которых писать серьёзные программы менее удобно, чем на высокоуровневых монстрах со своими компиляторами или рантаймами, но зато такие программы менее требовательны к предустановленному софту или наличию ОС в принципе, как и менее разборчивы в архитектуре. И всё же, есть возможность писать один и тот же код и собирать один и тот же бинарь под все популярные архитектуры и ОС (и даже bare metal), и эта возможность появилась благодаря гениальной Justine Tunney. Она написала Cosmopolitan, библиотеку на C, позволяющую исполнять один и тот же код на любой машине, подобно Java… но без какого-либо предустановленного интерпретатора или виртуальной машины! Один и тот же скомпилированный файл может исполняться как минимум в любом дистрибутиве Linux, на Mac OS, Windows NT, FreeBSD, OpenBSD, и NetBSD и на bare-metal на x86 и ARM*. Это настоящая магия.

Ломаем зашифрованный диск для собеседования от RedBalloonSecurity. Part 0x00

Level of difficultyHard
Reading time8 min
Views15K

По мотивам
Часть 0x00
Часть 0x01
Часть 0x02

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

Пустится в приключение

На коленке: агрегация VPN, или Надежная связь на ненадежных каналах

Reading time8 min
Views22K

Представьте задачу: необходимо обеспечить стабильным интернетом и покрыть бесшовным Wi-Fi здание площадью 300 м2 с возможной расчетной нагрузкой до 100 человек. На первый взгляд, "вроде изян". Но стоит добавить пару деталей, и задача усложняется: здание стоит в лесопарковой зоне, где нет оптики, а бюджет ограничен.

Итого: потери и отвалы от базовой станции подкрадываются в самое неподходящее время. 

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

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

Читать далее

Собрать сервер для глубокого обучения за пол ляма может и ребенок. Или нет?

Reading time12 min
Views35K

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

Читай как собрать комп для 4х GPU

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

Reading time7 min
Views21K
Эта статья дает возможность познакомиться с такой методикой получения и восстановления сигнала, как Compressive Sensing.

image
Множество всех возможных изображений 2 на 2 с цветами, закодированными одним битом

Пространство изображений огромно, невероятно огромно, но при этом очень мало. Задумайтесь об этом на минуту. Из сетки размером всего 8 на 8 пикселей можно создать 18 446 744 073 709 551 616 различных чёрно-белых изображений. Однако из этих 18 квинтиллионов изображений очень немногие покажутся осмысленными человеческому взгляду. Большинство изображений, по сути, выглядит как QR-коды. Те, которые покажутся человеку осмысленными, принадлежат к тому множеству, которое я называю естественными изображениями. Они представляют крошечную долю пространства изображений 8 на 8. Если мы рассмотрим мегапиксельные изображения, то доля естественных изображений становится ещё меньше, почти ничтожной, однако содержит любое изображение, которое можно придумать. Так чем же эти естественные изображения так уникальны? И можем ли мы использовать эту фундаментальную разницу в собственных интересах?
Читать дальше →

BungeeCord и Minecraft: Проблемы безопасности и опасности

Reading time6 min
Views25K

Коротко о Bungee


BungeeCord — прокси-сервер, позволяющий игровым проектам объединять несколько серверов Minecraft с возможностью быстрого переключения игроков между ними.

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

Коротко, где чаще всего используется BungeeCord:

  • Сервера с несколькими игровыми режимами (в том числе, сервера с мини-играми)
  • Сервера с высокой нагрузкой и необходимостью распределения онлайна
  • Сервера, использующие защиту от бот-атак на основе BotFilter (характерный признак такого сервера — «проверка на падение» или капча при входе)

image

Наиболее распространенные уязвимости таких серверов:

  • Неконтролируемый доступ к командам прокси-сервера
  • Обход сервера авторизации
  • Подмена данных игрока
  • Уязвимости модулей промежуточных серверов
Читать дальше →

Как я нашел в публичном доступе исходники нескольких сервисов ФНС

Reading time4 min
Views101K

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

Читать далее

Как этот год работала наша внутренняя служба гражданской обороны — от первых слухов до развития кризиса

Reading time10 min
Views13K
image

У нас есть в составе служба охраны труда, служба гражданской обороны и чрезвычайных ситуаций — такая должна быть в крупной компании в принципе. Я расскажу, как именно работала эта служба, когда чрезвычайная ситуация началась, — от начала кризиса до текущей его стадии, когда уже всё более-менее успокоилось.

У нас было 40 тысяч масок, 5 тысяч респираторов, 10 тысяч перчаток и 350 литров антисептиков, но опасение вызывала информированность. Не то чтобы это был необходимый запас для офиса, но раз уж вы начали готовиться к ковиду, то становится трудно остановиться. Началось всё ещё весной 2020, когда половина офисных сотрудников в эпидемию не верила, а другая половина бегала в панике и не знала, как защищаться. У нас работает больше 2500 человек, поэтому было важно организовать процессы, связанные с этим всем.

В первую очередь мы взялись за сбор и оценку информации и сделали отдельную поддержку чисто по COVID-19.

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

DBA: когда почти закончился serial

Reading time10 min
Views8.3K

"Шеф, всё пропало, у нас serial на мегатаблице кончился!" - а это значит, что либо вы его неаккуратно накрутили сами, либо у вас действительно данных столько, что разрядности integer-столбца уже не хватает для вашей большой и активной таблицы в PostgreSQL-базе.

Да и столбец этот не простой, а целый PRIMARY KEY, на который еще и ряд других немаленьких таблиц по FOREIGN KEY завязан. А еще и приложение останавливать совсем не хочется, ибо клиентам 24x7 обещано...

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

Читать далее

PostgreSQL Antipatterns: обновляем большую таблицу под нагрузкой

Reading time6 min
Views33K
Как стоит поступить (а как точно не надо), если в «многомиллионной» активно используемой таблице PostgreSQL нужно обновить большое количество записей — проинициализировать значение нового поля или скорректировать ошибки в существующих записях? А при этом сохранить свое время и не потерять деньги компании из-за простоя.


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

Большая марсианская проблема — энергия

Reading time7 min
Views29K

Вы слышали о планах SpaceX отправить нас на Марс и построить долгосрочную базу. Изыскания человечества в межпланетном пространстве! Звучит фантастически, правда? Но с Марсом есть одна вопиющая проблема, о которой мало кто говорит. Это не токсичная почва, не смертельная радиация, не разреженная атмосфера, слабая гравитация или ничтожное количество воды. Даже если мы решим эти проблемы, Марс не станет нам уютным домом. Большая проблема заключается в энергии.

Узнать подробности

Три технологии, которые убил Google

Reading time5 min
Views27K
image

Из поискового движка Google превратился в настоящего гиганта — теперь вместо простого поиска по другим веб-сайтам он предоставляет и всевозможные другие услуги.

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

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

Однажды Microsoft забанила всю мою страну за читерство

Reading time15 min
Views27K

Об игре


Club Bing — это набор игр, в которые можно было играть в 2007-2012 годах. Все игры были связаны со словами, в них нужно было играть онлайн, чтобы зарабатывать очки, которые можно было тратить в онлайн-магазине для покупки призов. Одна из игр называлась Chicktionary. Цель игры: использовать 7 букв, чтобы составить как можно больше слов.


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

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

  • 123 Main St. Apt #1, Anywhere, YZ, USA
  • 123 Main St. Apt #2, Anywhere, YZ, USA
  • 123 Main St. Apt #3, Anywhere, YZ, USA

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

Почему вы должны попробовать Rust

Reading time16 min
Views46K

Это ознакомительная статья о языке программирования Rust и его инструментах, с помощью которой я надеюсь привлечь ваше внимание к этому интересному и уникальному языку, созданному чтобы дать ответ на следующие вопросы разработчиков:

Как убедиться, что в моем приложении нет проблем и уязвимостей, связанных с неправильной работой с памятью? Как быть уверенным в том, что любой доступ к общим объектам правильно защищен? Как свести к минимуму любую работу, не связанную напрямую с написанием кода?

Цель данной статьи не рассказать о доселе невиданных возможностях Rust (сразу говорю, что тут ничего нового "Растоманы" не найдут), на Хабре вы итак найдете множество интересных статей о внутренностях языка и интересных случаев использования. Моя цель рассказать о том, что он предлагает в качестве решения обозначенных выше проблем, как это будет выглядеть со стороны программиста, и почему это важно.

Читать далее

Что такое LLVM и зачем он нужен?

Reading time9 min
Views101K

Всем привет! Думаю, у многих сразу возник другой вопрос — а зачем вообще нужна ещё одна статья про LLVM, ведь на хабре их и так больше сотни? Моей задачей было написать "введение в тему" for the rest of us — профессиональных разработчиков, не планирующих создавать компиляторы и совершенно не интересующихся особенностями устройства LLVM IR. Насколько я знаю, подобного ещё не было.


Главное, что интересует практически всех — и о чём я планирую рассказать — вынесено в заголовок статьи. Зачем нужен LLVM, когда есть GCC и Visual C++? А если вы не программируете на C++, вам стоит беспокоиться? И вообще, LLVM это Clang? Или нет? И что эти четыре буквы на самом деле означают?

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

Information

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