Как стать автором
Поиск
Написать публикацию
Обновить
57
0
Eugene @eReS

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

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

Вы — не Google

Время на прочтение7 мин
Количество просмотров103K
Мы, программисты, иногда почему-то сходим с ума. Причём по каким-то совершенно нелепым причинам. Нам нравится думать о себе, как о супер-рациональных людях, но когда дело доходит до выбора ключевой технологии нового продукта, мы погружаемся в какое-то безумие. Вдруг оказывается, что кто-то слышал что-то об одной классной вещи, а его коллега читал комментарий о другой на Хабре, а третий человек видел пост в блоге о ещё чём-то похожем… и вот мы уже пребываем в полнейшем ступоре, беспомощно барахтаясь в попытках выбора между совершенно противоположными по своей сути системами, уже и забыв, что мы вообще пытаемся выбрать и почему.

Рациональные люди не принимают решения таким образом. Но именно так программисты часто решают использовать что-то вроде MapReduce.

Вот как комментировал этот выбор Joe Hellerstein своим студентам (на 54-той минуте):

Дело в том, что в мире сейчас есть где-то 5 компаний, обрабатывающие данные подобных объёмов. Все остальные гоняют все эти данные туда-сюда, добиваясь отказоустойчивости, которая им на самом деле не нужна. Люди страдают гигантоманией и гугломанией где-то с середины 2000-ых годов: «мы сделаем всё так, как делает Google, ведь мы же строим один из крупнейших (в будущем) сервисов по обработке данных в мире!»

image

Сколько этажей в вашем датацентре? Google сейчас строит четырёхэтажные, как вот этот в Оклахоме.
Читать дальше →

Обзор исследований в области глубокого обучения: обработка естественных языков

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


Это третья статья из серии “Обзор исследований в области глубокого обучения” (Deep Learning Research Review) студента Калифорнийского университета в Лос-Анджелесе Адита Дешпанда (Adit Deshpande). Каждые две недели Адит публикует обзор и толкование исследований в определенной области глубинного обучения. В этот раз он сосредоточил свое внимание на применении глубокого обучения для обработки текстов на естественном языке.
Читать дальше →

Как не облажаться с дизайном. Инструкция для чайников за 5 минут

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


Перевод «Я люблю ИП»


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


Если вы не верите, что можете научиться дизайну, просто вспомните слова легендарного Дэвида Грола (барабанщик в группе Nirvana, гитарист и вокалист FooFighters, прим. ред.) об изучении новых вещей:


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

А теперь, помня эти слова, вы готовы к нашему крэш-курсу? Пристегните ремни, мы начинаем в произвольном порядке.


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

Введение в OpenCV применительно к распознаванию линий дорожной разметки

Время на прочтение7 мин
Количество просмотров38K
Привет, Хабр! Публикуем материал выпускника нашей программы Deep Learning и координатора программы по большим данным, Кирилла Данилюка о его опыте использования фреймворка компьютерного зрения OpenCV для определения линий дорожной разметки.

image

Делаем любой объект потокобезопасным

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

В этих 3-ех статьях я детально расскажу об атомарных операциях, барьерах памяти и о быстром обмене данными между потоками, а так же о «sequence-points» на примере «execute-around-idiom», а заодно постараемся вместе сделать что-нибудь полезное — умный указатель, который делает любой объект потоко-безопасным для любых операций с его членами переменными или функциями. А затем покажем как используя его достичь производительности высоко-оптимизированных lock-free алгоритмов на 8 — 64 ядрах.
Читать дальше →

Пост-эффекты в мобильных играх

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


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

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

Помимо того, что пост-эффекты (точнее — их не очень грамотное использование) являются предметом ненависти среди игроков, они также едва ли не единственный способ быстро и дешево «оживить» и «освежить» картинку. Насколько качественным получится это «оживление» и не обернется ли оно в результате «свежеванием», зависит по большей части от художников.
Читать дальше →

Дизайн Кейс: MroSupply E-commerce Site

Время на прочтение10 мин
Количество просмотров6.9K
image
Главная страница сайта

Case Study: MroSupply E-commerce Site


MroSupply — компания которая занимается продажей промышленных товаров с 1898 года. Сайту mrosupply.com сейчас уже более 6 лет, на данный момент на нем насчитывается более 200 брендов и 700 000 доступных товаров для покупки. Среди их постоянных клиентов такие бренды как Coca Cola, 7up, United, Whole Foods, Hormel Foods и многие другие.

Что мы делали в этом проекте


В рамках этого проекта мы делали всю визуальную часть для пользователя. В список работ входили такие услуги как:
— Research
— Strategy
— User Experience (UX)
— Wireframing
— User Interface (UI)
— Visual Design
— Prototyping
— Guides
— Front End Development

То есть фактически мы делали всю работу кроме Back End разработки, поскольку у заказчика была своя команда которая уже продолжительное время работает над этим проектом.
Читать дальше →

Как фанат игры для Sega Master System делал её ремейк

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

Бен Фике (Ben Fiquet) в детстве провёл немало времени, бродя по диковинным мирам игры 1989 года Wonder Boy III: The Dragon’s Trap. Эта игра произвела на него большое впечатление. Спустя много лет эти детские ощущения вернулись, когда Фике начал работать над её ремейком. У него появилась возможность привнести свои идеи в игру, которую полюбил давным-давно.

«Думаю, я хотел сделать эту игру с тех пор, когда впервые увидел её», — говорит он. «В сущности своей это живой и прекрасный мир, в котором можно легко потеряться».

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

С чего начать?


«Когда мы начали, это было похоже на любительский проект», — рассказывает Фике. «Мы не знали, что он воплотится в реальность. Поэтому я даже особо не думал о нём и просто начал рисовать то, что, как мне казалось, наиболее соответствует игре. Но я знал, что хочу внести что-то новое и уникальное».

Он пытался ухватить то чувство детской радости, которое возникало при исследовании фантастических миров. «Я хотел, чтобы новые игроки получили те же впечатления, что и я в детстве», — говорит Фике.


Иллюстрации Фике вдохновлялись аниме и французскими комиксами
Читать дальше →

В Германии испытали летающий электромобиль

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


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

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

Метарегулярные выражения на D

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

Пробежался по хабам и не нашел ничего написанного одновременно в хабы "D" и "Ненормальное программирование". Может сложиться совершенно ложное представление что на D пишут исключительно нормальные люди, или еще хуже того — что знание D автоматически делает из любого программиста нормального человека. Спешу опровергнуть.


Хотя сам я строго говоря программистом на D не являюсь — у меня нет ни одного промышленного проекта, зато я периодически с удовольствием роюсь в чужом коде выковыривая вкусные изюминки. А еще я пишу для себя небольшие утилиты, чаще всего для обработки текстовых данных, то что обычно делается на скриптовых языках, благо D предлагает очень неслабый набор инструментов для работы со строками.
Ну а там где текстовые процессоры, там и регулярные выражения, как же без них. И здесь D снова оказывается на высоте, по легкости и удобству использования его библиотека регулярных выражений приближается к Perl. Но в Perl регулярки являются частью синтаксиса, можно сказать что сам язык выстроен в значительной мере вокруг них, а в D это вполне себе независимый модуль — std.regex из стандартной библиотеки написанный Дмитрием Ольшанским. Еще один замечательный момент — парсер выражения может быть построен во время компиляции (естественно если само выражение задано литералом), и разумеется я не мог удержаться чтобы не посмотреть как оно внутри устроено.
И вот тут то, разбираясь в деталях у меня слетела шляпа возникла мысль, а нельзя ли вызывать одно регулярное выражение изнутри другого? Не вставить литерал (как тривиально можно сделать в Perl например), а непосредственно вызвать скомпилированный код одного выражения изнутри другого. Достаточно на мой взгляд дурацкая идея чтобы с ней стоило поиграть.
Итак, чего мы хотим? Примерно вот такого (пока это псевдокод):


INT=regexp("\d+");
LIST=regexp("INT(,INT)*");
Читать дальше →

Как мы Redis Cluster готовили

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


В мире опен сорс есть огромное количество технологий, подходов, паттернов, тулзов и аппов, которые юзает очень много компаний. Как превратить используемое ПО или технологию в конкурентное преимущество? Предлагаю рассмотреть на примере Redis Cluster — как мы прокладывали наш путь.
Читать дальше →

Как говорить с искусственным интеллектом?

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

Перевод поста Стивена Вольфрама (Stephen Wolfram) "How Should We Talk to AIs?".
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации



Содержание


Вычисления — это сила
Язык вычислительного мышления
Понимание ИИ
Что будет делать ИИ?
Постановка целей для ИИ
Разговор одного ИИ с другим
Сбор информации: обзор миллиарда лет
А что, если бы каждый мог писать код?
Действительно ли это будет работать?
Скажу больше



Еще совсем недавно идея иметь компьютер, который может отвечать на вопросы на английском языке, казалась научной фантастикой. Но когда мы в 2009 году выпустили Wolfram|Alpha, одним из самых больших сюрпризов (по крайней мере, для меня!) стало то, что мы сумели сделать наш продукт реально работающим. И теперь люди ежедневно задают личным помощникам несметное количество вопросов — на обычном разговорном языке.



Все это достаточно неплохо работает (хотя мы всегда стараемся сделать лучше!). Но как насчет более сложных вещей? Как общаться с искусственным интеллектом?

Я долго думал об этом, пытаясь совместить философию, лингвистику, неврологию, информатику и другие области знания. И я понял, что ответ всегда был перед моим носом, и лежал он в той сфере, которой я занимался последние 30 лет: Wolfram Language.

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

Экскурсия по научному центру Глазго — и про разработку игры по «Фиксикам»

Время на прочтение5 мин
Количество просмотров11K
После того, как мы всем Хабром собрали игру с лучшими моментами детства, пришла идея сделать набор с описанием полезных опытов дома. Ну, знаете, с ответами на вопросы, кто дует изнутри фена и как сделать огнемёт из тостера и пылесоса как поставить пару безопасных опытов на кухне и в ванной.


Вот так выглядит здание научного центра Глазго: даже фонари рядом на солнечных элементах



Мы пошли к авторам «Фиксиков» и сказали – давайте лицензию. Дальше – стандартный путь продукта. Главный вопрос был в том, какие опыты брать для шестилеток. И вот здесь нам пригодился опыт детских секций в научных центрах в разных городах. Про Кейптаун я уже рассказывал, поэтому сейчас хотел бы показать отличный научный центр Глазго и рассказать, что и как отразилось на будущей игре.

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

Быстрый старт: обзор основных Deep Learning фреймворков

Время на прочтение6 мин
Количество просмотров25K
Привет, Хабр! Предлагаем вам перевод поста “Getting Started with Deep Learning” от Мэтью Рубашкина из Silicon Valley Data Science о преимуществах и недостатках существующих Deep Learning технологий и о том, какой фреймворк выбрать, учитывая специфику задачи и способности команды.
image
Читать дальше →

Одномерная линейная регрессия, SQL и машинное обучение

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

Всем привет. Это моя первая статья на Хабре, буду рад критике и комментариям.


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


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

Открытый курс машинного обучения. Тема 7. Обучение без учителя: PCA и кластеризация

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

Привет всем! Приглашаем изучить седьмую тему нашего открытого курса машинного обучения!


Данное занятие мы посвятим методам обучения без учителя (unsupervised learning), в частности методу главных компонент (PCA — principal component analysis) и кластеризации. Вы узнаете, зачем снижать размерность в данных, как это делать и какие есть способы группирования схожих наблюдений в данных.


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.


Видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).

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

Логика сознания. Часть 12. Поиск закономерностей. Комбинаторное пространство

Время на прочтение26 мин
Количество просмотров36K
imageПоэзия — та же добыча радия.
В грамм добыча, в годы труды.
Изводишь единого слова ради
Тысячи тонн словесной руды.
Но как испепеляюще слов этих жжение
Рядом с тлением слова-сырца.
Эти слова приводят в движение
Тысячи лет миллионов сердца.

Владимир Маяковский


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

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

101 бесплатный сервис для дизайнера

Время на прочтение10 мин
Количество просмотров212K
Представляем вам подборку бесплатных сервисов для дизайнера. Это первый вариант, в дальнейшем планируем расширять, добавляя новые разделы и инструменты.


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

Специализированный ASIC от Google для машинного обучения в десятки раз быстрее GPU

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


Четыре года назад компания Google осознала реальный потенциал использования нейронных сетей в своих приложениях. Тогда же она начала внедрять их повсеместно — в перевод текстов, голосовой поиск с распознаванием речи и т. д. Но сразу стало понятно, что использование нейросетей сильно увеличивает нагрузку на серверы Google. Грубо говоря, если бы каждый человек осуществлял голосовой поиск на Android (или диктовал текст с распознаванием речи) всего три минуты в день, то Google пришлось бы увеличить количество дата-центров в два раза (!) просто чтобы нейросети обработали такое количество голосового трафика.

Надо было что-то предпринимать — и Google нашла решение. В 2015 году она разработала собственную аппаратную архитектуру для машинного обучения (Tensor Processing Unit, TPU), которая до 70 раз превосходит традиционные GPU и CPU по производительности и до 196 раз — по количеству вычислений на ватт. Под традиционными GPU/CPU имеются в виду процессоры общего назначения Xeon E5 v3 (Haswell) и графические процессоры Nvidia Tesla K80.
Читать дальше →

Пиши на C как джентльмен

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

«Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you
Code Monkey like you»

— Jonathan Coulton — Code Monkey


Я думаю, многим знакома эта шикарная песня Jonathan Coulton'а, и эта жизненная ситуация, когда «Rob say Code Monkey very diligent», но «his output stink» и «his code not 'functional' or 'elegant'».

Язык Си, подаривший нам столько полезного софта, потихоньку был вытеснен из десктопа и энтерпрайза такими высокоуровневыми гигантами как Java и C# и занял нишу системного программирования. И все бы хорошо, но системщики — очень отбитые своеобразные ребята. Задачи, которые порой возникают перед ними даже своей формулировкой способны вогнать в ужас простых смертных. Собственно говоря, так же, как и некоторые решения.

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

Информация

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