Кому это руководство будет понятно? Тем, кто использует Unity3D или по крайней мере знает C# или C++. Шейдер написан на HLSL, близком синтаксическом родственнике C++.
Кому это руководство будет полезно? Опытным программистам, желающим научиться использовать GPU для вычислений. Но даже неопытный, но прилежный программист легко всё поймёт. Читать дальше ->
Apache Ignite – распределенная база данных в памяти, подобные БД получают распространение и хочется сравнить с тем что уже есть и зарекомендовало себя, например реляционная СУБД Oracle. Ignite имеет широкие возможности распределенных вычислений, также есть поддержка SQL на уровне ANSI-99, в производительности SQL и хочется сделать некоторое сравнение. Настройка БД будет в обоих случаях во многом по умолчанию, в случае Oracle это XE, а в случае Ignite это два узла(node) на одном компьютере. Компьютер i5 7400 (4-ядра) 3.5Ггц, 8Гб ОЗУ, SSD диск.
В качестве тестовых данных буду использовать данные КЛАДР (~223 тыс. записей) в качестве среды выполнения запросов DBeaver в котором настроены два подключения к Ignite и Oracle. И первое что сделаю импортирую данные в таблицы, Данные КЛАДР из DBF переведу в CSV, а затем средствами DBeaver выполню импорт в таблицы. Читать дальше →
Я не буду пояснять каждую строчку кода, укажу только необходимые действия для реализации вычислений на GPU. Поэтому, лучше всего открыть код программы в Юнити и там смотреть, как используются поясняемые мной строчки кода.
Шейдер, который рисует фрактал, написан на языке HLSL. Ниже приведён его текст. Я кратко прокомментировал значимые строки, а развёрнутые объяснения будут ниже. Читать дальше ->
В начале декабря стало известно, что подводный телекоммуникационный кабель Sea-Me-We 3, который обеспечивает связь между странами Юго-Восточной Азии, Ближнего Востока и Западной Европы, в очередной раз вышел из строя. Проблему почувствовали в Азии и Австралии.
В данном релизе мы добавили новые новые способы убедиться, что вносимые в код изменения будут безопасны и не приведут к падению производительности, улучшили процессы планирования и совместной работы, сборки и релиза.
Как можно развлечься в новогодние праздники? Поиграть в компьютерные игры? Нет! Лучше написать бота, который это будет делать за тебя, а самому пойти лепить снеговика и пить глинтвейн.
Когда-то в школьные годы был увлечен одной из популярных MMORPG — Lineage 2. В игре можно объединяться в кланы, группы, заводить друзей и сражаться с соперниками, но в общем игра наполнена однообразными действиями: выполнением квестов и фармом (сбор ресурсов, получение опыта).
В итоге решил, что бот должен решать одну задачу: фарм. Для управления будут использоваться эмулированные клики мыши и нажатия клавиш клавиатуры, а для ориентирования в пространстве — компьютерное зрение, язык программирования — Python.
Наверное многим, кто начинал изучать Erlang и Open Telecom Platform (OTP), было непросто запомнить все возможные настройки супервизора или ген-сервера, а также порядок входящих аргументов и формат возвращаемых значений. Основная сложность заключается в том, что описание любого процесса, будь то инициализация супервизора или синхронный вызов ген-сервера, находится в разных частях одной страницы документации. В самом начале освоения OTP такая навигация приводит к потере контекста и замедлению обучения. Не найдя шпаргалки по OTP на просторах интернета, пришлось создать свою. Надеюсь, она поможет вам в изучении (все картинки на английском языке).
Многие книги по столярному и плотницкому делу начинаются с рассказа о правильной организации рабочего места и инструмента. Мне хочется верить, что навыки разработки – это тоже культура и мастерство. Рациональный подход к рабочему окружению позволяет снизить стоимость разработки и последующей доработки проекта благодаря раннему обнаружению проблем и повышению производительности труда разработчика. Тема, конечно же, обширна, и я планирую написать цикл статей:
Когда был доеден новогодний оливье, мне стало нечего делать, и я решил скачать себе на компьютер все статьи с Хабрахабра (и смежных платформ) и поисследовать.
Получилось несколько интересных сюжетов. Первый из них — это развитие формата и тематики статей за 12 лет существования сайта. Например, достаточно показательна динамика некоторых тем. Продолжение — под катом.
Обычно когда мне нужно использовать какой-то новый сервис или технологию из скриптов Perl, я захожу на CPAN, и там уже есть один или несколько подходящих модулей. Однако в случае фреймворков для работы с узлами блокчейна Ethereum и контрактами Solidity, к сожалению, мне не удалось найти нужного модуля.
Мы планируем в ближайшее время использовать смарт-контракты Solidity сети Ethereum в нашем SAAS-сервисе интернет-магазинов, написанном на Perl. Поэтому мне ничего не оставалось, как написать свой модуль Net::Ethereum (этот модуль уже доступен на CPAN, хотя и в виде альфа-версии).
Надеюсь, что модуль Net::Ethereum будет полезен тем, кто хочет интегрировать свои Perl-системы с контрактами блокчейна Ethereum. Буду очень благодарен тем, кто воспользуется этим модулем и пришлет мне свои соображения по его доработке, а также информацию о найденных ошибках. Читать дальше ->
Вашему вниманию предлагается перевод свежей статьи Брюса Доусона – разработчика, сегодня работающего в Google над Chrome для Windows.
Недавнее открытие уязвимостей Meltdown и Spectre напомнило мне о том случае, как однажды я обнаружил подобную уязвимость в процессоре Xbox 360. Её причиной была недавно добавленная в процессор инструкция, само существование которой представляло собой опасность.
В 2005 году я занимался процессором Xbox 360. Я жил и дышал исключительно этим чипом. У меня на стене до сих пор висят полупроводниковая пластина процессора диаметром в 30 см и полутораметровый постер с архитектурой этого CPU. Я потратил так много времени на то, чтобы понять, как работают вычислительные конвейеры процессора, что, когда меня попросили выяснить причину загадочных падений, я смог интуитивно догадаться о том, что к их появлению могла привести ошибка в дизайне процессора.
Однако, прежде чем перейти к самой проблеме, сначала немного теории. Читать дальше ->
Данная статья будет обзорной, без особых деталей разработки ПО. Моей целью является познакомить читателя с опытом, который я приобрел пока участвовал в стажировке в роли наставника. Я не называю компанию, в которой работаю и не называю проект, в котором участвовал так как это противоречит правилам ресурса.
Введение
В Томске сложно найти разработчиков, даже среди казалось бы такого популярного стека как php + mysql. Собственно, идея участия возникла из-за проблем с нехваткой кадров, и мы (компания) решили пойти на эксперимент и попробовать найти сотрудников среди людей с небольшим опытом. Как-то на кухне был поднят вопрос о том, кто и что знает про проекты для стажеров, новчиков. Нашлись те, кто уже участвовал, поделились, обсудили. Я сообщил о том, что готов принять участие.
Допустим, что мы наблюдаем процесс точения детали. Зададимся вопросом: кто точит деталь? Ответом может быть: Иванов, токарь, начальник цеха, друг Петрова. Мы можем сказать, что это один и тот же человек, но потом понимаем, что токарь – не человек, а роль, начальник цеха и друг – тоже. Так кто же точит деталь?
Пусть есть событие «яблоко поспело». До этого события яблоко было зеленым, после этого события яблоко стало красным. Вопрос: каким было яблоко в процессе совершения самого события?
Как я говорил, две проекции на время и на пространство дают представление о моделируемом пространственно-временном объеме. Существует три способа спроецировать 4-Д объем на время:
в виде события (операции),
конечного множества событий (операций) (сценарий),
бесконечного множества событий (операций) (функция).
Привет, Хабр. Я Иван Бакаидов. Сегодня я хочу поделиться с вами своим докладом “Почему я не могу пользоваться твоим сайтом?”. В этом докладе я рассказываю о проблемах доступности современного Веба для людей с особенностями здоровья. Уверен, что вы не задумывались над этой проблемой, хотя для некоторых пользователей это может быть решающим фактором в использовании вашего ресурса. Даже обычные статьи на хабре плохо читаются скринридерами, так как никто не указывает описание изображения в alt.
Под катом будет представлено небольшое описание содержания Видео, а еще полезные ссылки по теме, а также выдержки из моих постов про баттлы с Yota и Сбербанком.
Одним из достоинств Angular является широкий набор инструментов “из коробки”, которые позволяют быстро создавать формы любой сложности.
В Angular существует 2 подхода к созданию форм:
Template-driven forms — подход, в котором ключевую роль играет шаблон компонента, и все описание производится в нем — этот подход является развитием работы с формами в AngularJS;
Reactive forms — новый подход для работы с формами в реактивном стиле. Описание формы происходит в компоненте в виде дерева объектов, после чего это дерево связывается с шаблоном. Все манипуляции (проверка валидности, подписка на изменение значения и прочее) производятся в компоненте, что делает работу более гибкой, удобной и предсказуемой.
В данной статье мы разберем, как начать работать с reactive forms на примере простой формы с валидацией и сообщениями об ошибках. Код примера. Читать дальше →
В двух предыдущих материалах этой серии мы рассказывали о популярных библиотеках для веб-фреймворков React и Angular. Сегодня представляем вашему вниманию 11 библиотек для Vue, на которые стоит обратить внимание в этом году.
От имени команды Uber AI Labs, которая также включает Joel Lehman, Jay Chen, Edoardo Conti, Vashisht Madhavan, Felipe Petroski Such и Xingwen Zhang.
В области обучения глубоких нейронных сетей (DNN) с большим количеством слоев и миллионами соединений, для тренировки, как правило, применяется стохастический градиентный спуск (SGD). Многие полагают, что способность SGD эффективно вычислять градиенты является исключительной особенностью. Однако мы публикуем набор из пяти статей в поддержку нейроэволюции, когда нейронные сети оптимизируются с помощью эволюционных алгоритмов. Данный метод также является эффективным при обучении глубоких нейронных сетей для задач обучения с подкреплением (RL). Uber имеет множество областей, где машинное обучение может улучшить его работу, а разработка широкого спектра мощных подходов к обучению (включая нейроэволюцию), поможет разработать более безопасные и надежные транспортные решения. Читать дальше ->
Экспертная система (далее по тексту — ЭС) — это информационная система, назначение которой частично или полностью заменить эксперта в той или иной предметной области. Подобные интеллектуальные системы эффективно применяются в таких областях, как логистика, управление воздушными полетами, управление театром военных действий. Основною направленной деятельностью предсказание, прогнозирование в рамках определенного аспекта в предметной области.
Сегодня решил поделиться статьей как однажды мне пришел на выручку связанный сервер при работе с MSSQL. Сначала опишу ситуацию, в которой мне пришлось с ним познакомиться. Читать дальше ->
Самое примечательное событие уходящего года для блога Intel: несмотря ни на что, нам по-прежнему удается его вести. И при этом мы даже можем сказать, что по качественным показателям произошел некоторый рост. Выражаясь модным сейчас языком, можно сказать, что мы достигли дна и от него оттолкнулись. И это, конечно, нас радует — всегда приятно видеть свои достижения. Ну а теперь блог-2017 в цифрах и фактах. Читать дальше ->