Как стать автором
Обновить
4
0
Сергей @arandomic

Пользователь

Отправить сообщение

Отложенный Alpha blending

Время на прочтение6 мин
Количество просмотров10K
В этой статье я хочу поговорить о методах смешивания растеризуемой геометрии. Классические модели смешивания полупрозрачных объектов — Alpha, Additive, Multiplicative — объединяет один и тот же принцип отрисовки: последовательно рисуем один примитив за другим, смешивая получаемые на выходе фрагментного шейдера пиксели с тем, что находится в текущем буфере. Каждый новый примитив обновляет область буфера, в которую рисуется; в случае с альфа-смешиванием объекты, которые находятся выше, заслоняют ранее отрисованные. Но что если хочется что-то сделать с группой объектов, рисуемых поверх сцены, — например, обрезать их по маске или подсветить? Тут сразу в голову приходят два решения: или внести изменения в их материал (т.е. изменить шейдер, расширить набор текстур), к примеру, добавив проекцию еще одной текстуры, которая будет отвечать за маску прозрачности. Однако если у нас много разношерстных объектов, менять каждый уникальный материал неудобно и чревато ошибками. Второй вариант — нарисовать все интересующие нас объекты в отдельный полноэкранный таргет и рисовать уже его на финальную сцену. Тут мы можем сделать с его содержимым все, что захотим, но это требует выделения лишней памяти и, что самое неприятное, — переключения рендер таргетов. Это не самая «дешевая» операция на мобильных устройствах, которую будет необходимо выполнить дважды. А если захочется вот так работать с несколькими слоями?


Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии16

Абрахам Флекснер: Полезность бесполезных знаний (1939)

Время на прочтение19 мин
Количество просмотров14K
image

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

Нам снова и снова твердят, что наш век – это век материального. И главное в нем – это расширение цепочек распределения материальных благ и мирских возможностей. Возмущение тех, кто не виноват в том, что они лишены этих возможностей и справедливого распределения товаров, уводит значительное число студентов от наук, которыми занимались их отцы, в сторону настолько же важных и не менее актуальных предметов, изучающих социальные, экономические и государственные вопросы. Я ничего не имею против такой тенденции. Мир, в котором мы живем, единственный мир, данный нам в ощущениях. Если не улучшать и не делать его справедливее, миллионы людей продолжат уходить из жизни молча, в печали, с горечью. Я сам много лет умолял о том, чтобы наши школы имели четкое представление о мире, в котором их ученикам и студентам предназначено провести свою жизнь.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии8

KubeCon EU 2019: 10 ключевых выводов

Время на прочтение10 мин
Количество просмотров3.7K


Мы с ребятами из Datawire недавно вернулись с потрясающих конференций KubeCon и CloudNativeCon в Барселоне. Мы участвовали в 6 выступлениях на KubeCon, раздали на своем стенде кучу классных (без ложной скромности) футболок, пообщались с десятками людей и посетили крутые выступления. На KubeCon EU было столько всего интересного, что я решил написать пост с ключевыми итогами.


И вот какие выводы я сделал (не в порядке важности):


  1. Многоплатформенность и гибридное облако (все еще) популярны.
  2. Объединение технологий набирает обороты.
  3. Анонс Service Mesh Interface (SMI): следите за новостями.
  4. (Туманное?) будущее Istio.
  5. Политика как код поднимается по стеку.
  6. Облачный DevEx по-прежнему не обходится без проблем.
  7. Компании (все еще) на начальных этапах внедрения технологий.
  8. Локальный Kubernetes реален (но заковырист).
  9. Считайте кластеры стадом.
  10. Успех Kubernetes по-прежнему зависит от сообществ.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии3

Ember.js: (снова) время попробовать

Время на прочтение8 мин
Количество просмотров17K

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


Вы учите Ember.js один раз, а потом применяете эти знания на всех Ember.js проектах. Этот тезис я попытаюсь раскрыть под катом.

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии16

Бикватернионы

Время на прочтение15 мин
Количество просмотров18K
Если вы открыли данную статью, то наверняка уже слышали о кватернионах, и возможно даже используете их в своих разработках. Но пора подняться на уровень выше — к бикватернионам.

В данной статье даны основные понятия о бикватернионах и операции работы с ними. Для лучшего понимания работы с бикватернионами показан наглядный пример на Javascript с использованием Canvas.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии27

Chain replication: построение эффективного KV-хранилища (часть 2/2)

Время на прочтение9 мин
Количество просмотров3K

Продолжаем рассматривать примеры использования цепной репликации. Базовые определения и архитектуры были даны в первой части, рекомендую ознакомиться с ней перед прочтением второй части.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии2

Неотвратимость наказания, эффективность внезапных проверок

Время на прочтение6 мин
Количество просмотров22K
Это философская заметка про управление и воспитание, а также про очень неожиданное озарение связанное с моделированием цифровой плесени. Навеяно беседами о проблемах управления строительством, а также сетью существенно удалённых филиалов.

image

Борьба популяций цифровой плесени под воздействие испепеляющего солнца.

Предуведомление. Статья состоит из трёх частей, и первые две кажутся вообще друг к другу никак не относящимися, однако есть третья объединяющая их.
Читать дальше →
Всего голосов 63: ↑61 и ↓2+59
Комментарии91

Зачем писать свой игровой движок?

Время на прочтение20 мин
Количество просмотров28K
В декабре прошлого года, на конференции Games Gathering 2017, мы сделали доклад, в котором рассказали о том, надо ли компаниям, работающим в игровой индустрии, писать собственные движки.


Читать дальше →
Всего голосов 59: ↑56 и ↓3+53
Комментарии51

Как собрать GSM телефон на базе SDR

Время на прочтение13 мин
Количество просмотров38K


Ни для кого не секрет, что в уже привычных для большинства из нас смартфонах кроме основного процессора существует отдельный модуль связи, благодаря которому смартфон все еще остается телефоном. Вне зависимости от основной операционной системы, будь то Android или iOS, данный модуль чаще всего работает под управлением проприетарной операционной системы с закрытым исходным кодом, и берет на себя всю работу, связанную с голосовыми вызовами, SMS-сообщениями и мобильным Интернетом.

В отличие от проприетарного программного обеспечения проекты с открытым исходным кодом всегда получают больше внимания со стороны исследователей безопасности. Возможность заглянуть «под капот» и узнать, как работает тот или иной компонент программы, позволяет не только находить и исправлять всевозможные ошибки, но и убедиться в отсутствии так называемых «закладок» в коде. Кроме того, открытый исходный код позволяет начинающим разработчикам учиться на примере более опытных, используя результаты их работы в качестве опоры.
Всего голосов 37: ↑37 и ↓0+37
Комментарии7

«Придётся писать самим. Сели и написали»: жизнь разработчиков лабораторного кластера супермассивов в Сбертехе

Время на прочтение17 мин
Количество просмотров32K

Существует миф, что банки — это очень закостенелые структуры, в которых нет места эксперименту. Чтобы опровергнуть этот миф, мы провели небольшое интервью с Валерием Выборновым — начальником отдела разработки лабораторного кластера супермассивов в Сбербанк-Технологиях. У себя в команде они не боятся пользоваться всей мощью Scala, Akka, Hadoop, Spark, и даже пишут прототипы на Rust.



Основные вопросы:


  • Обсуждение примера экспериментального проекта (работа с социальным графом) с техническими подробностями;
  • Используемые языки и технологии (Scala, Akka, Hadoop, Spark, Rust, и т.п.);
  • Можно ли прийти в Сбертех сразу на руководящую должность? Как там внутри всё организовано, какие есть грейды?
  • Как живётся простому разработчику? Подробности внедрения Сберджайла;


Читать дальше →
Всего голосов 45: ↑38 и ↓7+31
Комментарии22

Итоги MentorHack: чат-бот по выделению тасков из диалогов, сервисы для построения карьерных траекторий и команд

Время на прочтение9 мин
Количество просмотров4K
Недавно мы поучаствовали в организации MentorHack – хакатона по созданию сервисов для наставничества в корпоративной среде, предпринимательстве и образовании.

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


Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Существует ли идеальный планировщик личных задач? Разработка модульного планировщика

Время на прочтение5 мин
Количество просмотров19K

Некоторое время назад, я, как активный пользователь планировщиков личных задач, открыл для себя один значительный недостаток – несмотря на их несчётное количество, невозможно найти «тот самый», который удовлетворял бы тебя по всем пунктам.


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




Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии54

Удивительно полезный инструмент: lsof

Время на прочтение9 мин
Количество просмотров122K
Я привык искать проблемы в коде или в системе, пользуясь логами или показателями мониторинга, которые выводятся на симпатичных панелях управления с простым и понятным интерфейсом. Однако, если по какой-то причине данные на панель управления не поступают, или логи какой-нибудь службы недоступны, отладка усложняется. Теперь подобных проблем немного, встречаются они редко, но они, всё же, случаются. Поэтому и в наше время весьма ценно знание инструментов, которые помогают понять, что не так с неким процессом на каком-нибудь компьютере.

image
Читать дальше →
Всего голосов 73: ↑69 и ↓4+65
Комментарии30

Результаты тестирования производительности облачных серверов с помощью Dwarf Fortress

Время на прочтение4 мин
Количество просмотров8.4K
Dwarf Fortress — легендарная игра, детально симулирующая фэнтезийный мир, а игрок (в одном из режимов) может строить и управлять поселением (крепостью) гномов (дворфов). Про игру написано достаточно, поэтому я не буду вдаваться в подробности. Важно, что из-за большого размера игрового мира и высокой детализации симуляции, игра довольно требовательна к ресурсам — как процессору, так и памяти/кэшу. Игра поддерживает все три основные операционные системы.

Для игры существует проект DFHack, занимающийся реверс-инжинирингом структур данных игры и позволяющий создавать плагины и скрипты на C++, Lua или Ruby.

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

Сервер можно установить как у себя дома, так и арендовать у одного из облачных провайдеров. Так и родилась идея этого исследования — во-первых, узнать, какой из облачных сервисов лучше подходит и может быть рекомендован пользователям в первую очередь, и во-вторых, собственно сравнить производительность серверов, используя что-то отличное от веб-серверов и специальных утилит.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии10

11 текстов, которые помогут разобраться в больших данных

Время на прочтение3 мин
Количество просмотров25K
image

Сегодня необходимо хотя бы в общих чертах иметь представление о мире big data. Мы отобрали публикации, в которых доступно объясняют, что такое большие данные и как их используют. Статьи рассчитаны, скорее, на новичков, но и люди, разбирающиеся в теме, смогут найти для себя интересные (или просто забавные) кейсы.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии2

Пишем, собираем и запускаем HelloWorld для Android в блокноте. Java 8 и Android N

Время на прочтение11 мин
Количество просмотров45K

Два с половиной года назад я опубликовал статью Пишем, собираем и запускаем HelloWorld для Android в блокноте. Она стала пользоваться огромной популярностью и набрала около 80 000 просмотров. С появлением новых инструментов, таких как Jack ToolChain, возникла необходимость переиздания и обновления статьи.

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

Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать дальше →
Всего голосов 67: ↑64 и ↓3+61
Комментарии22

Результаты большого опроса среди разработчиков всех стран за 2016 год

Время на прочтение8 мин
Количество просмотров38K
Привет, Хабр! Мы в компании PayOnline, которая занимается организацией платежей на сайтах и в мобильных приложениях, решили сделать перевод интересного аналитического материала – глобального опроса среди разработчиков за 2016 год, проведенного сайтом Stack Overflow. Чтобы не утомлять вас чтением действительно объемного исследования, мы выбрали самые интересные, на наш взгляд, слайды.


Общая информация

Каждые 8 секунд (или около того) кто-то из разработчиков публикует свой вопрос на Stack Overflow. В этом же году настал черед Stack Overflow: более 56 тысяч разработчиков из 173 стран ответили на задаваемые вопросы.

Всего им было задано 45 вопросов. Если вкратце, то получилась следующая картина:

Разработчики обожают Rust. Даже разработчики бэкенда знают JavaScript. Только 7% разработчиков считают себя «настоящими рок-звездами». Большинство разработчиков предпочитает собак кошкам (за исключением программистов из Германии).
Читать дальше →
Всего голосов 39: ↑35 и ↓4+31
Комментарии46

Прогнозы по рынку игр: цифры от 7 аналитических агентств

Время на прочтение2 мин
Количество просмотров21K
Разработка игр на сегодняшний день является не только интересным, но и выгодным делом. Объем игрового рынка уже превосходит киноиндустрию и догоняет спортивный рынок, а доходы некоторых игровых компаний исчисляются в миллиардах долларов. Но что ждет индустрию, и какие у нее перспективы? В этой статье я приведу краткие выдержки и графики на эту тему от ведущих мировых исследовательских агентств: SuperData, Digi-Capital, NewZoo, SensorTower, Zenna Apps, AppAnnie, J’son & partners.

Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии1

24-летний студент начал войну против Facebook

Время на прочтение3 мин
Количество просмотров73K


24-летний студент юридического факультета Венского университета Макс Шремс (Max Schrems) вот уже несколько месяцев ведёт неравный бой с компанией Facebook. Всё началось с того, что Макс отправил несколько грамотно составленных запросов и добился-таки, что из калифорнийского офиса ему прислали CD-диск со всеми персональными данными, собранными за три года активности на сайте.

Каждый гражданин может потребовать у Facebook выдачи ему в течение 40 дней всей собранной на него персональной информации. На сайте есть специальная форма для такого запроса. Вам придёт CD с файлом PDF объёмом несколько сотен мегабайт и более 1000 страниц. Макс Шремс получил PDF из более 1200 страниц, вся информация в файле была разбита на 57 категорий (работа, образование, друзья, политические взгляды, хобби, фотографии и т.д.). Как говорит Макс, даже у КГБ не было такого полного досье на граждан.

Но самое удивительное, что среди всего прочего в присланном файле были удалённые сообщения, чат-сессии, имена бывших друзей и другие данные с пометкой deleted:true.
Читать дальше →
Всего голосов 323: ↑296 и ↓27+269
Комментарии246

Делаем модульный многоканальный АЦП

Время на прочтение4 мин
Количество просмотров46K
В различных проектах часто бывает необходимо следить за множеством параметров, которые представлены аналоговыми величинами. Конечно, часто хватает микроконтроллера, но иногда алгоритм обработки слишком сложен для него и требуется использование полноценного компьютера. К тому же на нём гораздо проще организовывать сохранение логов и красивую визуализацию данных. В таком случае либо берётся готовое промышленное решение (которое, разумеется, стоит дорого, но часто является избыточным), либо делается что-то самодельное. В самом банальном случае это может быть плата Arduino с бесконечным циклом из analogRead и serial.write. Если входных данных много (больше, чем аналоговых входов), то потребуется несколько плат, придумывать как их правильно опрашивать с компьютера и т. д. Во многих случаях подойдёт разработанное мною решение (возможно, я не первый придумал именно такую реализацию, не особо интересовался этим вопросом), которое позволит сэкономить время на отладку и сделать относительную простую и понятную архитектуру системы.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии14
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность