Pull to refresh
-8
0
Дюдюка Барбидокская 13 @Duduka

Вреднюка

Send message

В чём важность 196 884 = 196 883 + 1? Как это объяснить на пальцах?

Reading time8 min
Views42K
Автор ответа на Quora — Майкл Гриффин, постдок по математике

Сения Шейдвассер дал очень хороший, простой ответ на этот вопрос, рекомендую прочитать эту краткую версию. Но есть гораздо более удивительная история гипотезы чудовищного вздора (Monstrous Moonshine), смешанной с уравнением Маккея: от виски Jack Daniel’s до чёрных дыр и квантовой гравитации.

В этой истории часто упоминаются симметрии и математические «группы», поэтому начнём с того, что понимается под группой в математике. Группу можно представить как способ переупорядочить набор объектов, сохраняя определённую структуру. Операции в группе должны следовать определённым правилам, например, всегда должна быть возможность отменить операцию, а если вы выполняете одну операцию, а затем другую, то получаете третью операцию в группе.
Читать дальше →
Total votes 70: ↑61 and ↓9+52
Comments141

Breakthrough Philanthropy: прорывные проекты в масштабах Человечества

Reading time12 min
Views4K
Мы создаем отчетливые, ясные, измеряемые требования и говорим: «Нам наплевать откуда ты и что ты когда-либо делал, если ты решишь эту проблему и победишь».
— Питер Диамандис

В 2010 году в Сан-Франциско прошла конференция, где одни из самых влиятельных ИТишников, инвесторов, специалистов по сверхинтеллекту и нанотехнологов (соратников Дрекслера) мозгоштурмили над проектами, которые могут позитивно повлиять на все Человечество и как будет выглядеть будущее с внедрением самых смелых и радикальных технологий.

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

Питер Тиль

PayPal, Palantir, первый инвестор Facebook



Я хочу поблагодарить все замечательные организации за то, что пришли. Я хочу поблагодарить всех вас за то, что благодаря вам состоялся этот вечер. Я бы хотел подвести итог обсудив три отчасти связанные между собой мысли о передовых технологиях.
Total votes 10: ↑10 and ↓0+10
Comments10

Конференция PyCon Russia 2018: видео всех докладов и презентации

Reading time6 min
Views9.4K
22-23 июля прошла шестая конференция для python-программистов PyCon Russia. Под катом — много видео, презентации и фотографии. А еще посмотрите отчетный ролик — в нем коротко о том, как прошел PyConRu-2018.


Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments1

Ещё один С++ plugin framework

Reading time2 min
Views6.2K

Вступление


Кого не посещала, пользуясь open-source библиотеками, мысль: «Спасибо этим парням за эту крутую либу! Когда-нибудь и я напишу что-нибудь стоящее, и выложу это в public, чтоб другие пользовались!»


Да всех! Или не ?..

Читать дальше →
Total votes 23: ↑13 and ↓10+3
Comments15

Обработка ошибок в Go 2

Reading time10 min
Views47K

title


Буквально пару дней назад в Денвере закончилась очередная, уже 5-я по счёту, крупнейшая конференция по Go – GopherCon. На ней команда Go сделала важное заявление – черновики предварительного дизайна новой обработки ошибок и дженериков в Go 2 опубликованы, и все приглашаются к обсуждению.


Я постараюсь подробно пересказать суть этих черновиков в трёх статьях.


Как многим, наверняка, известно, в прошлом году (также на GopherCon) команда Go объявила, что собирает отчёты (experience reports) и предложения для решения главных проблем Go – тех моментов, которые по опросам собирали больше всего критики. В течении года все предложения и репорты изучались и рассматривались, и помогли в создании черновиков дизайна, о которых и будет идти речь.


Итак, начнём с черновиков нового механизма обработки ошибок.

Читать дальше →
Total votes 62: ↑56 and ↓6+50
Comments297

OutOfLine – паттерн размещения в памяти для высокопроизводительных приложений на C++

Reading time5 min
Views8.8K

Во время работы в Headlands Technologies мне посчастливилось написать несколько утилит для упрощения создания высокопроизводительного кода на C++. Эта статья предлагает обобщенный обзор одной из этих утилит — OutOfLine.

Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments33

Этические вопросы искусственного интеллекта

Reading time10 min
Views20K
Автор статьи — Алексей Маланов, эксперт отдела развития антивирусных технологий «Лаборатории Касперского»

Искусственный интеллект врывается в нашу жизнь. В будущем, наверное, все будет классно, но пока возникают кое-какие вопросы, и все чаще эти вопросы затрагивают аспекты морали и этики. Можно ли издеваться над мыслящим ИИ? Когда он будет изобретен? Что мешает нам уже сейчас написать законы робототехники, вложив в них мораль? Какие сюрпризы преподносит нам машинное обучение уже сейчас? Можно ли обмануть машинное обучение, и насколько это сложно?
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments59

Бинарные модули для Python

Reading time17 min
Views15K
Python — классный. Мы говорим «pip install» и скорее всего нужная библиотека поставится. Но иногда ответ будет: «compilation failed», потому что есть бинарные модули. Они практически у всех современных языков страдают какой-нибудь болью, потому что архитектур много, что-то нужно собирать под конкретную машину, что-то нужно линковать с другими библиотеками. В целом интересный, но малоизученные вопрос: а как же их делать и какие там проблемы? На этот вопрос постарался ответить Дмитрий Жильцов (zaabjuda) на MoscowPython Conf в прошлом году.


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

  • Native C/C++ Extension
  • SWIG
  • Cython
  • Ctypes
  • Rust

О спикере: Дмитрий Жильцов занимается разработкой больше 10 лет. Работает в компании ЦИАН системным архитектором, то есть несет ответственность за технические решения и контроль сроков. В своей жизни успел попробовать и ассемблер, Haskell, C, а последние 5 лет активно программирует на Python.
Total votes 51: ↑48 and ↓3+45
Comments15

Краткое руководство по сложным вычислительным задачам

Reading time5 min
Views18K

Что компьютеру сделать легко, а что почти невозможно? Эти вопросы лежат в основе вопроса вычислительной сложности. Представляем вам карту этого ландшафта.



Различные классы сложности сортируют задачи в иерархическом виде. Один класс может содержать все задачи другого, плюс задачи, требующие дополнительных вычислительных ресурсов.

Какова фундаментальная сложность задачи? Такова постановка базовой задачи специалистов по информатике, пытающихся рассортировать задачи по т.н. классам сложности. Это группы, содержащие все вычислительные задачи, требующие не более фиксированного количества вычислительных ресурсов – таких, как время или память. Возьмём простой пример с большим числом типа 123 456 789 001. Можно задать вопрос: является ли оно простым числом – таким, которое делится только на 1 и себя? Специалисты по информатике могут ответить на него при помощи быстрых алгоритмов – таких, что не начинают тормозить на произвольно больших числах. В нашем случае окажется, что это число не является простым. Затем мы можем задать вопрос: каковы его простые множители? А вот для ответа на него быстрого алгоритма не существует – только если использовать квантовый компьютер. Поэтому специалисты по информатике считают, что две этих задачи относятся к разным классам сложности.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments8

Основы Redux (текстовый учебник, 2-е издание)

Reading time2 min
Views18K

Прошло 2.5 года после публикации первой версии подробного туториала по основам Redux. За это время gitbook насчитал 200 000+ уникальных посетителей.


redux cover


Под катом подробнее об учебнике и список изменений.

Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments8

Выпуск Rust 1.28

Reading time3 min
Views7.5K

Команда разработчиков Rust рада сообщить о выпуске новой версии Rust: 1.28.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.


Если у вас установлена предыдущая версия Rust с помощью rustup, то для обновления Rust до версии 1.28.0 вам достаточно выполнить:


$ rustup update stable

Если у вас еще не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.28.0 можно ознакомиться на GitHub.


Что вошло в стабильную версию 1.28.0


Глобальные аллокаторы


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

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments25

Основы работы с фьютексами

Reading time10 min
Views32K
Фьютекс (futex — сокращение от «Fast userspace mutex») — это механизм, предложенный разработчиками Linux из IBM в 2002 году и вошедший в ядро в конце 2003 года. Основной идеей было предоставить более эффективный способ синхронизации пользовательских потоков с минимальным количеством обращений к ядру ОС.

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

Важный момент: фьютексы — это достаточно низкоуровневый инструмент, напрямую его использовать стоит лишь при разработке фундаментальных библиотек, вроде стандартной библиотеки C/C++. Очень маловероятно, что вам понадобится использовать фьютексы в обычном прикладном приложении.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments4

Доклады с весенней конференции С++ Russia 2018

Reading time16 min
Views14K

С 19 по 21 апреля в Санкт-Петербурге прошла конференция С++ Russia 2018. Из года в год организация и проведение становится на уровень выше, что не может не радовать. Спасибо бессменному организатору С++ Russia Сергею Платонову за его вклад в развитие этого направления.
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments3

Расчёт волновых процессов в гидравлической линии методом характеристик

Reading time8 min
Views9.4K


Привет, Хабр! В этой статье я расскажу про создание математической модели длинного трубопровода для CAE-программы SimulationX на языке Modelica. Речь пойдёт о расчёте волновых процессов (пульсации давления, гидроудар и т.п.) в гидравлической линии методом характеристик. Несмотря на то, что этот метод довольно старый, в рунете довольно мало информации о его применении для решения прикладных задач.

Под катом я постараюсь объяснить зачем вообще нужно учитывать волновые процессы в трубопроводах, осветить проблемы, с которыми я столкнулся при программировании и в конце приведу сравнение процесса пульсаций давления при работе трёхплунжерного водяного насоса высокого давления на простой длинный трубопровод в модели и на стенде фирмы URACA в Германии.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments16

С++20 на подходе! Встреча в Рапперсвил-Йона

Reading time7 min
Views19K
В начале июня в городе Рапперсвил-Йона завершилась встреча международной рабочей группы WG21 по стандартизации C++.

Вот что вас ждёт под катом:
  • Контракты и друзья
  • Концепты (без друзей)
  • __has_cpp_attribute(unlikely)
  • bit_cast<my_stuff>(some_array)
  • contains, shift_left, shift_right, ispow2, ceil2… и старые алгоритмы под новым соусом
  • atomic_ref
  • Что нового можно писать в шаблонах и чем это полезно
  • constexpr virtual foo()
  • Parallelism 2, Reflection и Executors TS

Также будет бонус: минисекция для экспертов:

  • user-declared virtual destructor не влияет на тривиальность типа
  • Куда можно будет засунуть восклицательный знак и чем это может быть полезно
  • constexpr std::regex mail_regex(R"((?:(?:[^<>()\[\].,;:\s@\"]+(?:\.[^<>()\[\].,;:\s@\"]+)*)|\".+\")@(?:(?:[^<>()\[\].,;:\s@\"]+\.)+[^<>()\[\].,;:\s@\"]{2,}))")

Добро пожаловать под кат
Total votes 51: ↑50 and ↓1+49
Comments427

Нет никаких законов физики, есть только ландшафт

Reading time6 min
Views20K

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




Допустим, мы попросили Алису и Боба приготовить еду. Алисе нравится китайская еда, Бобу – итальянская. Каждый из них выбрал свой любимый рецепт, закупился в местном магазине, специализирующемся на нужных продуктах, и тщательно следовал инструкциям. Но когда они достали свои блюда из духовки, то очень удивились. Оказалось, что оба блюда идентичны. Можно представить себе, какими экзистенциальными вопросами будут задаваться Алиса и Боб. Как из разных ингредиентов может получиться одно и то же блюдо? Что вообще означает готовка китайского или итальянского блюда? Нет ли в их подходе к готовке какого-то фатального недостатка?

Именно такое недоумение испытывают специалисты по квантовой физике. Они обнаружили множество примеров двух совершенно разных описаний одной и той же физической системы. Только в случае физики ингредиентами служат не мясо и соус, а частицы и силы; рецепты – это математические формулы, кодирующие взаимодействия; а готовка – это процедура квантования, превращающая уравнения в вероятности физических явлений. И, как Алиса с Бобом, физики недоумевают, как разные рецепты привели к одному итогу.
Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments43

Clang. Часть 1: введение

Reading time4 min
Views70K

Что такое Clang?


Я провёл последние несколько месяцев, работая с Clang, фронтендом LLVM. Clang умеет парсить и анализировать любой исходный код на языках семейства С (C, C++, ObjectiveC, и т.п....) и имеет удивительную модульную структуру, которая делает его простым в использовании.


Если вы ищете статический анализатор кода, я настоятельно рекомендую Clang, он существенно превосходит другие статические анализаторы (такие, как CIL...) и хорошо документирован. Также список рассылки Clang очень активен и полезен, если вы застряли на чём-то.

Лично я использую Clang для статического анализа драйверов ввода-вывода ядра Linux, включая драйвера камеры и драйвера DRM графической карты. Код ядра, особенно код драйвера, может быть очень сложным и трудным для анализа, но Clang позволяет нам легко поддерживать его. Давайте посмотрим, что можно сделать с его помощью.
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments23

Разработка веб-приложения на Rust

Reading time11 min
Views33K
Автор материала, перевод которого мы сегодня публикуем, говорит, что его самым свежим экспериментом в области архитектуры программных проектов стало создание рабочего веб-приложения с использованием исключительно языка Rust и с минимально возможным применением шаблонного кода. В этом материале он хочет поделиться с читателями тем, что он выяснил, разрабатывая приложение и отвечая на вопрос о том, готов ли уже Rust к применению его в различных сферах веб-разработки.


Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments12

Shrimp: масштабируем и раздаем по HTTP картинки на современном C++ посредством ImageMagic++, SObjectizer и RESTinio

Reading time16 min
Views6.1K


Предисловие


Наша небольшая команда занимается развитием двух OpenSource инструментов для C++разработчиков — акторного фреймворка SObjectizer и встраиваемого HTTP-сервера RESTinio. При этом мы регулярно сталкиваемся с парой нетривиальных вопросов:

  • какие фичи добавлять в библиотеку, а какие оставлять «за бортом»?
  • как наглядно показывать «идеологически правильные» способы использования библиотеки?

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

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

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

Сегодня мы хотим рассказать как раз об одной такой «небольшой» задачке, в которой естественным образом объединились SObjectizer и RESTinio.

Масштабирование и раздача картинок. Почему именно это?


В качестве небольшой демо-задачи для самих себя мы выбрали HTTP-сервер, который раздает по запросам отмасштабированные картинки. Вы складываете изображения в какой-то каталог, запускаете HTTP-сервер, делаете к нему запрос вида:
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments13

Функции для документирования баз данных PostgreSQL. Часть первая

Reading time19 min
Views9.8K
За время работы с PostgreSQL накопилось больше ста функций для работы с системными каталогами: pg_class, pg_attribute, pg_constraints и т.д.


Что с ними делать? Используются они относительно редко. Включить в какой-нибудь проект? Красноярский заказчик за такую «ерунду» платить не будет. И все же, а вдруг они полезны еще кому-то кроме автора. И решил выложить их, как прочитанные книги в общедоступный шкаф для желающих.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments4

Information

Rating
Does not participate
Location
Бишкек, Кыргызстан, Кыргызстан
Date of birth
Registered
Activity