Search
Write a publication
Pull to refresh
-9
0

Software Engineer

Send message

Как я хакнул все районные школы, чтобы показать рикролл, и что из этого вышло

Reading time10 min
Views24K

30 апреля 2021 года автор проделал рикролл по своему школьному округу. Это не только моя школа, но и весь школьный городской округ 214 (далее — D214), один из крупнейших школьных округов в Иллинойсе, состоящий из 6 школ, в которых учатся более 11 000 человек.

Подробности рассказываем в этом пятничном посте к старту курса по этичному хакерству.

Читать далее

Кибербезопасность для самых маленьких

Reading time10 min
Views31K

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

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

Защитить данные!

Почему я изменил своё мнение о слабой разметке для ML

Reading time9 min
Views4.5K

Когда чуть больше года назад я впервые услышал о слабой разметке, то поначалу отнёсся к ней скептически. Суть слабой разметки (weak labelling) заключается в том, что можно заменить аннотированные вручную данные на данные, созданные по эвристическим правилам, написанным специалистами в соответствующей области. Мне это показалось совершенно нелогичным. Если можно создать очень хорошую систему на основе правил, то почему бы просто не использовать эту систему? А если правила недостаточно хороши, то разве не будет плохой и модель, обученная на шумных данных? Это казалось мне возвратом в мир конструирования признаков, которому должно было прийти на смену глубокое обучение.

Однако за последний год моё отношение полностью переменилось. Я поработал над множеством NLP-проектов, в которых было задействовано извлечение данных, и намного сильнее углубился в изучение литературы про обучение со слабым контролем. Также я пообщался с руководителями команд ML в таких компаниях, как Apple, где услышал истории о том, как целые системы заменяли за считанные недели — благодаря сочетанию слабого контроля и машинного обучения им удавалось создать обширные наборы данных для языков, ресурсов по которым было мало и которые раньше попросту не обслуживались!

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

Основы HTTPS, TLS, SSL. Создание собственных X.509 сертификатов. Пример настройки TLSv1.2 в Spring Boot

Reading time10 min
Views110K

Привет, Хабр! В современном мире абсолютное большинство сайтов используют HTTPS (Google даже снижает рейтинг сайтов работающих по HTTP в поисковой выдаче), а подключение к различным системам происходит по протоколу TLS/SSL. Поэтому любой разработчик рано или поздно сталкивается с этими технологиями на практике. Данная статья призвана помочь разобраться, если вы совершенно не в курсе что это такое и как оно устроено. Мы разберем как работает соединение по протоколу TLS, как выпустить собственные сертификаты и настроем TLS в Spring Boot приложении. Поехали!

Читать далее

Вычисляем на видеокартах. Технология OpenCL. Часть 1b. Пишем для OpenCL

Reading time9 min
Views12K
22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL».



После перерыва продолжаем публикацию текстовой версии вебинара.


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

У программы для OpenCL есть две части: kernel-код и host-код — то, что выполняется на видеокарте, и то, что выполняется на компьютере. Кроме того, программу нужно скомпилировать и запустить. Всё это будет рассмотрено в сегодняшней статье. Начнём с самого интересного — напишем часть kernel.

В предыдущих сериях


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

Си должен умереть

Reading time21 min
Views112K

Язык Си - один из наиболее влиятельных языков программирования за всю историю. Он стал незаменимым инструментом разработки операционных систем, сместив с этого пьедестала языки ассемблера. Изучение Си обязательно для любого уважающего себя программиста. Этот язык любим за свою внешнюю простоту и ненавидим за беспощадность к ошибкам. Благодаря нему у нас есть ядро Linux и тысячи уязвимостей в нём же в придачу.

Попробуем понять, что же такое этот противоречивый язык Си - благословение или проклятие?

Читать далее

Видеокарта на дискретной логике

Reading time8 min
Views24K

Всем привет. Эта третья статья про мой самодельный компьютер на логических микросхемах. Как вы догадались из названия, речь пойдет о видеокарте. Видеокарта – это, на мой вкус, лучшая часть этого проекта. Да, процессор – это интересно и круто, но всё же в нем много компромиссных решений. В видеокарте компромиссов почти нет. И рабочая частота у нее 25,175 МГц – это не жалкие 1,5 МГц у процессора.

Читать далее

Простое объяснение симуляции жидкости в реальном времени

Reading time28 min
Views17K
image

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

Код проекта можно найти на моём Github.


Ресурсы, посвящённые симуляции жидкостей, могут быть очень пугающими. Помню, что когда я впервые прочитал статью о ней и увидел уравнения Навье-Стокса, то был в ужасе. Со временем я понял, что сама тема совершенно не сложна. На самом деле, если бы вам дали задачу написать собственный симулятор жидкостей, то вы, вероятно, написали бы что-то подобное на основании интуитивного понимания работы жидкостей. Если, посмотрев на уравнения Навье-Стокса, вы подумали «ага, понятно», то вы, возможно, быстрее бы реализовали симуляцию жидкости, прочитав работы, перечисленные в конце этой статьи. Я же попытаюсь не использовать сжатое выражение и объяснять всё как можно медленнее.
Читать дальше →

Простая система ветровой эрозии на основе частиц

Reading time15 min
Views3.3K

Полный исходный код этого проекта, а также объяснение того, как его использовать и читать, можно найти на Github [здесь]. Проект рендерится при помощи моего собственного [TinyEngine].

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

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

Один из самых хорошо известных и производительных алгоритмов улучшения генерации рельефов на основе шума — это гидравлическая эрозия на основе частиц [перевод на Хабре]. Этот алгоритм чрезвычайно прост и обеспечивает отличные результаты относительно малыми усилиями.

Его результаты убедили меня дополнить эту систему потоками воды и водоёмами, что привело к созданию процедурной гидрологической системы [перевод на Хабре]. Используя упрощённую модель, система успешно передаёт многие эффекты реального мира, поэтому я заинтересовался в дальнейшем исследовании симуляции геоморфологии на основе частиц.

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

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

Блокчейн на JavaScript

Reading time7 min
Views27K
В последнее время криптовалюты и блокчейн-технологии стали невероятно популярными. Сегодня я расскажу о моём подходе к созданию блокчейн-платформы на JavaScript с использованием всего 60 строк кода. Я — начинающий блокчейн-разработчик, поэтому если я в чём-то ошибаюсь — поправьте меня в комментариях.


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

Мюонный катализ с точки зрения квантовой химии. Часть I: обычный водород vs. мюонный водород

Reading time18 min
Views14K


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

Суть первой части выражается одним предложением: мюон тяжелее, чем электрон, поэтому его сложнее отодрать от протона.

Но те, кто хочет посмотреть на формулки, графики, и узреть концептуальную суть квантовой химии в применении к наипростейшим (квази)атомам, welcome под кат.

Вторая часть доступна по этой ссылке.
Читать дальше →

Print to Perform от DASSAULT SYSTEMES для цифрового аддитивного производства

Reading time7 min
Views1.4K

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

Это действительно удивительная перспектива.

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

Чтобы иметь возможность оптимизировать процесс аддитивного производства и производить продукцию высшего качества необходимо объединить усилия всех участников процесса: конструктора, расчётчика и технолога. Это возможно осуществить на платформе 3DEXPERIENCE, на которой построено решение Print to Perform для реализации процесса цифрового аддитивного производства. Данное решение представляет собой сквозной процесс проектирования от создания первых эскизов и 3D моделей до выпуска управляющей программы для станка. Таким образом решение Print to Perform на платформе 3DEXPERIENCE объединяет в себе функционал сразу трех брендов компании DASSAULT SYSTEMES: CATIA, SIMULIA и DELMIA. От бренда CATIA у нас присутствует оптимизация формы и концептуальный вид, исследование альтернативных решений; бренд DELMIA обеспечивает настройку и оптимизацию размещения и ориентации деталей области печати, системы поддержек и создание управляющей программы для станка; бренд SIMULIA обеспечивает качественный прогноз построения детали: напряженно-деформированное состояние и поле температур с сохранением истории по времени, искажения, пористость, остаточные деформации, прогноз микроструктуры и фазовых превращений.

Читать далее

Использование STL для обработки сигналов в реальном времени. Доклад в Яндексе

Reading time23 min
Views7.2K
Компьютерные игры, обработка аудиосигналов в режиме реального времени и другие подобные приложения низкой задержки требуют, чтобы код был не только корректным. Он также должен исчислять требуемый результат надёжно за детерминированный срок выполнения. В этом докладе head of technology в компании Cradle Тимур Думлер timuraudio рассмотрел, в какой степени стоит использовать стандартную библиотеку С++ для создания приложений с подобными «real-time» ограничениями. Какие инструменты из стандартной библиотеки можно применять с уверенностью, что они не будут блокировать поток, ждать освобождения мьютекса, не будут выделять или освобождать память и совершать другие действия с недетерминированной задержкой? Каких средств из набора стандартной библиотеки следует избегать и почему? По пути Тимур обсудил малоизвестные и неожиданные аспекты этих привычных инструментов.

— Всем привет, меня зовут Тимур Думлер. Хочу сказать, что я обычно делаю доклады на английском языке. Это всего второй раз в жизни, когда я докладываю на русском, мне это немножко непривычно. Спасибо большое, что подключились, сегодня мы поговорим про использование стандартной библиотеки C++ для обработки сигналов в real-time.
Читать дальше →

Почему графику в видеоиграх по-прежнему так сложно создавать?

Reading time28 min
Views34K

Введение


В этом посте будут рассмотрены трудности и аспекты производства, которые нужно учитывать при создании новых методик и алгоритмов рендеринга/графики, особенно в контексте прикладных исследований рендеринга реального времени. Я буду рассказывать о своём личном опыте работы над Witcher 2, Assassin’s Creed 4: Black Flag, Far Cry 4 и God of War.

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

Я слышал вопросы типа «почему эта великолепная исследовательская методика X не используется в продакшене?» и от геймеров, и от коллег из научных кругов. На то всегда бывают очень веские причины!

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

Я вспоминаю об этой теме ещё и каждый раз, когда слышу дискуссии о том, что «фотограмметрия, трассировка лучей, нейронный рендеринг, [вставить любую другую новую тему] станет универсальным решением для рендеринга и заменит всё остальное!». Спойлер: этого не случится (по крайней мере, в ближайшее время).
Читать дальше →

Тональное качество вибраций, или Почему барабаны не прямоугольные?

Reading time7 min
Views7.3K

У науки есть огромное, бесконечное число достоинств, и одно из них состоит в том, что именно она способна кратко, точно и ёмко ответить на самые неожиданные в своей простоте, детские вопросы. Например: «Почему барабан круглый?» Если у вас есть дети или вы сами в детстве задавались этим вопросом, то в этом переводе, которым мы решили поделиться к старту флагманского курса о Data Science, вы найдёте два ответа: первый — подробный, в формулах, второй — краткий, понятный ребёнку ответ.

Читать далее

С чего начать внедрение ИБ большим и маленьким: изучаем CIS Controls v8

Reading time18 min
Views21K

Где кончается базовая ИБ-гигиена для небольшого бизнеса и начинается киберзащита для продвинутых? Центр интернет-безопасности (CIS) обновил рекомендации по внедрению ИБ для компаний разного масштаба в свежем гайде CIS Controls 8.

Предыдущие рекомендации CIS Controls 7.1 вышли в 2019 году. В версии 7.1 сделали упор на список практик для внедрения: что именно бизнес должен сделать для защиты. В восьмой версии этот подход сохранили и учли угрозы, связанные с “пандемийными” изменениями ИТ-ландшафта: массовой работой из дома, ростом мобильных пользователей, миграцией в облака. Например, появился отдельный раздел ― контроль безопасности сервис-провайдера (мимо такого пройти не cмогли). 

Мы изучили рекомендации CIS для разных бизнесов и выделили самое интересное.

Читать далее

Всюду опасности. Инфекции леса и их история изучения

Reading time39 min
Views9.1K

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

Читать далее

Как я искал работу в США во время пандемии, подался на 200 вакансий и получил оффер на $380K

Reading time41 min
Views42K

Украинский профильный ресурс DOU.UA опубликовал статью о нелегком пути релокации специалиста в США во время пандемии, где он также отвечает на дополнительные вопросы и комментарии.

Адам Леос — Senior Software Engineer в Roku. Пару лет назад он принял решение о релокации и в итоге выбрал своей целью США. Всего за три месяца Адам с нуля собрал все необходимое для подачи на визу О1, но потом в историю вмешалась пандемия. О том, с какими трудностями он столкнулся из-за карантина, как искать работу на американском IT-рынке, как получить большое количество офферов и выторговать самую выгодную компенсацию, разработчик рассказал в интервью DOU.UA

Читать далее

Как работает рендеринг 3D-игр: сглаживание с помощью SSAA, MSAA, FXAA, TAA и других методик

Reading time15 min
Views35K
image

3D-игры состоят из тысяч, если не миллионов разноцветных прямых линий и других рёбер. А из-за того, как происходит их обработка для вывода на экран, эти линии иногда могут выглядеть изломанными и искажёнными. В пятой части нашего исследования рендеринга в 3D-играх мы расскажем, какие методики используются для сглаживания рёбер миров, в которые мы играем. Хорошие новости — на этот раз математики будет не так много!

Первое изображение неба — история астрофотографии и технологии ее создания

Reading time8 min
Views7.9K

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

Читать далее

Information

Rating
8,082-nd
Registered
Activity