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

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

Learn OpenGL. Урок 5.4 – Всенаправленные карты теней

Время на прочтение 16 мин
Количество просмотров 15K
OGL3

Всенаправленные карты теней


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

Данный же урок будет посвящён созданию динамических теней, проецирующихся во всех направлениях. Этот подход отлично подходит для работы с точечными источниками освещения, ведь они должны отбрасывать тени во всех направлениях сразу. Соответственно, данная техника называется всенаправленной картой теней.
Урок во многом опирается на материалы предыдущего урока, так что если вы еще не практиковались с обычными картами теней, стоит сделать это перед продолжением изучения этой статьи.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 3

Bobaos — KNX TP/UART, Raspberry Pi и Unix Domain Socket

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

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



История не повторяется, история улучшается.

Цитата с пачки табака. Далее я показажу, что улучшилось за четыре месяца работы над проектом.

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

Как заработать свои первые 100$ в Google Play Market — мой опыт

Время на прочтение 4 мин
Количество просмотров 221K
В этой статье я расскажу, как мне удалось заработать первые 100$ на моих приложениях в Google Play Market. Какие стратегии более успешные и на что стоит обратить внимание новичку.
Читать дальше →
Всего голосов 40: ↑34 и ↓6 +28
Комментарии 52

Как не сойти с ума от Scrum? Опыт растущего проекта

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


Надежда Мецкер, Senior QA, DataArt

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

Первое, о чем я расскажу, это Feature Demo — процесс, в ходе которого мы демонстрируем новый функционал приложения внутри своей же команды. Мы рассматриваем, как именно он был сделан, что получилось особенно удачно, а где можно было сделать лучше. Уже после общего рассмотрения и окончательного одобрения функционал может уходить в продакшн.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 7

История про хранилище изображений. Или как велосипед спас от костыля

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


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

В статье расскажу, как мы разработали сервис, способный хранить миллионы фотографий и обслуживать тысячи запросов в секунду.
Поехали
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 10

Применение сверточных нейронных сетей для задач NLP

Время на прочтение 9 мин
Количество просмотров 60K
Когда мы слышим о сверточных нейронных сетях (CNN), мы обычно думаем о компьютерном зрении. CNN лежали в основе прорывов в классификации изображений — знаменитый AlexNet, победитель соревнования ImageNet в 2012 году, с которого начался бум интереса к этой теме. С тех пор сверточные сети достигли большого успеха в распознавании изображений, в силу того факта, что они устроены наподобие зрительной коры головного мозга — то есть умеют концентрироваться на небольшой области и выделять в ней важные особенности. Но, как оказалось, CNN хороши не только для этого, но и для задач обработки естественного языка (Natural Language Processing, NLP). Более того, в недавно вышедшей статье [1] от коллектива авторов из Intel и Carnegie-Mellon University, утверждается, что они подходят для этого даже лучше RNN, которые безраздельно властвовали областью на протяжении последних лет.

Сверточные нейронные сети


Для начала немного теории. Что такое свертка? Мы не будем на этом останавливаться подробно, так как про это написана уже тонна материалов, но все-таки кратко пробежаться стоит. Есть красивая визуализация от Стэнфорда, которая позволяет ухватить суть:

image
Источник
Читать дальше →
Всего голосов 71: ↑69 и ↓2 +67
Комментарии 29

Windows Server 2019: поддержка Linux и Kubernetes

Время на прочтение 3 мин
Количество просмотров 29K
20 марта компания Microsoft сообщила о том, что в этом году выйдет следующий официальный релиз Windows Server, отличающийся улучшенной поддержкой гибридных рабочих нагрузок, Linux и гиперконвергентных инфраструктур.

Windows Server 2019 придёт на смену ОС Windows Server 2016, которая была официально выпущена в октябре 2016 года. Учитывая то, что Microsoft в прошлом году перешла на обновления Windows Server дважды в год, эти обновления выходят на канале долгосрочного обслуживания раз в два-три года. Эта модель обслуживания предназначена для администраторов, которые предпочитают обновлять системы не слишком часто.

image

Те компании, которые ещё не перешли на полугодовой канал, смогут испытать технологии поддержки Linux и Kubernetes в Windows Server, которые сейчас находятся в состоянии бета-версии.
Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 11
Помните бесконечное «Давайте Dust 2!» в каждом CS-чате? Реиграбельность — важнейшая черта для онлайн-шутеров. Игрокам раз за разом приходится возвращаться на одни и те же локации, поэтому можно смело сказать, что работа левел-дизайнера не менее важна для проекта, чем код, на котором он написан. Нужно продумать баланс карты во всех ее точках; помнить о разных тактиках игроков и целых команд; расставить достаточное количество укрытий; не забыть о «снайперах»; провести ряд внутренних и внешних тестов; учесть пожелания игроков касательно сеттинга и визуала. И думаем, не только нам интересно, как можно решить все эти задачи.
Подробности – под катом
Всего голосов 45: ↑45 и ↓0 +45
Комментарии 20

«Конечно, это рискованно, но с должными мерами предосторожности использовать можно»: Крис Талингер о Graal

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


«Жить на Гавайях, работать над суперпопулярным сервисом, внедрить там в продакшне экспериментальную Java-технологию, на которую другие ещё только с опаской поглядывают» — звучит как описание выдуманной Java-карьеры, о которой можно только мечтать. Но есть человек, для которого это всё суровые будни, и мы с ним пообщались.

Благодаря Крису Талингеру в Twitter уже вовсю используют новый компилятор Graal, и не просто во имя любви к инновациям: это помогает компании экономить ощутимые суммы. Крис уже делился опытом Twitter в Петербурге на конференции Joker, а теперь приготовил новый доклад, призванный показать обычным Java-разработчикам, как им подступиться к Graal. А в ожидании этого доклада мы расспросили его и об основах Graal, и о том, как теперь в Twitter заходят ещё дальше, и о том, как Крис организовал на Гавайях Java-конференцию LavaOne.

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

Иерархия IT-систем и выбор программного обеспечения для организации труда

Время на прочтение 10 мин
Количество просмотров 31K
IT-системы плотно вошли в нашу жизнь. Мощные и сложные программные продукты используются в самых разных сферах. При этом многие забывают, что появились IT-системы не просто так, как программные продукты, которые нужно продавать и внедрять, а как инструменты организации и автоматизации труда.

И очень важно помнить при выборе и внедрении IT-систем, что первичен здесь — труд, а не программное решение. Я не единожды сталкивался с тем, что люди выбирали программу просто потому что: “она понравилась”. В результате появляются попытки “натянуть” процессное производство, например, работу молокозавода, на ERP-систему, предназначенную для дискретного производства (сборка изделий).
Читать дальше →
Всего голосов 30: ↑23 и ↓7 +16
Комментарии 10

Ошибки в роботах: ожидание и реальность

Время на прочтение 3 мин
Количество просмотров 11K
Робо-ошибки

Мне кажется, бунт роботов не близок. Я начал писать статью про то, что наша команда приступила к адаптации анализатора кода PVS-Studio для нужд Embedded-разработчиков. Для начала мы поддержали KEIL и IAR. Посмотрев на ошибки в некоторых проектах для встроенных устройств, я полон чувств, которыми хочу поделиться. Проще всего это будет сделать, показав пару картинок и пару примеров ошибок.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Комментарии 24

«Когда я стал Android-разработчиком, ещё негде было искать примеры»: интервью с Давидом Гонсалесом

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


Android-разработчики могут знать Давида Гонсалеса в связи с несколькими разными вещами. Например, он участвует в open source-проекте Android Architecture Blueprints, где разные архитектурные подходы демонстрируются на конкретных примерах (недавно проект преодолел рубеж в 25 000 GitHub-звёзд). А также выступает с докладами, занимается бельгийской Kotlin User Group, ранее активно писал блог-посты — в общем, помогает сообществу многими способами, и звание Google Developer Expert неудивительно.

Так что в интервью мы тоже расспросили Давида сразу о нескольких темах: начали с Android Architecture Blueprints, перешли к Kotlin, а закончили аутентификацией в Android, которой посвящён его новый доклад.
Читать дальше →
Всего голосов 32: ↑32 и ↓0 +32
Комментарии 2

Ответ Л.П. Плеханова на замечания по книге «Основы самосинхронных электронных схем»

Время на прочтение 7 мин
Количество просмотров 9.6K
Предисловие: Меня зовут Виктор, и я сотрудник Института Проблем Информатики РАН. В нашем отделе ведутся две разработки: рекуррентный процессор и самосинхронная схемотехника. Сам я занят первым, но не смог пройти мимо Мои замечания о книге Л.П. Плеханова «Основы самосинхронных электронных схем», т.к. Л.П. Плеханов работает у нас и данная тематика и «внутренняя кухня» мне близки и знакомы. Я попросил Леонид Петровича подготовить ответ, который с удовольствием сегодня опубликую.

Для справки: У коллектива, в котором работает Плеханов Л.П. довольно много наработок по части самосинхронной схемотехники. Более 20 патентов по самосинхронике, включая международные патенты (США).

Также решения являются не только теоретическими, но и практическими. Например, буквально недавно вышла книга «Библиотека функциональных ячеек для проектирования самосинхронных полузаказных микросхем серий 5503 и 5507». САПР «Ковчег» позволяет проектировать самосинхронные схемы в базисе БМК серий 5503 и 5507.

Кроме того, уже выполнен по технологии 65 нм самосинхронный делитель и блок FMA для процессора КОМДИВ-64. В силу разных обстоятельств данные труды пока не имеют заслуженной на мой взгляд огласки, и посему лично я надеюсь, что этот первый пост нашего отдела ИПИ РАН не будет последним и в ближайшее время мы расскажем публике о самосинхронной схемотехнике подробнее. Ну а пока, передаю слово Леониду Петровичу.

Пошумим!



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

1. Общее впечатление


Автор замечаний (далее — Рецензент), находясь в плену своих событийных представлений, непоколебимо считает, что и все другие исходят (или должны исходить) из того же.

А с какой стати?

Поэтому Рецензент ничего не понял в книге — ни идеи, ни подхода, ни результатов.
Зато замечания написаны с большой самоуверенностью.
Читать дальше →
Всего голосов 44: ↑40 и ↓4 +36
Комментарии 63

Обходим ASLR для Linux по-новому

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


Ядро Linux широко распространено во всем мире как на серверах, так и на пользовательских машинах, на мобильных платформах (ОС Android) и на различных «умных» устройствах. За время существования в ядре Linux появилось множество различных механизмов защиты от эксплуатации уязвимостей, которые могут существовать как в самом ядре, так и в приложениях пользователей. Такими механизмами является, в частности, ASLR и stack canary, противодействующие эксплуатации уязвимостей в приложениях.

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

Как лучше разбираться в людях

Время на прочтение 31 мин
Количество просмотров 102K
Рассказывать айтишникам про психологию то еще дело, некоторые читатели скажут: «Bullshit!», и вообще не поверят, потому что психологию, даже прикладную, нельзя назвать точной наукой. Тем не менее, задача этой статьи — показать и доказать вам, что некоторые модели действительно работают. В основе доклад Сергея Котырева из UMI на РИТ++ 2017, от его лица дальше и пойдет повествование.



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

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

Мне кажется, о поведении и предсказании поведения спиральных галактик мы знаем больше, чем о том, как поведет себя человек, например, моя жена, сотрудник, или особенно сотрудница моего отдела маркетинга, не говоря уже о пиарщицах. О том, что ближайшая к нам Галактика летит, и через сколько-то миллиардов лет столкнется с нашей, мы уже знаем точно.
Всего голосов 127: ↑113 и ↓14 +99
Комментарии 63

Игры, в которых нужно писать код (часть 2)

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


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

Всего голосов 64: ↑64 и ↓0 +64
Комментарии 33

Kivy — маленький фрукт с большим будущим

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

Пpивeтcтвyю вcex!


Ceгoдняшняя небольшая cтaтья, впpoчeм, кaк вceгдa, кoнeчнo жe, o зaмeчaтeльнoм и пpocтoм, кaк тpи кoпeйки, фpeймвopкe для кpoccплaтфopмeннoй paзpaбoтки Kivy.


B дaннoм мaтepиaлe бyдyт paзвeяны мифы o тoм, чтo Kivy нe гoдитcя для paзpaбoтки cлoжныx пpилoжeний, бyдyт oпpoвepгнyты пpeдвзятыe мнения, кoтopыe пpeдcтaвляют paзpaбoтчикaм и зaкaзчикaм Kivy, кaк мaлo пoдxoдящий и кpивoй инcтpyмeнт для cepьeзнoй paбoты и coвceм нeгoдным для production.


Ceгoдняшняя cтaтья бoльнo yдapит пo кocтылям других фреймворков, зacтaвит их пoшaтнyтьcя, ocoзнaть, чтo oни yжe oтнюдь нe eдинcтвeнные и пoдвинyтьcя нaзaд в peйтингe кpoccплaтфopмeннoй paзpaбoтки, cпpaвeдливo ycтyпaя мecтo Kivy, как более быстрому в плане разработки, не менее надежному и более выгодному инструменту!


Всем заинтересовавшимся, милости просим под кат...

Всего голосов 45: ↑42 и ↓3 +39
Комментарии 40

Запускаем полноценный кластер на Kubernetes с нуля на Ubuntu 16.04

Время на прочтение 8 мин
Количество просмотров 63K
Уже довольно много написано статей, по установке и запуску Kubernetes, однако, не всё так гладко (я потратил несколько суток на запуск своего кластера).

Данная статья призвана дать исчерпывающую информацию не только по установке k8s, но и объяснить каждый шаг: зачем и почему мы делаем именно так, как написано (это очень важно для успешного запуска).

Что нужно знать


Серверы:
Кластер подразумевает, что у Вас более одного физического сервера, между которыми и будут распределятся ресурсы. Серверы называются нодами (nodes).

Диски:
Обычные харды в k8s не поддерживаются. Работа с дисками происходит по средствам распределенных файловых хранилищ. Это необходимо для того, чтобы k8s мог «перемещать» контейнеры docker на другие ноды в случае необходимости, без потери данных (файлов).

Начинать создание кластера нужно именно с создания своего распределенного файлового хранилища. Если вы уверены, что диски вам никогда не понадобятся, то этот шаг можно пропустить.
Я выбрал Ceph. А еще рекомендую почитать эту замечательную статью.

Минимальное разумное количество серверов для Ceph — 3 (можно построить и на одном, но в этом мало смысла из-за высокой вероятности потерять данные).

Сеть:
Нам понадобится Flannel — он позволяет организовать программно определяемую сеть (Software Defined Network, SDN). Именно SDN позволяет всем нашим контейнерам общаться с друг другом внутри кластера (установка Flannel производится вместе с k8s и описана ниже).

Подготовка серверов


В нашем примере мы используем 3 физических сервера. Установите Ubuntu 16.04 на все сервера. Не создавайте swap партиции (требование k8s).

Предусмотрите в каждом сервере как минимум один диск (или партицию) для Ceph.

Не включайте поддержку SELinux (в Ubuntu 16.04 он выключен по-умолчанию).

Мы назвали сервера так: kub01 kub02 kub03. Партиция sda2 на каждом сервере создана для Ceph (форматировать не обязательно).
Читать дальше →
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 43

Масштабируем Kubernetes до 2500 нод

Время на прочтение 7 мин
Количество просмотров 8K
Всем добра!

Ну что ж. Первый поток курса DevOps выпущен, второй обучается вовсю и вот на подходе третий. Курс усовершенствуется, проект тоже, остаётся неизменным пока что одно: интересные статьи, которые мы пока что только переводим для вас, но на носу уже и срывы покровов с тех вещей, что у нас просили :)

Поехали!

Мы используем Kubernetes для исследования в области deep learning уже более двух лет. В то время, как наши самые масштабные нагрузки управляют облачными ВМ напрямую, Kubernetes обеспечивает быстрый итерационный цикл и масштабируемость, что делает его идеальным для наших экспериментов. Сейчас мы управляем несколькими Kubernetes кластерами (как облачными, так и на физическом оборудовании), самый крупный из них состоит из более 2500 нод — это кластер в Azure на комбинации виртуальных машин D15v2 и NC24.

Многие системные компоненты отказывали в процессе масштабирования, включая etcd, Kube мастеров, загрузки образов Docker, сети, KubeDNS и даже ARP кэши наших машин. Поэтому мы решили, что будет полезным поделиться, с какими проблемами мы столкнулись и как с ними справились.

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

Распознавание объектов с помощью PowerAI Vision

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


Разработчики программного обеспечения уже несколько лет активно работают с библиотеками машинного обучения, решая задачи компьютерного зрения и обнаружения объектов. Но реализация таких задач (а каждую модель машинного обучения необходимо спроектировать, развернуть, собственно обучить, настроить и установить) обычно требует глубоких знаний и навыков. С новым продуктом IBM PowerAI Vision Вы можете этого избежать. Этот продукт предоставляет интерфейс, в котором можно обучать, настраивать и тестировать свою собственную модель, не углубляясь в детали реализации машинного обучения.

В этой инструкции я расскажу как использовать PowerAI Vision, чтобы обучить систему и создать готовый к использованию сервис REST API, который можно использовать для обнаружения и распознавания объектов в Ваших приложениях.
Подробная инструкция
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 3

Информация

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