Как именно вы спроектировали бы оптимизирующий компилятор? Точнее, как именно вы спроектировали и реализовали бы конкретные оптимизации? Попытка решить эту задачу за один присест — дело ошеломительно сложное и, пожалуй, даже невозможное, так как оптимизации компилятора во многом заключаются в следующем...
Пользователь
Universal Memcomputing Machines как альтернатива Машине Тьюринга
Небольшой спойлер: в начале это казалось мне какой-то магией, но потом я понял подвох…
В наши дни машина Тьюринга (далее МТ) — универсальное определение понятия алгоритма, а значит и универсальное определение «решателя задач». Существует множество других моделей алгоритма — лямбда исчисление, алгорифмы Маркова и т.д., но все они математически эквивалентны МТ, так что хоть они и интересны, но в теоретическом мире ничего существенно не меняют.
Вообще говоря, есть другие модели — Недетерминированная машина Тьюринга, Квантовые машины Тьюринга. Однако они (пока) являются только абстрактными моделями, не реализуемые на практике.
Полгода назад в Science Advances вышла интересная статья с моделью вычислений, которая существенно отличается от МТ и которую вполне возможно реализовать на практике (собственно статья и была о том, как они посчитали задачу SSP на реальном железе).
И да. Самое интересное в этой модели то, что, по заверению авторов, в ней можно решать (некоторые) задачи из класса NP полных задач за полином времени и памяти.
Я был неправ. Будущее за CRDT
Но начнем сначала.
В 2010 году я работал в Google Wave, где мы пробовали создать совместные редактируемые пространства для замены электронной почты, Google Docks, форумов, мгновенных сообщений и многих других однозадачных приложений. Среди моих инструментов мне особенно нравится среда общего назначения, нигде более как в Wave не сформулированный в то время функционал. В отличие от большинства других инструментов, среда общего назначения не навязывает собственный рабочий процесс, благодаря чему через нее можно планировать праздники, создавать вики-проекты, играть с друзьями в настольные игры, назначать рабочие собрания и много чего еще.
Аналоговые вычисления для искусственного интеллекта: как делать MAC-операцию при помощи закона Ома
Присутствие нейронных сетей в нашей жизни становится все более распространенным, от голосовых ассистентов до узкоспециальных САПР. Несмотря на то, что область применения нейросетей расширяется, их потенциал все еще сильно ограничен удручающей энергоэффективностью существующих хардверных решений. Специализированные AI-чипы выходят в производство, как горячие пирожки, а ожидаемый рост энергопотребления нагруженных AI датацентров уже скоро позволит им отобрать у атомных электростанций звание главного врага всех экоактивистов. Разумеется, над решением проблемы энергопотребления AI или, будем честны, над решением проблемы энергопотребления цифрового умножения работает огромное количество исследователей по всему миру, на всех возможных уровнях абстракции, от математиков-фундаментальщиков до разработчиков передовых литографов.
А дальше, как это регулярно случается, внезапно оказалось, что все новое — это хорошо забытое старое, и спасение может заключаться в том, чтобы откопать давно забытые за бесперпективностью аналоговые вычисления и посмотреть на них свежим вглядом в свете новых задач.
Введение в теорию автоматического управления. Основные понятия теории управления техническим системами
Публикую первую главу лекций по теории автоматического управления, после которых ваша жизнь уже никогда не будет прежней.
Лекции по курсу «Управление Техническими Системами», читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки», факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.
Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика привествуется.
Земля в печатных платах | Слои, компоненты, секции, питание и переходы | Тренинг Рика Хартли
В этой статье представлен большой тренинг Рика Хартли по разводке земли в печатных платах. Перевёл и озвучил данное видео Dmitry Muravyev, за что ему огромное спасибо. Я всего лишь сделала конспект этого замечательного тренинга, чтоб люди могли ознакомиться с ним быстрее, чем смотреть двухчасовое видео, либо вернуться к каким-то отдельным темам, если позабылось. Категорически рекомендую ознакомиться с источником.
Впервые люди начали использовать землю в качестве проводника около 300 лет назад для отведения молний от зданий. Молния сама естественным образом стремится разрядиться на землю. Так что установив железный стержень на крыше здания и проведя от него большой толстый провод вниз по зданию к балке, вбитой в землю, люди отводили молнии от зданий. Это был первый опыт использования земли в качестве возвратного пути для протекания тока. Из чего скоро стало ясно, что землю можно использовать в качестве возвратного пути и для других целей.
Укрощаем суммы с плавающей запятой
Допустим, у нас есть массив чисел с плавающей запятой, и мы хотим их суммировать. Можно наивно подумать, что их достаточно просто сложить, например, на Rust.
Однако это запросто может привести к произвольно большой накопленной погрешности. Давайте проверим:
naive_sum(&vec![1.0; 1_000_000]) = 1000000.0
naive_sum(&vec![1.0; 10_000_000]) = 10000000.0
naive_sum(&vec![1.0; 100_000_000]) = 16777216.0
naive_sum(&vec![1.0; 1_000_000_000]) = 16777216.0
Ой-ёй… Что произошло? Проблема в том .что следующее 32-битное число с плавающей запятой после 16777216
— это 16777218
. Так что при вычислении 16777216 + 1
, значение округляется до ближайшего числа с плавающей запятой, имеющей чётную мантиссу, то есть снова до 16777216
. Мы зашли в тупик.
К счастью, есть более совершенные способы суммирования массива.
Новый релиз большого интерактивного «столетнего» учебника по тестированию
Гуд ньюз эвриван! Вышло большое обновление учебника «100-Year QA‑Textbook — русскоязычная версия» — одного из самых полных источников по тестированию.
С момента первого релиза (100'000 хабр‑просмотров!) прошло полгода.
За это время столетний учебник стал бесплатным пособием для 10'000+ самообучающихся студентов.
Теория типов
Мы так привыкли к типам, что редко задаёмся вопросом, что же они такое на самом деле? А главное - почему возникла необходимость в их использовании? Этот поверхностный обзор сделан для того, чтобы продемонстрировать, как типы и другие связанные абстракции являются следствием из обобщения условий различных задач.
Метод Шерлока Холмса – это «Байесовское рассуждение + вопросы в стиле Акинатора»
Очень часто можно встретить комментарий, что хотя в книге «дедукция», но на самом деле Шерлок Холмс якобы использовал индукцию. Обычно те, кто давно закончил учебу в этот момент пытаются вспомнить, что из них от общего к частному, а что — наоборот. Более продвинутые источники говорят, что ни первое и ни второе, а на самом деле там абдукция. Я же хочу показать, что Теорема Байеса и байесовские лучше всего подходят для описания этого метода (если считать, что метод вообще есть).
Теория конструкторов – наука о том, что можно, а что нельзя
Пока большинство физиков-теоретиков заняты поисками фундаментальной «теории всего», которая должна объединить квантовую теорию поля с общей теорией относительности, некоторые учёные смотрят на это скептическим взглядом и предлагают двигаться совсем в другом направлении. Один из них – Дэвид Дойч – британский физик израильского происхождения, профессор Оксфордского университета, автор книг «Структура реальности» (1997) и «Начало бесконечности» (2011). С 2012 г. он вместе с итальянкой Кьярой Марлетто работает над теорией конструкторов, призванной – ни много ни мало – объединить все наши знания о реальности в единый набор мета-законов, или фундаментальных принципов, определяющих, что может происходить во Вселенной, а что запрещено. Теория конструкторов преподносится авторами как обобщение теории информации на всю остальную физику, а другие разделы физики, включая термодинамику, статистическую механику, теорию квантовых вычислений и даже квантовую механику – как её производные. Изучение конструкторов, по мнению Дойча, даст нам ключ к пониманию, откуда вообще взялись законы физики и почему они работают именно так, а не иначе. Но насколько оправданы его амбициозные заявления? Не является ли теория конструкторов очередной «теорией чего угодно», не дающей никаких предсказаний и неприменимой на практике?
Информационно-технологические средства практического выживания социальных сообществ в условиях отключения Интернета в 2014 году
Месяцем позже (в январе нынешнего года) появление законопроекта, предусматривающего уведомительный порядок создания серверов в Интернете, показало наинагляднейше, что Гостев скорее преуменьшил масштабы намерений отечественных законодателей. Сперва (26 февраля)
Сразу скажу: стремясь с максимальною пользою употребить
Суть такова: к грядущему постепенному уничтожению Интернета неплохо бы оказаться готовым. Готовы ли вы? Возможна ли альтернатива Интернету, свободная от фатальных недостатков, предопределивших его уничтожение?
Предлагаю простое мысленное упражнение ума. Вообразите себя участником обширного социального сообщества, сформировавшегося в Интернете и объединяющего жителей различных отдалённых городов — объединяющего граждан, вполне далёких от личного знакомства и общения в так называемом реальном мире. Один или два сервера, важных для этого сообщества, ужé показывают «ошибку 451°» вместо своей заглавной страницы; а совсем скоро (возможно, ужé къ столѣтію Міровой войны?…) всѣ, всѣ его серверы въ Интернетѣ раздѣлятъ ту же судьбу въ Россіи: сѣть «Интернетъ» станетъ для нихъ «Интернѣтомъ» (отъ слова «нѣтъ»).
Кроме того, вы айтишник.
Как Фёдор Михайлович Достоевский и Фридрих Ницше повлияли на мировоззрение Дарта Вейдера
Некоторое время назад я опубликовал на Хабре пост "Смысл жизни с точки зрения программиста-буддиста", в котором я рассматривал один из ключевых для жизни каждого человека вопросов - как найти смысл собственного существования внутри нашей бесконечной и бессмысленной Вселенной. Однако, я чувствую некоторую недосказанность в этом вопросе. В данном посте я хотел бы привести несколько обдумываемых мною идей и соображений и проанализировать проблему поиска смысла жизни не с личной, а с более отстранённой философской точки зрения.
Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 23
Как составить список тех избирателей, которых нужно посетить обязательно.
Предположим, в вашем избирательном округе живет 320 000 постоянных жителей в 100 000 домах. Сомневаюсь, что у вас достаточно волонтеров, чтобы зайти в каждый из этих домов. К тому же, только 70 000 из всех этих жителей – члены вашей партии, и только от 25 000 из них можно ожидать голосования на праймериз. Эти 25 000 живут примерно в 15 000 отдельных домах (цифры не высосаны из пальца, а основаны на статистических исследованиях). Имеющиеся у вас 100 волонтеров и один неутомимый кандидат смогут обойти эти 15 000 домов только в том случае, если будут знать точно, какие дома нужно посетить обязательно. К счастью, существуют способы, позволяющие это узнать.
TL;DR книги “Искусство заниматься наукой и инженерным делом” Ричарда Хэмминга
На Хабре уже долгое время публикуется совместный перевод (у которого ещё есть отдельный сайт авторства MagisterLudi) замечательной книги Ричарда Хэмминга "The Art of Doing Science and Engineering". Я долгое время хотел её прочитать в оригинале. Да не просто прочитать, а составить насколько возможно краткую выжимку основных идей каждой главы. И вот недавно мне удалось это сделать.
Целью самой книги является "подготовить вас к вашему техническому будущему" путём обучения "стилю" мышления. Поэтому извлечённые идеи в основном имеют достаточно общий характер. Также из-за частого способа передачи идеи в виде историй некоторые пункты статьи являются моей личной их интерпретацией.
Из-за достаточно большого количества материала и его "плотной" подачи данная статья всё равно получилась достаточно объёмной. Поэтому предлагаю её TL;DR.
- Удача сопутствует подготовленному уму (Пастер).
- Подготовка должна осуществляться ориентируясь на будущее, а не на прошлое (но основываясь на нём).
- Стоит стараться достигать цели, которые вы себе поставили, и стоит ставить высокие цели.
Свободный как ветер и бесплатный как пиво перевод «Free as in Freedom» на русский язык под лицензией GNU FDL 1.3
Очень странно, но долгие годы подряд никто не переводил на русский «Free as in Freedom 2.0» — фундаментальную книгу про Ричарда Столлмана и его крестовый поход против проприетарного ПО, соглашений о неразглашении и других вещей, попирающих фундаментальные человеческие свободы в цифровую эпоху. Время это исправить!
«Надежность и безотказность как в Google» — и не только: перевод статьи «Расчёт надёжности сервиса»
Главная задача коммерческих (да и некоммерческих тоже) сервисов — быть всегда доступными для пользователя. Хотя сбои случаются у всех, вопрос в том, что делает IT-команда для их минимизации. Мы перевели статью Бена Трейнора, Майка Далина, Вивек Рау и Бетси Бейер «Расчёт надёжности сервиса», в которой рассказывается, в том числе, на примере Google, почему 100% — неверный ориентир для показателя надежности, что такое «правило четырёх девяток» и как на практике математически прогнозировать допустимость крупных и мелких отключений сервиса и\или его критических компонентов — ожидаемое количество простоя, время обнаружения сбоя и время восстановления сервиса.
Мечтали про интерактивные книги, когда читали фантастику? Я знаю человека, который делает их прямо сейчас
Каково же было мое удивление, когда в прошлом году я наткнулся именно на такие пусть и не книги, но довольно подробные статьи. Делает их калифорнийский iOS-разработчик польского происхождения Бартош Цехановский (Bartosz Ciechanowski). И каждая его статья — штучный товар.
«Культурный код: секреты чрезвычайно успешных групп и организаций» — заметки из книги
Вся книга оказалась на том же уровне, что и вступление. Она полностью поменяла мое представление о работе в командах. Пока из всех книг о работе которые я прочитал, я думаю что «Культурный код» повлиял на меня больше всего. На второе место и третье место я бы поставил "В работу с головой" Кэла Ньюпорта ("Deep Work" by Cal Newport) и "Принципы" Рэя Далио ("Principles: Life and Work" by Ray Dalio).
На мой взгляд, «Культурный код» обязателен к прочтению всем, кто работает в команде.
Этот пост — мои заметки из книги.
Постмодерн в криптографии или как в книгах плодятся симулякры третьего порядка
Данная статья не вышла бы на свет и вовсе, если бы у меня не существовало такого фетиша как скупки книг по криптографии, за счёт которого я откопал ещё недавно выставленную книгу - "Криптография. Основы практического шифрования и криптографии". Книга описывает лишь основы криптографии, но можно ли заблудиться в трёх соснах? Давайте попробуем разобраться.
Information
- Rating
- Does not participate
- Registered
- Activity