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

C#, C++, Lua

Send message

Опубликованы звукозаписи 19 000 часов переговоров во время лунной экспедиции «Аполлон-11»

Reading time3 min
Views19K

Одна из компьютерных распечаток списка треков с 30-канальной плёночной бобины Apollo. Указана информация о каждом из 30 треков

Многие слышали звукозапись легендарных слов Нила Армстронга, когда он вышел из лунного модуля Apollo 11 LM Eagle и ступил на дно Моря спокойствия в ходе лунной экспедиции «Аполлон-11»: «Один маленький шаг для человека и огромный скачок для человечества». Он произнёс их 20 июля 1969 года.

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

Тяжкое наследие прошлого. Проблемы командной строки Windows

Reading time28 min
Views79K
Предисловие от автора, Рича Тёрнера из Microsoft. Это статья о командной строке: от её появления и эволюции до планов капитального ремонта Windows Console и командной строки в будущих версиях Windows. Будь вы опытным профессионалом или новичком в IT, надеемся, что вы найдёте статью интересной.

Давным-давно в далёкой-далёкой серверной...


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

Одним из первых по-настоящему эффективных человеко-машинных интерфейсов стал Tele-Typewriter или «телетайп». Это электромеханическая машина с клавиатурой для ввода данных и каким-нибудь устройством вывода — сначала использовался принтер, позже экран.
Читать дальше →

Создаем чат на Node.js и Socket.IO

Reading time5 min
Views228K
В данной статье я попытаюсь показать, как можно создать простой чат, используя Node.js в связке с Socket.IO. Изначально я хотел построить чат на чистых Websockets, но столкнулся с практически полным отсутствием готовых реализаций сервера для них в Интернете. Так что решил не изобретать велосипед, а использовать готовую библиотеку.
В моем случае сервер работает под Ubuntu, поэтому все примеры будут для неё (и ссылки в примерах — на него же).

Установка компонентов

Первым делом нам потребуются собственно Node.js (инструкция по инсталляции и ссылки на скачивание здесь) и Socket.IO. Модули для Node.js проще всего устанавливать, используя менеджер npm —
curl http://npmjs.org/install.sh | sh
npm install socket.io

Серверная часть

Структура серверной части такова: сервер принимает сообщение, если это команда — выполняет определенные действия, если просто сообщение — рассылает всем остальным участникам.
Читать дальше →

Браузерный сетевой шутер на Node.js

Reading time17 min
Views24K
Разработка многопользовательских игр сложна по множеству причин: их хостинг может оказаться дорогим, структура — неочевидной, а реализация — трудной. В этом туториале я постараюсь помочь вам преодолеть последний барьер.

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


Поиграть в готовую игру можно здесь! При нажатии клавиш W или «вверх» корабль приближается к курсору, при щелчке мыши — стреляет. (Если никого нет онлайн, то чтобы проверить, как работает мультиплеер, откройте два окна браузера на одном компьютере, или одно из них на телефоне, ). Если вы хотите запустить игру локально, то полный исходный код выложен на GitHub.
Читать дальше →

Моё участие в разработке Uncharted 4

Reading time9 min
Views31K

После выпуска Uncharted 4 я уже могу рассказать о том, над чем работал в этом проекте. В основном я разрабатывал ИИ для напарников игрока в однопользовательском режиме и помощников в многопользовательском, а также немного работал над геймплейной логикой. Я опущу те аспекты, которые не добрались до готовой игры и некоторые мелкие детали.

Итак, приступаем:

Система постов


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

Посты — это дискретные позиции в пространстве навигации NPC, в основном создаваемые инструментами разработки и вручную размещаемые дизайнерами. В зависимости от наших потребностей, мы могли создавать различные селекторы постов для оценки разных типов постов (например, селектор постов скрытности, селектор боевых постов) и выбирать пост с самой высокой оценкой, чтобы отправить туда NPC.

Двойка вам, или аудит со взломом

Reading time8 min
Views24K

Как всегда без имен и названий, и так как я дополнительно связан подписью о неразглашении, еще и с немного видоизменённой историей (и опуская некоторые подробности, на публикацию которых я не получил разрешения).
Ниже следует реальная история проникновения на компьютер сотрудника… ну скажем некоторого частного банка. События, о которых повествует ваш покорный слуга, происходили в некоторой европейской стране не так что бы давно, еще до DSGVO (GDPR, RGPD) но в процессе становления оного, в преддверии так сказать.


Собственно началось всё с аудита безопасности — ..., интервью, разглядывания под лупой всего и вся, поиском и проработкой потенциальных лазеек и узких мест на пролезть (как туда, так и оттуда), ..., и собственно разбора полётов. На котором заказчик получил в итоге неутешительный для него вывод — "троечка с натяжкой".


Опустим слова, которые пришлось выслушать от краснеющих на глазах IT-безопасников, но общий лирический посыл таков — я бросаюсь голословными обвинениями, а у них — всё на замке, а ключ у CSO в кармане под сердцем.


Попытки объяснить, что система безопасности выстроенная вокруг firewall+proxy+webwasher like content-filter & antivirus, без какой-либо худо-бедно настроенной гибридной IDS (HIDS+APIDS), хонепотов и т.д. и т.п., во первых по определению не является безопасной, во вторых я же как бы показал уже несколько мест, где оно как минимум не комильфо. Попытки вернуться к конструктивному диалогу (собственно обратно к разбору) разбивались о трехэтажную стену обиды, выстроенную всем отделом.


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

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

Что за роботы-пауки летают над стадионами и снимают футбол. Интервью с создателем Robycam

Reading time12 min
Views47K
На чемпионат мира по футболу в России привезли сотни тонн оборудования. На каждом стадионе установлено по 34 суперсовременные камеры, которые транслируют картинку в HD, UHD и 4K HDR. Раньше их ставили только по краям поля, но с 2014 года камеры на чемпионатах мира летают прямо над головами спортсменов.

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


Фото: Movicom

15 малоизвестных свойств и методов объектов DOM

Reading time9 min
Views31K
При разработке современных веб-сайтов интенсивно используются возможности JavaScript по работе с DOM. Скрипты позволяют отображать и скрывать элементы, из которых строятся страницы, настраивать свойства этих элементов. У объектов DOM, с которыми взаимодействуют из программ, имеются свойства и методы. О некоторых из них, по мнению автора материала, перевод которого мы сегодня публикуем, знают практически все веб-программисты. А вот некоторые, о которых он и хочет здесь рассказать, пользуются куда меньшей известностью.


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

DIY House: кукольные домики для взрослых

Reading time5 min
Views37K


Если накрутить проволоку на зубочистку, получается отличный провод для крохотного телефона. Заточенный конец той же зубочистки — почти готовый карандашик. Желтые канцелярские резинки лежат без дела? При должном воображений из них можно свить отличные макароны. Есть целое направление умельцев, которые из пипеток, палочек от эскимо и обрезков упаковки сооружают миниатюры. Выглядит легко, но с первого раза повторить сложно, проверено. К счастью, существуют готовые наборы DIY House ― в каждой коробке лежат материалы и инструкция, чтобы смастерить очаровательную миниатюрную комнатку с работающей подсветкой. Собрали парочку и делимся впечатлениями.
Читать дальше →

Алгоритм поиска пути A* в воксельной 3d игре на Unity

Reading time7 min
Views19K

Введение


При разработке своей игры, я дошёл до момента создания первых NPC. И появился вопрос как заставить NPC обойти стену а не "идти в неё".


Полазив по интернету я нашёл такие алгоритмы:


  • Поиск в ширину (BFS, Breadth-First Search)
  • Алгоритм Дейкстры (Dijkstra)
  • А Star "A со звёздочкой"
  • Поиск по первому наилучшему совпадению (Best-First Search)
  • IDA (A с итеративным углублением)
  • Jump Point Search

И решил попробовать реализовать свой A* на воксельной 3д сетке.


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

Программа для удаленного управления рабочим столом — Aspia

Reading time3 min
Views111K
image Хочу представить общественности свою разработку – приложение для удаленного управления рабочим столом Aspia. Проект является полностью бесплатным и с открытым исходным кодом (GPL 3.0).

На данный момент реализованы следующие возможности:

  • Удаленное управление рабочим столом
  • Удаленный просмотр рабочего стола
  • Передача файлов
  • Адресная книга с поддержкой шифрования и мастер-паролем (XChaCha20+Poly1305, 256-битный ключ)
  • Возможность создавать пользователей с индивидуальными правами
  • Шифрование всей передаваемой по сети информации (XSalsa20+Poly1305)
Читать дальше →

Как русские довели до ума американский процессор, или обзор видеорегистратора AdvoCam-FD8 Gold-II (GPS+ГЛОНАСС)

Reading time11 min
Views14K
В прошлом году вот тут я рассказывал о передовом процессоре для авторегов Ambarella A12. Точнее о том, что китайские производители видеорегистраторов без тени смущения обманывают отечественных автомобилистов и под соусом крутых технологических флагманов с самыми актуальными спеками предлагают глючные видеорегистраторы с низким качеством съёмки. Ничего нового – самое-самое «железо» не даёт никаких преимуществ без стабильной проработанной прошивки и пряморуких инженеров. Китайское мошенничество началось в конце 2015 года и длится до сих пор. Русский бренд AdvoCam всё это время тесно сотрудничал с Ambarella и старательно сжав зубы от обиды за попранное китайцами большое дело «допиливал» свой собственный продукт. В мае 2018, спустя около четырёх лет разработки, вышел AdvoCam-FD8 Gold-II (GPS+ГЛОНАСС).


GitHub превращается… превращается GitHub… в элегантный Windows 95

Reading time7 min
Views81K


В Твиттере какое-то время назад запостили шутку в честь приобретения Майкрософтом ГитХаба — страницу сайта, перестилизованную в стиле Windows 98. Я решил, что шутка слишком хороша, чтобы оставаться шуткой.

Давайте перекрасим GitHub!

С++20 на подходе! Встреча в Рапперсвил-Йона

Reading time7 min
Views19K
В начале июня в городе Рапперсвил-Йона завершилась встреча международной рабочей группы WG21 по стандартизации C++.

Вот что вас ждёт под катом:
  • Контракты и друзья
  • Концепты (без друзей)
  • __has_cpp_attribute(unlikely)
  • bit_cast<my_stuff>(some_array)
  • contains, shift_left, shift_right, ispow2, ceil2… и старые алгоритмы под новым соусом
  • atomic_ref
  • Что нового можно писать в шаблонах и чем это полезно
  • constexpr virtual foo()
  • Parallelism 2, Reflection и Executors TS

Также будет бонус: минисекция для экспертов:

  • user-declared virtual destructor не влияет на тривиальность типа
  • Куда можно будет засунуть восклицательный знак и чем это может быть полезно
  • constexpr std::regex mail_regex(R"((?:(?:[^<>()\[\].,;:\s@\"]+(?:\.[^<>()\[\].,;:\s@\"]+)*)|\".+\")@(?:(?:[^<>()\[\].,;:\s@\"]+\.)+[^<>()\[\].,;:\s@\"]{2,}))")

Добро пожаловать под кат

Так-так-так, я всё вижу

Reading time12 min
Views64K
8 лет назад я написал на Хабре публикацию «Мой опыт восстановления зрения», в которой рассказал про свой опыт безоперационного восстановления зрения — путём закапывания капелек и различных упражнений. Тогда на Хабре ещё не было счётчика просмотров постов, поэтому те 75 тысяч просмотров — это многолетний поисковый трафик, лишний раз доказывающий очевидное — вопрос зрения беспокоит не только меня.



Сегодня я расскажу про второй опыт восстановления зрения, но на этот раз более радикальный и с каким-то вообще невероятным результатом. А именно — о лазерной коррекции по технологии ReLEx SMILE.

Простые, но неочевидные, советы по подготовке доклада на крутую конференцию

Reading time7 min
Views17K
В этом году мы, как никогда раньше, основательно подходим к работе над программой AppsConf — конференции для разработчиков мобильных приложений. Во-первых, у нас большой и классный программный комитет. Серьезно, чтобы в итоге отобрать около 60 докладов, 20 крутых профессионалов во всех мыслимых областях мобильной разработки работают с заявками уже с апреля месяца. Через их руки (глаза и уши на созвонах) уже прошло более 70 докладов, на основе которых сформировались некоторые советы о том, что для выступления хорошо, а что — плохо.

Советы эти естественно не связаны именно с тематикой конференции, а относятся к любому выступлению от специалиста для специалистов.

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

Что, если пришельцы окажутся машинами с искусственным интеллектом?

Reading time9 min
Views23K

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



Галактика «маленькое сомбреро», или NGC 7814

У нас есть проблема. В галактике возрастом 10 млрд лет должно быть полно возможностей для того, чтобы хотя бы один вид вырвался из своей помойки и расселился по звёздам, заполнив все ниши. То, что эти существа не пришли к нам, приводит нас к парадоксу Ферми – если жизнь не является невероятно редким явлением, то где все? Попытки сканировать небеса в поисках признаков разумной жизни ничем не увенчались, что только усиливает парадокс. Возможно, виноваты бескрайние бездны межзвёздного пространства и узкие временные рамки, в которых существуют способные общаться существа, находящиеся на достаточно небольшом расстоянии друг от друга, чтобы быть услышанными. Разум может быть похожим на мелкие судёнышки, проходящие в ночи в огромном океане. Встречи лицом к лицу могут оказаться чрезвычайно необычным явлением.
Читать дальше →

Запись белого шума на YouTube получила пять претензий от пяти разных правообладателей

Reading time3 min
Views65K
YouTube всемерно поддерживает правообладателей и следит за тем, чтобы их произведения не были выложены в том либо ином виде нелегально. В большинстве случаев процедура «восстановления справедливости» проходит вполне штатно — ролик, который нарушает чьи-то права, просто удаляют, либо же предоставляют правообладателям возможность получения прибыли с таких видео.

Бывают и курьезные случаи. Например, в одном из случаев YouTube убрал звуковую дорожку из видеозаписи многочасовой научной конференции. А все потому, что в перерыве в холле здания, где эта конференция проходила, звучала музыка, защищенная копирайтом. Еще более необычный случай произошел в 2012 году — тогда орнитолог, выложивший запись песен птиц на YouTube, получил сразу несколько претензий от компаний, объявивших, что щебетание (ну или кряканье и курлыканье) — это защищенные авторским правом звуковые ряды. Шум ветра тоже, оказывается, защищен законодательством и кому-то принадлежит. Но и это еще не все — на днях стало известно и вовсе об из ряда вон выходящем случае.

Алгоритм генерирования цветовых палитр

Reading time4 min
Views13K


Ищете красивую цветовую палитру для сайта? Недавно установили дома RGB-подсветку, или хотите покрасить комнату в новые цвета? Или купили клавиатуру с цветной подсветкой и хотите использовать её по полной? В какой бы ситуации вы ни оказались, наверняка постоянно настраиваете цветовые схемы.

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

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

[КЕЙС] Как мы делали макет ангара для Boeing 747

Reading time3 min
Views4.6K

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

Information

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