Search
Write a publication
Pull to refresh
3
0
Сергей @jauseg

User

Send message

Седина в голову, интернет в ребро

Reading time7 min
Views17K
Есть такая шутка: «Объявление: 65-летняя женщина, мать троих программистов, просит кого-нибудь не психованного научить ее интернету.» Дети пожилых родителей точно знают, что это не доля правды, а самая что ни на есть правда — обучать владению ПК своих стариков невыносимо: нужно не просто прививать нужные движения, учить запоминать логику организации приложений, но и делать это безо всяких привычных «клик, свайп, зум, логин, браузер, скринь, скролль, вкладка, новое окно, форма». А потом они приходят с сенсорным планшетом (потому что ты счёл сенсорный интерфейс лучшим для обучения) и говорят, что им угрожал зелёный робот. Да прав он, этот робот, кто бы на его месте не угрожал, когда им так варварски пользуются! Окей, гугл. Расскажи про компьютерную грамотность населения, может, полегчает.


Ctrl+Z в своей атмосфере
Читать дальше →

learnopengl. Уроки 3.1 (Assimp) + 3.2 (класс Mesh)

Reading time10 min
Views40K
OGL3

Assimp


Во всех уроках, мы, в основном, использовали нашего маленького друга — контейнер, но через некоторое время, даже наши лучшие друзья становятся немного скучными. В большом графическом приложении, обычно присутствуют много моделей, на которые намного приятнее смотреть, чем на наш статичный контейнер. Хотя, в отличие от контейнера, нам будет очень сложно, вручную, определить все вершины, нормали и текстурные координаты таких сложных моделей, как например дом или человекоподобные персонажи. Вместо этого, мы будем имортировать модели в наше приложение; модели, которые были тщательно нарисованы, в 3D редакторах, таких как Blender, 3DS MAX или Maya.


Эти, так называемые инструменты 3D моделирования, позволяют художникам создавать сложные модели и применять текстуры к ним с помощью процесса, который называется текстурная развертка (uv-mapping). Инструменты автоматически генерируют все вершинные координаты, вершины нормалей и текстурные координаты, экспортируя их в файл модели. Таким образом, художники имеют обширный набор инструментов для создания высококачественных моделей, не заботясь о технических деталях. Все технические аспекты спрятаны в экспортируемом файле. Мы, как программисты графики, должны позаботится об этих технических деталях.
Читать дальше →

Синдром сухого глаза как частный случай дистрофических процессов (ВМД) и его друг — компьютер

Reading time4 min
Views52K
Количество диагнозов синдрома сухого глаза по миру растёт вместе с развитием технологий. Основные факторы: ухудшение атмосферного воздуха, в частности, близ промзон, кондиционированный воздух, побочные эффекты многих лекарственных средств, излучение светодиодов (особенно сверхъярких по синей части спектра, в т. ч. AMOLED-экранов и подобных).

Признаки заболевания: зуд, покраснение, усталость, сухость в области глаз и век. Причина— нарушение слёзопродукции.

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

Как работает поле Хиггса: основная идея

Reading time5 min
Views28K
Разбираемся в физике частиц:
1. Шар на пружине, ньютоновская версия
2. Квантовый шар на пружине
3. Волны, классический вид
4. Волны, классическое уравнение движения
5. Квантовые волны
6. Поля
7. Частицы – это кванты
8. Как частицы взаимодействуют с полями

Как работает поле Хиггса:
  1. Основная идея
  2. Почему поле Хиггса в среднем ненулевое
  3. Как появляется частица Хиггса
  4. Почему поле Хиггса необходимо


Если вы читали мою серию статей про физику частиц и полей, вы знаете, что все т.н. «элементарные частицы» на самом деле – кванты (волны, чья амплитуда и энергия минимально допустимые квантовой механикой) релятивистских квантовых полей. Такие поля обычно удовлетворяют уравнениям движения класса 1 (или их обобщению) вида

$ d^2Z/dt^2 - c^2 d^2Z/dx^2 = - (2 \pi \nu_{min})^2 (Z - Z_0) $


Где Z(x,t) – поле, Z0 — равновесное состояние, x – пространство, t – время, d2Z/dt2 представляет изменение по времени изменения по времени Z (d2Z/dx2 — то же для пространства), c – универсальное ограничение скорости (часто называемое «скоростью света»), а νmin — минимально допустимая частота для волны в поле. Некоторые поля удовлетворяют уравнению класса 0, которое представляет собой просто уравнение класса 1, в котором величина νmin нулевая. У кванта такого поля масса

$ m = h \nu_{min} / c^2 $


Где h – постоянная Планка. Иначе говоря,

$ d^2Z/dt^2 - c^2 d^2Z/dx^2 = - (2 \pi c^2/h)^2 m^2 (Z - Z_0) $


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

Коды Рида-Соломона. Часть 1 — теория простым языком

Reading time8 min
Views57K
Добрый день! Меня зовут Максим, в YADRO, кроме всего прочего, я занимаюсь разработкой подсистемы, отвечающей за надежное хранение данных. Готовлю небольшой цикл статей про коды Рида-Соломона — теоретическую основу, практическую реализацию, применяемые на практике программные и аппаратные оптимизации. На Хабре и в остальной сети есть хорошие статьи по вопросам этой области — но по ним сложно разобраться, если ты новичок в теме. В этой статье я попытаюсь дать понятное введение в коды Рида-Соломона, а в следующих выпусках напишу, как все это запрограммировать.



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

Load Average в Linux: разгадка тайны

Reading time18 min
Views242K


Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.

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

Охота на рыжего демона или пеленгатор помех спутниковой навигации

Reading time4 min
Views39K


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

К чему это привело читайте дальше.
Читать дальше →

Блокировка мессенджеров и анонимайзеров одобрена Госдумой, осенью наступит очередь соцсетей

Reading time3 min
Views41K

Источник: gazeta.ru

19 июля депутаты Госдумы сразу в двух чтениях приняли поправки в закон «Об информации…», — пишут «Ведомости». Речь идет о поправках, которые регулируют работу мессенджеров и анонимайзеров в России. Первоначальная версия поправок была разработана в 2015 году с участием Медиа-коммуникационного союза. Этот вариант с течением времени изменили, например, убрали пункты, которые регламентируют работу онлайн-кинотеатров. Конечная версия поправок устанавливает требование к мессенджерам, нарушение этих требований грозит соответствующим сервисам штрафом и блокировкой.

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

Снимаем «4D видео» с помощью depth-сенсора и триангуляции Делоне

Reading time15 min
Views20K


Привет Хабр! Это заметка о небольшом хобби-проекте, которым я занимался в свободное время. Я расскажу, как с помощью несложных алгоритмов превращать карты глубины от depth-сенсоров в забавный вид контента — динамические 3D сцены (их ещё называют 4D video, volumetric capture или free-viewpoint video). Моя любимая часть в этой работе — алгоритм триангуляции Делоне, который позволяет превращать разреженные облака точек в плотную полигональную сетку. Приглашаю всех, кому интересно почитать про алгоритмы, самописные велосипеды на C++11, и, конечно же, посмотреть на трёхмерных котиков.

Для затравки: вот что получается при использовании RealSense R200: skfb.ly/6snzt (подождите несколько секунд для загрузки текстур, а затем используйте мышку, чтобы поворачивать сцену). Под катом есть ещё!
Обладатели лимитированных тарифов, будьте осторожны. В статье много разных изображений и иллюстраций.

Использование BSP-деревьев для создания игровых карт

Reading time9 min
Views29K
image

При заполнении области объектами (например, комнатами в подземелье) в случайном порядке вы рискуете тем, что всё будет слишком случайным. Результат может оказаться абсолютно бесполезным хаосом. В этом туториале я покажу, как использовать для решения этой проблемы двоичное разбиение пространства (Binary Space Partitioning, BSP).

Я подробно и по этапам расскажу об использовании BSP для создания простой двухмерной карты, к примеру, схемы подземелья. Я покажу, как создать простой объект Leaf, который мы используем для разделения области на маленькие сегменты. Затем мы займёмся генерированием в каждом Leaf случайной комнаты. И, наконец, узнаем, как соединить все комнаты коридорами.

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

Полное руководство по переходу с HTTP на HTTPS

Reading time36 min
Views234K

В наше время HTTPS обязателен для каждого веб-сайта: пользователи ищут замочек в адресной строке, когда передают личные данные; Chrome и Firefox недвусмысленно помечают как небезопасные веб-сайты с формами на страницах без HTTPS; это влияет на позиции в поисковой выдаче и оказывает серьёзное влияние на приватность в целом. Кроме того, сейчас имеется несколько вариантов получить бесплатный сертификат, так что переход на HTTPS — всего лишь вопрос желания.


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

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

Сюда включены детальные инструкции для владельцев виртуального хостинга на cPanel, администраторов серверов Apache HTTP и nginx под Linux и Unix, а также Internet Information Server под Windows.
Читать дальше →

Кератопластика – последний вариант «починить» глаза, если всё плохо (и кое-что про современные методы)

Reading time8 min
Views57K

Нейлон 10/0 (чтобы шить роговицу)

Для операции «последнего шанса» или пересадки роговицы нужны донорские ткани. Конкретно нас интересует ткань толщиной 500–600 микрон для сквозной кератопластики. Дальше с этой плёнкой нужно работать руками, шить тонкой нейлоновой нитью. Потом, когда роговица срастётся, снимать шов. Никаких биоразлагаемых материалов — их продукты распада начнут лизироваться и могут вызывать воспаление, что исключит положительный результат операции. Более того, трансплантат рекомендуется прошить по периметру дважды — это повышает шансы его правильной и равномерной фиксации. Второй слой нейлона чаще всего вообще не снимается, потому что пока он не мешает — не трогаем.

Но давайте начнём с самого начала. Конкретно — с ситуаций, когда человеку может потребоваться эта непростая для России, но совершенно привычная в Германии операция. Она бывает трёх видов:

  • Сквозная, то есть удаление всей роговицы пациента, например, диаметром от 7 до 8,5 мм и пришивание новой.
  • DALK, то есть пересадка роговичной ткани за исключением десцеметовой мембраны и эндотелия.
  • DMEK, то есть «установка» только слоя десцеметовой мембраны и эндотелиальных клеток вместо такого же слоя у пациента.

Кератопластика в Германии — операция очень распространенная. В нашей клинике в Марбурге я и мой заведующий отделением за прошлый год сделали 210 пересадок, за год до этого — 236 пересадок. С марта этого года в московской клинике SMILE EYES мы начали пересаживать роговичную ткань — и послойные, и сквозные пересадки.

Исходный код Quake III

Reading time13 min
Views43K
image

[Примечание переводчика: перевод первой части этой статьи уже есть на Хабре, но её автор почему-то не завершил работу.]

Рендерер Quake III


Рендерер Quake III стал эволюционным развитием рендерера Quake II с аппаратным ускорением: классическая часть построена на архитектуре «двоичного разбиения»/«потенциально видимых наборов», но добавлены два новых заметных ключевых аспекта:

  • Система шейдеров, построенная поверх фиксированного конвейера OpenGL 1.X. Это было большим достижением для 1999 года. Она обеспечивала большое пространство для инноваций в эру до повсеместно распространённых сегодня вершинных, геометрических и фрагментных шейдеров.
  • Поддержка многоядерной архитектуры: клиент-серверная модель OpenGL блокирует некоторые методы и система потоков частично решает эту проблему.
Читать дальше →

Фантастика и фентези за два с половиной года, почти сто хороших книг

Reading time22 min
Views250K
На этот пост меня подтолкнула публикация «Почему я ворую книги, бедные авторы, и как это исправить», а именно — скепсис и возражения на мой комментарий о том, что я не читаю плохие книги. Мне предложили рассказать, как я выбираю книги для чтения и что именно читаю. Ну я и повелся.
Оформить список было сравнительно просто, FBReader любезно хранил на GoogleDrive все скачанные книги с того момента, как там появилась эта услуга. Предлагаю вашему вниманию список прочитанного мной за 2,5 года из жанров фентези и фантастики.
Читать дальше →

Пишем простой драйвер под Windows для блокировки USB-устройств

Reading time11 min
Views26K
Вряд ли пользователь домашнего ПК заинтересуется тем, чтобы блокировать устройства на своем ПК. Но если дело касается корпоративной среды, то все становится иначе. Есть пользователи, которым можно доверять абсолютно во всем, есть такие, которым можно что-то делегировать, и есть те, кому доверять совсем нельзя. Например, вы заблокировали доступ к Интернету одному из пользователей, но не заблокировали устройства этого ПК. В таком случае пользователю достаточно просто принести USB-модем, и Интернет у него будет. Т.е. простым блокированием доступа к Интернету дело не ограничивается.

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

В этой статье я расскажу немного теоретическую часть, на основе которой все строится, и расскажу принцип самого решения.
Читать дальше →

Багфикс человека: как фиксить баги, которые мешают работать

Reading time7 min
Views22K

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


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


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

Объектное Реактивное Программирование

Reading time16 min
Views22K

Объектное Реактивное Программирование


Дмитрий Карловский из SAPRUN представляет… ммм...


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

Надоело.. Чем поможет ОРП?
… писать много, а делать мало? Пиши мало, делай много!
… часами дебажить простую логику? Реактивные правила обеспечат консистентность!
… асинхронщина? Синхронный код тоже может быть неблокирующим!
… что всё по умолчанию тупит? ОРП оптимизирует потоки данных автоматом!
… функциональные головоломки? Объекты со свойствами — проще некуда!
… что приложение падает целиком? Позволь упасть его части — само поднимется!
… жонглировать индикаторами ожидания? Индикаторы ожидания пусть сами появляются, где надо!
… двустороннее связывание? Двустороннее связывание нужно правильно готовить!
… пилить переиспользуемые компоненты? Пусть компоненты будут переиспользуемыми по умолчанию!
… вечно догонять? Вырывайся вперёд и лидируй!
Читать дальше →

Разбираемся с новыми архитектурными компонентами в Android

Reading time11 min
Views24K
Гостевая статья от участника Google I\O 2017 и одного из лидеров GDG Kazan — Артура Василова (@Arturka).

19 мая завершилась конференция Google I/O. По поему мнению, несмотря на то, что новых продуктов в этом году было представлено не так много, с технической точки зрения конференция получилась интересной.

Самым большим и интересным техническим обновлением лично для меня стали новые Architecture Components (не Android O, в котором мало чего интересного, и уж точно не Kotlin). Google сделал то, что должен был сделать уже очень давно — разработать стандарты архитектуры и предоставить их разработчикам. Что же, лучше поздно, чем никогда, и давайте разбираться с тем, насколько полезной может быть архитектура от Google.


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

С чем столкнулись при переводе проекта на Android Studio 3.0 Preview и Gradle 4.0-milestone-1

Reading time6 min
Views18K

После того как на Google IO 2017 Keynote анонсировали новую Android Studio 3.0 Preview и Gradle 4.0-milestone-1, конечно же, руки сразу чесались все это попробовать. Если в первой просто появилось много интересных фишечек, то во втором серьезно поменялось API.


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


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

Что намазать на зубы, чтобы они не выпали

Reading time8 min
Views194K


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

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

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

Information

Rating
Does not participate
Location
Тула, Тульская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer, Mobile Application Developer