Как стать автором
Обновить
21.7
Карма
0
Рейтинг
Дмитрий Бабокин @DmitryBabokin

Compilers

  • Публикации
  • Комментарии

Почему никто не может «побить» пробег Теслы

Энергия и элементы питанияТранспортБудущее здесь
Перевод

Изображение: Audi AG

На этой неделе я совершил ошибку. Я твитнул. Я твитнул что, мол, мне, конечно, нравится Porche Taycan, но я немного разочарован тем, что он, спустя столько лет после выхода оригинальной Tesla Model S так и не смог превзойти ее пробег. И пока я придерживался мнения, что Taycan фундаментально вообще ничего не изменил, Audi нашли время и объяснили что конкретно принесли на рынок электромобили не от Tesla.
Читать дальше →
Всего голосов 74: ↑65 и ↓9 +56
Просмотры65.6K
Комментарии 348

Новости

Показать еще

SMT-решатель на iPhone

Высокая производительностьМатематикаПроцессоры
Перевод
Зачем покупать дорогой ПК, если ваш iPhone быстрее решает SMT?

Задача выполнимости формул в теориях (satisfiability modulo theories, SMT) — это задача разрешимости для логических формул с учётом лежащих в их основе теорий. — Википедия

Несколько дней назад я написал в твиттере: «Любопытный эксперимент: на новом iPhone прувер Z3 работает быстрее, чем на моём (довольно дорогом) десктопном Intel. Пора перевести все формальные методы исследований на телефон».


Я читал о невероятном прогрессе, которого добились разработчики процессоров Apple, и что скоро маки переведут на собственные ARM-процессоры от Apple. Эти отчёты обычно ссылаются на некоторые кросс-платформенные тесты, такие как Geekbench для демонстрации, что мобильные процессоры Apple не уступают мобильным и настольным процессорам Intel. Но я всегда немного скептически относился к этим кросс-платформенным тестам (как и к другим) — действительно ли они отражают скорость выполнения реальных задач, для которых я использую свои Mac?
Читать дальше →
Всего голосов 21: ↑18 и ↓3 +15
Просмотры10.8K
Комментарии 36

Жизнь внутри черной дыры

Научно-популярноеФизикаАстрономия
Знаю, что здесь это якобы не приветствуется, но делаю кросс-пост отсюда по прямой просьбе автора — Горькавого Николая Николаевича. Есть некоторый шанс, что их идея перевернёт современную науку. И лучше прочитать о ней в оригинале, чем в пересказе рен-тв или ленты.ру.

image

Для тех, кто не следил за темой. Рассмотрим две вращающихся друг вокруг друга чёрных дыры, допустим, массами 15 и 20 единиц (масс Солнца). Рано или поздно они сольются в одну черную дыру, но её масса будет не 35 единиц, а, скажем, всего 30. Остальные 5 улетят в виде гравитационных волн. Именно эту энергию улавливает гравитационный телескоп LIGO.

Суть идеи Горькавого и Василькова в следующем. Допустим, вы наблюдатель, сидите в своём кресле и чувствуете притяжение 35 единиц массы делить на квадрат расстояния. И тут бац — буквально за секунду их масса уменьшается до 30 единиц. Для вас, в силу принципа относительности, это будет неотличимо от ситуации, когда вас отбросило в обратном направлении с силой в 5 единиц, делить на квадрат расстояния. То есть, неотличимо от антигравитации.

Читать дальше →
Всего голосов 91: ↑86 и ↓5 +81
Просмотры108.1K
Комментарии 588

Моноиды, полугруппы и все-все-все

Блог компании JUG Ru Group.NETHaskellC#Функциональное программирование
Перевод

Если ты на практике используешь ООП, то хорошо разбираешься в таких вещах, как «паттерны проектирования». А знаешь ли ты, что есть множество полезных паттернов, которые не укладываются в этот стандартный список? К сожалению, многие из них связаны с «функциональным программированием», которое, согласно легенде, сложное и заумное. Если десять раз сказать слово «моноид», можно вызвать Дьявола.


Mark Seeman расскажет о функциональном программировании просто и быстро. Для этого он начал писать цикл статей, посвященных связи между паттернами проектирования и теорией категорий. Любой ООПшник, у которого есть 15 минут свободного времени, сможет заполучить в свои руки принципиально новый набор идей и инсайтов, касающихся не только функциональщины, но и правильного объектно-ориентированного дизайна. Решающим фактором является то, что все примеры — это реальный код на C#, F# и Haskell. Этот хабрапост — перевод самого начала цикла, первых трех статей, слитых воедино для удобства понимания.


Кроме того, с Марком можно пообщаться вживую, посетив конференцию DotNext 2017 Moscow, которая состоится 12-13 ноября 2017 г. в Москве, в «Славянская Рэдиссон». Марк прочитает доклад на тему «From dependency injection to dependency rejection». Билеты можно взять здесь.

Читать дальше →
Всего голосов 60: ↑57 и ↓3 +54
Просмотры31.9K
Комментарии 22

Полный кошмар: USB-C и Thunderbolt 3

Компьютерное железоПериферияIT-компании
Перевод
Купили ли вы уже себе новый MacBook или MacBook Pro? А может, Google Pixel? Вы находитесь на пороге путаницы, благодаря этим новым портам «USB-C». Этот простецкий на вид порт таит в себе вселенскую путаницу, и благословенная обратная совместимость использует различные кабели для различных задач. Покупателям придётся очень аккуратно выбирать себе кабель!



USB Type-C: порты и протоколы


Порты USB Type-C распространились достаточно широко, Google начал использовать их на своих компьютерах и телефонах Pixel и Nexus, Apple применяет их на 12" MacBook, а теперь ещё и на новых MacBook Pro. Это физическая спецификация для 24-контактного двустороннего штекера и соответствующих кабелей. В этой статье я буду называть этот физический кабель и порт «USB-C», как наиболее часто используемый термин. Google сообщает, что этот порт называют «USB-C» 21 миллион раз, «USB C» 12 миллионов раз, а правильно, «USB Type-C», всего 8,5 миллионов раз.
Читать дальше →
Всего голосов 71: ↑69 и ↓2 +67
Просмотры310.9K
Комментарии 159

Похоже, с помощью нейронных сетей появился шанс слабый ИИ сделать сильным

Искусственный интеллект
Из песочницы


Рост интереса к разработкам в сфере искусственного интеллекта связан не только с увеличением производительности компьютеров, но и с рядом качественных прорывов в машинном обучении. И хотя все планомерно идет к тому, что успех более чем вероятен, и в возможности создания в обозримом будущем сильного ИИ уже мало кто сомневается, одной важной стороне этого процесса уделяется незаслуженно мало внимания.
Читать дальше →
Всего голосов 58: ↑51 и ↓7 +44
Просмотры48.7K
Комментарии 191

Google ставит машинное обучение во главу угла

Искусственный интеллектБудущее здесьIT-компании
Перевод

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


Карсон Холгейт [Carson Holgate] тренируется на ниндзя. Но не в рукопашном бою – это она уже освоила. Ей 26 лет, и у неё чёрный пояс второго дана по тхэквондо. На этот раз она тренируется в алгоритмах – и вот уже несколько недель проходит программу, которая даст ей силу даже большую, чем дает рукопашный бой. Это машинное обучение, МО. Она работает программистом в Google, в подразделении Android. Холгейт – одна из 18 программистов, участвующих в этом году в программе «Ниндзя машинного обучения», которая выдёргивает талантливых кодеров из их команд и вводит в программу в стиле «Игра Эндера». В рамках программы их обучают техникам внедрения ИИ, которые должны сделать их продукты умнее. Даже ценой усложнения их программ.



«Наш слоган: „Хотите стать ниндзя в машинном обучении?“,- говорит Кристин Робсон, менеджер продукта в области МО во внутренних курсах Google, помогавшая внедрять программу. „Мы приглашаем людей из Google, чтобы провести шесть месяцев внутри команды МО, находиться рядом с наставником, работать над МО полгода, делать свой проект, запускать его и обучаться в процессе“.

Для Холгейт, пришедшей в Google почти четыре года назад с дипломом по информатике и математике, это шанс овладеть самой горячей парадигмой мира софта. Используя обучающиеся алгоритмы и большие объёмы данных, „обучать“ программы выполнению задач. Много лет МО было специальностью, которой владели немногие, „элита“. Это время прошло, и есть мнение, что МО, питаемое нейросетями, эмулирующими работу биологического мозга – это истинный путь по наделению компьютеров возможностями человека, а иногда – и сверхчеловека. Google настроен на увеличение численности этой элиты в своей компании, и надеется, что эти знания станут нормой. Программистам вроде Холгейт эта программа может позволить занять место в первых рядах, и учиться у лучших из лучших. „Эти люди делают невероятные модели, имея при этом степени доктора наук,- говорит она, не скрывая восхищения. Она уже привыкла к тому, что участвует в программе, называющей своих учащихся “ниндзя». – Я сперва морщилась, но привыкла".

Учитывая огромное количество сотрудников компании – почти половина из 60 000 работают программистами – этот проект очень мал. Но программа символизирует когнитивный сдвиг. Хотя МО уже давно используется в технологиях Google – и компания уже стала лидером по найму экспертов в этой области – в 2016 году Google просто помешалась на этой теме. На конференции по обучению в конце прошлого года директор Сандар Пичай пояснил намерения корпорации: «МО – это ядро, путь преобразований, через который мы меняем представление о том, как мы достигаем наших целей. Мы вдумчиво применяем его во всех продуктах – будь то поиск, реклама, YouTube или Play. Мы ещё в начале пути, но вы увидите, что мы систематически будем применять машинное обучение во всех этих областях».
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Просмотры17.1K
Комментарии 9

«Отец» Сири показал более умную девушку-помощника по имени Вив

КиберпанкСофтИскусственный интеллект

Текущий каталог знаний Вив о вине: это маленькая часть смыслового графа программы

Вчера на конференции TechCrunch Disrupt состоялась презентация Дага Киттлауса (Dag Kittlaus) — создателя и в прошлом ведущего разработчика программы Siri.

Киттлаус рассказал о прогрессе в разработке нового интеллектуального чатбота — девушки Вив, которая сильно превосходит старую Сири по умственным возможностям. Разработчик продемонстрировал, на какие сложные вопросы отвечает Вив, как она плотно работает со сторонними приложениями и API, насколько лучше у неё память по сравнению с забывчивой и легкомысленной Сири.
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры16.2K
Комментарии 35

Динамическая онтология. Как инженеры Palantir объясняют это ЦРУ, АНБ и военным

Блог компании EdisonРазработка веб-сайтовАлгоритмыBig DataВизуализация данных
Компания Palantir является четвертой по крутости частной компанией Кремниевой долины (после Uber, Xiaomi и Airbnb). Пока Palantir собирает информацию про все на свете, мы собираем информацию про него.



ИТишники додумались как эффективно «монетизировать математику и алгоритмы» (Сегалович, Бакунов), PayPal Mafia додумалась как монетизировать гаджеты Феанора философию (капитализация Palantir — 20 миллиардов долларов).

В десятиминутной лекции сотрудник компании Palantir расскажет про центральную концепцию их системы — динамическую онтологию.


0:00 Привет, я Ашер Синенски, инженер по развертыванию технологий Palantir. Я поговорю о динамической онтологии.
0:08 Очевидно, сейчас, эти два слова выглядят для вас довольно туманно, надеюсь, что к концу разговора вы поймете, какой смысл мы в них вкладываем.
0:17 Перед тем как переходить к делу, поясню: у многих людей проблемы со словом онтология. Что мы подразумеваем под этим словом?
0:24 Если вы посмотрите на корни этого слова, то оно образовано от греческих «онтос» (бытие) и «логия» (изучение чего-либо). По сути, онтология – это категоризация мира.
0:34 Есть много терминов, которые люди используют для описания этого: таксономия, схематизатор модели данных. Но мы используем это, в более широком смысле, как идею, что мы действительно категоризируем мир каким-то образом.
0:43 Идея о построении онтологии для изучения мира не нова. Первым, кто утвердил эту идею, был мужик по имени Платон. Идея Платоновского реализма, в основном, о том, что есть реальные вещи, а есть наше представление о вещах.
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры17K
Комментарии 13

Использование платформы Intel Edison для создания видеоровера

Блог компании IntelРобототехникаDIY или Сделай сам
Перевод
Tutorial


Intel Edison — это умная вычислительная платформа, которая используется для создания различных устройств, в том числе носимых. В мире набирает популярность движение мейкеров, увеличивается число продуктов и решений, которые можно построить с использованием платформы Intel Edison. В этой статье вы вам покажем, как построить видеоровер (вездеход с камерой) с использованием платформы Intel Edison и конструктора Makeblock.
Раз это видеоровер, то он должен иметь камеру. Видео, которое она выдаёт, мы сможем смотреть на компьютере, мобильном телефоне или планшете. Дополнительно мы сможем использовать эти устройства для управления самим вездеходом и камерой.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры5.6K
Комментарии 0

Механизмы и принципы работы памяти головного мозга человека

Научно-популярноеМозг
Из песочницы
image

Поводом написания данной статьи послужила публикация материала американских неврологов на тему измерения емкости памяти головного мозга человека, и представленная на GeekTimes днем ранее.

В подготовленном материале постараюсь объяснить механизмы, особенности, функциональность, структурные взаимодействия и особенности в работе памяти. Так же, почему нельзя проводить аналогии с компьютерами в работе мозга и вести исчисления в единицах измерения машинного языка. В статье используются материалы взятые из трудов людей, посвятившим жизнь не легкому труду в изучении цитоархитектоники и морфогенетике, подтвержденный на практике и имеющие результаты в доказательной медицине. В частности используются данные Савельева С.В. учёного, эволюциониста, палеоневролога, доктора биологических наук, профессора, заведующего лабораторией развития нервной системы Института морфологии человека РАН.
Читать дальше →
Всего голосов 24: ↑21 и ↓3 +18
Просмотры69.9K
Комментарии 39

Oбновление Vim FileStyle

VIM

О прошлом


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

image

Прошло время и плагин получил новый функционал.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры5.1K
Комментарии 4

Современные операционные системы. 4-е изд

Блог компании Издательский дом «Питер»Профессиональная литература
Привет Хаброжители!
У нас вышло 4-е измененное издание книги «Современные операционные системы».

image

Эндрю Таненбаум представляет новое издание своего всемирного бестселлера, необходимое для понимания функционирования современных операционных систем. Оно существенно отличается от предыдущего и включает в себя сведения о последних достижениях в области информационных технологий. Например, глава о Windows Vista теперь заменена подробным рассмотрением Windows 8.1 как самой актуальной версии на момент написания книги. Появился объемный раздел, посвященный операционной системе Android. Был обновлен материал, касающийся Unix и Linux, а также RAID-систем. Гораздо больше внимания уделено мультиядерным и многоядерным системам, важность которых в последние несколько лет постоянно возрастает. Появилась совершенно новая глава о виртуализации и облачных вычислениях. Добавился большой объем нового материала об использовании ошибок кода, о вредоносных программах и соответствующих мерах защиты. В книге в ясной и увлекательной форме приводится множество важных подробностей, которых нет ни в одном другом издании.
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Просмотры54.5K
Комментарии 12

Параллельное программирование с CUDA. Часть 3: Фундаментальные алгоритмы GPU: свертка (reduce), сканирование (scan) и гистограмма (histogram)

Блог компании EPAMGPGPUПараллельное программирование
Tutorial

Содержание


Часть 1: Введение.
Часть 2: Аппаратное обеспечение GPU и шаблоны параллельной коммуникации.
Часть 3: Фундаментальные алгоритмы GPU: свертка (reduce), сканирование (scan) и гистограмма (histogram).
Часть 4: Фундаментальные алгоритмы GPU: уплотнение (compact), сегментированное сканирование (segmented scan), сортировка. Практическое применение некоторых алгоритмов.
Часть 5: Оптимизация GPU программ.
Часть 6: Примеры параллелизации последовательных алгоритмов.
Часть 7: Дополнительные темы параллельного программирования, динамический параллелизм.

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

Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Просмотры23.3K
Комментарии 1

Lock-free структуры данных. Concurrent maps: rehash, no rebuild

ПрограммированиеC++АлгоритмыПараллельное программирование

Пройдем по следам C++ 2015 Russia далее.
В предыдущей статье мы рассмотрели алгоритм для lock-free ordered list и на его основе сделали простейший lock-free hash map. У этого hash map есть недостаток: размер хеш-таблицы постоянен и не может быть изменен в процессе роста числа элементов в контейнере. Это не представляет проблемы, если мы заранее примерно представляем требуемый объем контейнера. А если нет?
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры17.4K
Комментарии 8

Ликбез по типизации в языках программирования

Программирование
Из песочницы
image

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

В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
Читать дальше →
Всего голосов 239: ↑232 и ↓7 +225
Просмотры377.8K
Комментарии 180

Конференция C++ Russia в Москве

Блог компании C++ User GroupC++
Всем привет!
Вновь доносим до вас новости из жизни C++ сообщества в России.

Некоторые из вас знают, для некоторых это будет новостью, но в феврале 2015 года в Москве впервые пройдет конференция, полностью посвященная C++. В течении года мы колесили по стране, привозили в разные уголки необъятной докладчиков из других концов этой самой необъятной. И вот, теперь мы решили, что пора собрать всех на пару дней вместе, чтобы люди смогли послушать друг друга, пообщаться, может быть даже поспорить. Чтобы сделать событие ещё интереснее, мы пригласили открывать событие Шона Пэрента.

Кратко о главном


Что: конференция, целиком посвящённая C++.
Где: Москва, ГТК «Измайлово», гостиница «Альфа» (м. Партизанская).
Когда: 27-28 февраля 2015

Цена: билет стоит 3500 руб.
Сайт: meetingcpp.ru

Краткий обзор тем под катом.
Читать дальше →
Всего голосов 39: ↑37 и ↓2 +35
Просмотры11.5K
Комментарии 15

Об удобной навигации и отладке C++ кода в Vim

C++VIM
Компания, где я работаю, разрабатывает программное обеспечение на C++ под Linux. Долгое время мы использовали Qt Creator, с редкими ребятами работающими из Emacs и Vim. Когда я сам попытался пересесть на Vim, я понял, что ситуация с плагинами для разработки на С++ очень не простая. Поработав немного с CTags, я быстро понял, что без напильника работать в Vim будет очень сложно.
К сожалению, с ростом опыта работы с Vim редактор в Qt Creator в режиме эмуляции устраивал меня все меньше, и в какой-то момент я решил потратить немного времени и разобраться, как же сделать из Vim нормальную среду.
Я очертил для себя четыре вещи, которые я бы хотел от среды разработки, и которых мне бы хватило в Vim, чтобы полностью на него перейти:

1. Автодополнение
2. Навигация по коду
3. Отладка прямо из среды
4. Интеграция с Git (в частности Blame прямо в редакторе, и Git Grep)

Автодополнение в Vim — это решенная проблема, и название у решения YouCompleteMe. Это очень качественный плагин, который реализует автодополнение для большого количества языков программирования, в частности Python и C++. Ходят слухи, что внутри Google YouCompleteMe решает и вторую проблему с навигацией кода, но использует для этого внутренные инструменты гугла для индексирования.

Интеграция с Git в какой-то степени решена с помощью vim-fugitive. Это не такая комплексная интеграция, как бывает у Jet Brains, или в Visual Studio, но сравнимая с тем, что предлагает Qt Creator. Те два сценария, которые нужны были мне: blame и grep — работают хорошо.

Отладка и навигация были проблемами, решенными гораздо хуже. В этой статье я расскажу о плагине, который мы написали для навигации по С++ коду. В конце статьи я также расскажу о том, как мы для себя решили проблему с интегрированным отладчиком.
Читать дальше →
Всего голосов 56: ↑51 и ↓5 +46
Просмотры38.6K
Комментарии 92

Поговорим про Intel® Cilk™ Plus

Блог компании IntelПрограммированиеПараллельное программирование
Мой недавний пост про OpenMP 4.0 натолкнул меня на мысль, что было бы неплохо написать и про Intel Cilk Plus, потому что модель программирования весьма интересная и уж точно заслуживает отдельного внимания. Ну и раз её часть стала фактически новым стандартом OpenMP, то, вероятно, были на то веские причины.
Читать дальше →
Всего голосов 27: ↑22 и ↓5 +17
Просмотры12.2K
Комментарии 22

Процессоры, ядра и потоки. Топология систем

Блог компании IntelСистемное программированиеПараллельное программирование
Tutorial
В этой статье я попытаюсь описать терминологию, используемую для описания систем, способных исполнять несколько программ параллельно, то есть многоядерных, многопроцессорных, многопоточных. Разные виды параллелизма в ЦПУ IA-32 появлялись в разное время и в несколько непоследовательном порядке. Во всём этом довольно легко запутаться, особенно учитывая, что операционные системы заботливо прячут детали от не слишком искушённых прикладных программ.



Используемая далее терминология используется в документации процессорам Intel. Другие архитектуры могут иметь другие названия для похожих понятий. Там, где они мне известны, я буду их упоминать.

Цель статьи — показать, что при всём многообразии возможных конфигураций многопроцессорных, многоядерных и многопоточных систем для программ, исполняющихся на них, создаются возможности как для абстракции (игнорирования различий), так и для учёта специфики (возможность программно узнать конфигурацию).
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры235.9K
Комментарии 18

Информация

В рейтинге
5,855-й
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность