• Выборы, выборы…
    0
    М-м-м, лет надцать назад товарищ Кинг с вами бы не согласился.
    Когда Эрни протянул руку, Лебэй автоматически вытянул свою — к обмену рукопожатием любой американец склонен так же, как проверять, застегнута ли ширинка после посещения комнаты общественного пользования.


    Тут повспоминал — действительно, рукопожатие встречается далеко не везде. Вы не в курсе, с чем связаны такие перемены?
  • Аналитики JPMorgan: Apple стоит купить Blizzard, Netflix или Sonos, чтобы успокоить инвесторов
    0
    Сарказм
    После недавних новостей о мобильном Diablo, фанаты не сильно уверены, что Blizzard — «реально работающая компания».
  • Главное не попасть в торговом центре под сверку часов
    +5
    По идее, такая предсказуемость может быть опаснее в сценарии подготовки реального взрыва.

    Взрывчатка ставится на место эвакуации.
    Делается звонок о бомбе.
    Люди эвакуируются в «заминированное» место.

  • Несколько простых слов о противоракетной обороне
    +2
    Вот и я про то. Упрощая у нас всех посадили и сказали «либо делаете, либо расстрел». А американских учёных что двигало?

    Созддатели инструмента просто не стали брать на себя ответственность за его применение.
    Из воспоминаний Фейнмана.
    Spoiler header
    А фон Нейман подал мне интересную идею: вовсе не обязательно быть ответственным за тот мир, в котором живешь. В результате совета фон Неймана я развил очень мощное чувство социальной безответственности. Это сделало меня счастливым человеком с тех пор. Именно фон Нейман посеял зерна, которые выросли в мою активную позицию безответственности!

    Но даже Фейнман был не в лучшем состоянии после взрывов над Японией.

    По вопросу «что ими двигало?» тоже есть заметка
    Spoiler header
    Когда все закончилось, в Лос-Аламосе возникло ужасное возбуждение. Все устраивали вечеринки, и мы носились повсюду. Я забился в угол джипа и там бил в барабан и все такое. Но один человек, я помню. Боб Вильсон, сидел подавленный и безучастный.
    — Почему ты хандришь? — спросил я его.
    Он сказал:
    — То, что мы сделали, — ужасно.
    Я удивился:
    — Но ведь ты сам начал это. Именно ты вовлек в это всех нас.
    Понимаете, что со мной случилось, что случилось со всеми нами? Мы начинали с добрыми намерениями, потом усердно работали, чтобы завершить что-то важное. Это удовольствие, это очень волнующе. И перестаешь думать, знаете ли, просто перестаешь. Боб Вильсон оказался единственным, кто еще думал об этом в тот момент.
  • Прямая линия с TM. v5.0. Важный опрос внутри
    +4
    Boomburum — и аналогичную функциональность в форму обратной связи. А то репортишь о баге, а на залив картинки уходит больше времени, чем на непосредственно репорт.
  • Распознавание рентгеновских снимков: precision = 0.84, recall = 0.96. А нужны ли нам еще врачи?
    +1
    А нужны ли нам еще врачи?

    Хорошо хоть не задаются вопросом, нужны ли пациенты.
  • Эсперанто, эльфийский и клингонский
    +1
    greabock выше уже упомянул, я вынесу в отдельный коммент.
    Почитайте Domain Driven Development Эванса. Это знаменитая «большая синяя книга» как раз посвящена проблемам коммуникации между заказчиком и командой разработчиков. Передача доменных знаний, выстраивание общего словаря, как органично вписывать бизнес-логику в код.
  • Первый коммерческий квантовый компьютер — IBM
    0
    Вы можете проверить умножение за O(n^2) операций, где n — разрядность ваших множителей. Взгяните на умножение столбиком: n строк, в каждой n цифр.
  • Все лунные растения погибли
    0
    О, вы разбудили мое любопытство: насколько я понимаю, градусы Цельсия «стекали» с контейнера на луноход, и потом с лунохода на поверхность. Сильно бы замедлилось «стекание», если б контейнер просто подвесили в вакууме на тонкой нити?
  • Все лунные растения погибли
    +6
    Возможно, у них был выбор: запускать контейнер на 212 часов, или не запускать вообще.
    Решели запустить на 212 часов.
  • Первый коммерческий квантовый компьютер — IBM
    0
    100.000 — аргумент из разряда «за что купил». Вот источник (ищите комментарии от Strilanc).
  • Первый коммерческий квантовый компьютер — IBM
    +1
    О, изящное решение, спасибо. На всякий случай, оставлю прямой линк на статью об оптимизациях.
  • Первый коммерческий квантовый компьютер — IBM
    0
    Да, обойти проблему можно, но цена достаточно велика. Для реализации CNOT с задействованием одного промежуточного кубита потребуется 4 контролируемых NOT. Для 2 промежуточных кубитов понадобятся уже 10 операций, и число служебных операций Op растет от числа промежуточных кубитов Nm как O(2^{Nm}).

    Да, можно погонять маппинг кубитов в исходной программе, чтобы наиболее часто взаимодействующие кубиты располагались рядом друг с другом, но это требует усилий, совершенно не относящихся к решаемой задаче. Поэтому я называю это «грязными хаками». Полагаю, поэтому IBM и провела свой конкурс «компиляторов».
  • Первый коммерческий квантовый компьютер — IBM
    0
    Очепятался, простите.
    Получим сложность O(sqrt{2^{100500/n}}).
  • Первый коммерческий квантовый компьютер — IBM
    0
    Муторно, требует много ресурсов, но реализуемо.
    Но вы правы. Алгоритм надо оптимизировать.
    1. Скорее всего, мы получим n исходов с максимумом секретов. Соответственно, получим сложность корня из 100500/n.
    2. Можно поиграть с сокращением записи. Одни действия встречаются чаще, чем другие, так что можно попробовать использовать Код Шэннона для сокращения числа 100500.
    3. Записываем не все действия.
    4. Ищем по секрету за раз.

  • Первый коммерческий квантовый компьютер — IBM
    0
    То есть параллельно проверить все пути прохождения дума не получится.
    Зачем все ветки алгоритма?

    Храним любое значение как набор кубитов (Двоичное представление ситуации на уровне)_(история действий)_(число открытых секретов)_(служебные кубиты). Начальное значние: 100% вероятности состояние (старт уровня)_(000000000)_(0). Каждый тик «параллельно» меняем несколько битов энного шага в истории, изменяем состояние карты в соответствии с текущим состоянием, считываем число открытых секретов.

    На выходе имеем 2^{N*100500} состояний. Амплифицируем те, где количество секретов равно максимальному. Муторно, требует много ресурсов, но реализуемо.
  • Первый коммерческий квантовый компьютер — IBM
    0
    Это вы зря.
    Используют миллиарды кубитов, найдут все вероятные прохождения всех уровней, и отыщут все секреты.
  • Первый коммерческий квантовый компьютер — IBM
    +1
    Берем размер хеша битка (вроде, 256 бит). Увеличиваем в 16 раз (ЕМНИП, этого достаточно для генерации оператора, высчитывающего хэш). Добавляем еще вспомогательный бит для алгоритма Гровера. Получаем 4.097 «идеальных» кубитов.
    Грубая оценка числа «железных» кубитов, необходимых для реализации «идеального» — 100.000.
    Итого: 409.700.000 кубитов.
  • Первый коммерческий квантовый компьютер — IBM
    +1
    ЕМНИП, DWave обещали удвоение кубитов каждый год. Предполагаем, что Intel может это воплотить.
    Ныне 20 кубитов. Надо 2000. Это лет 7.
    Проскакивала инфа, что 100.000 физических кубитов хватит для одного «эффективного» кубита. Это еще лет 17.
    Скинем лет 5 на параллельные улучшения, добавим лет 10 в резерв — получается 30 лет.

    Дальше считать не могу: вода закончилась, и вилы затупились.
  • Первый коммерческий квантовый компьютер — IBM
    +6
    Более того, их компьютер подвержен ошибкам. И функциональность симулятора шире.

    И весь шум поднят из-за единственного «но». Добавление кубита в симулятор означает удвоенный расход ОЗУ. Как я уже писал, мой ноут вылетает на 28 кубитах. Товарищ выше упоминал лимит в 45 кубитов на системе в тысячи процов.

    Компьютер же от IBM — реален, и не зависит от ОЗУ. Ребята надеются, что смогут урезать ошибки, и удваивать количество кубитов каждые N лет.
  • Первый коммерческий квантовый компьютер — IBM
    0
    в их случае нет гарантированной точности результата.
    Матожидание времени поиска решения на QC сильно меньше классики (на идеальных QC). Грубо говоря, вы заранее знаете, что на квантовом чипе вы решаете задачу с вероятностью в 1/2, и на каждую попытку уходит минута. На классическом вы решите задачу за 10 минут с первой попытки. Дальше — выбор за вами.
  • Первый коммерческий квантовый компьютер — IBM
    0
    Не начали. И начнут нескоро. К нужному для RSA-2048 количеству кубитов приблизятся лет через 12 (в лучшем случае).
  • Первый коммерческий квантовый компьютер — IBM
    +2
    daiver19 прав.
    В левом верхнем углу по ссылке есть схема процессора. Вы можете запутать нулевой кубит с первым и вторым, первый — с нулевым и вторым, второй — со всеми четырьмя, и т.д…

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

    Из тех процессоров, что я видел, самый лучший результат по связанности — один кубит с шестью соседями. Схему сабжа я пока не видал.
  • Первый коммерческий квантовый компьютер — IBM
    +1
    Нормально. Мои домашний старенький ноут спокойно обрабатывает симуляции до 20 кубитов. На 26 даже инициализация занимает 15 минут. На 28 кубитах симуляция вылетает.
  • Первый коммерческий квантовый компьютер — IBM
    +6
    Я о том же.
    Это понятно. Но сейчас у квантовых компов какие проблемы?
    1. Число кубитов (20).
    2. Связи между кубитами. (один кубит связывается максимум с 6 соседями)
    3. Удерживание состояния на кубите. Сейчас вроде микросекудны.
    4. Ошибки (при запутывании, при удержании — весь спектр). Тут все плохо. 7% ошибок на мультикубитах на Q5 Tenerife.

    Соответственно, вы вполне справедливо волнуетесь по поводу первой проблемы. Я вдобавок интересуюсь, какой прогресс на оставшихся трех.
  • Первый коммерческий квантовый компьютер — IBM
    +1
    Не совсем. Надо еще глянуть на связность кубитов, потом на уровень ошибок.
  • Космический аппарат «Чанъэ-4» совершил успешную посадку на обратной стороне Луны и прислал первое фото
    +2
    Друг, ты прав и не прав одномоментно. Можно предположить, что агрегатор не должен освещать успехи человечества китайской космонавтики, и я вполне готов в это поверить.

    Другое дело, что твоя версия (агрегатор показывает новости актуальные большинству) еще хуже. Из этого следует, что большинство аудитории агрегатора интересуется скорее желтыми украинскими новостями, нежели успехами человечества. И это печально.
  • Космический аппарат «Чанъэ-4» совершил успешную посадку на обратной стороне Луны и прислал первое фото
    +12
    А в большинстве российских СМИ эта новость идет такой незаметной строкой в каком-нибудь разделе «Наука», а на первых полосах — трупы/грабежи…

    Новости на главной Яндекса. Просто для демонстрации.
    • Поисково-спасательная операция в Магнитогорске завершена
    • Украина снова направит военные корабли через Керченский пролив
    • Офисное здание частично обрушилось в Новочеркасске
    • В Москве арестовали задержанного по обвинению в шпионаже американца
    • СМИ сообщили, что СБУ расследует попытку захвата власти на Украине

  • Как эксплуатировать детей
    +1
    Школьники-стажеры по скиллу не сильно отличаются от студентов-стажеров. Но с ними больше проблем.
    1. Стажировка — это время. Вполне возможно, время перед экзаменами. И если самим школьникам на это может быть наплевать, их родителям — нет.
    2. Нынешний школьник — завтрашний студент. Вполне возможно, студент в другом городе.
    3. Менторы далеко не всегда горят желанием учить. Один из моих знакомых честно и радостно учил своего стажера, а затем осознал: «я ращу себе конкурента».
  • Паттерны и антипаттерны обоснования задач
    0
    О да, каждый свой баг начинающий тестировщик считает Важным и/или Критичным. И изначально это даже поддерживается, чтоб мотивацию не терял. Потом уже грузят «экономь время разработчика», «оцени эффект на бизнес».

    P.S. example.com не возвращает ошибку 500 (зато возвращает 404 на favicon, и то в консоли).
  • Максимально вырожденная игра на общение
    +7
    Втягиваются с вопроса «Кто более эффективный работник: интраверт или экстраверт?».
  • Максимально вырожденная игра на общение
    +2
    И у этого человека до сих пор нет значка «Тролль».
    Конкретно в среде настольщиков могут зайти компьютерно-игровые
    • GTA vs Mafia
    • Mafia vs Mafia II
    • Planescape Torment vs Numenera
    • Консоли vs PC
    • Шахматы — это спорт?
    • Когда DotA станет олимпийским видом спорта?
  • Стоит ли сохранять длину массива в локальную переменную в C#
    0
    То, что условие цикла for вычисляется один раз перед входом в цикл, написано в документации на C#.
    Я комментировал не сам пост, а комментарий к нему.

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

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

    Просто чтобы продемонстрировать опасность слов «очевино» и «компилятор может» в одном предложении.

    Чуток кода
                var arr5 = new int[5];
                var arr10 = new int[10];
                var loopArr = arr5;
    
                for(int i =0; i<loopArr.Length; i++)
                {
                    loopArr = arr10;
                    Console.WriteLine($"\tStep: {i}");
                }
    
    
                Console.WriteLine();
                Console.ReadLine();
                return;
    


    Собственно, у меня выводится Step: 0… Step: 9. Всего 10 значений, хоть я и использовал переменную типа Array, изначально указывающую на массив из 5 элементов. Вывод: длина массива как минимум, в некоторых случаях, не кешируется при использовании в цикле for.


    Я ничего не имею против анализа IL кода. Ничего не имею против бенчмарков (даже тут, на хабре, «продвигал» одну либу). И я приветствую документацию к любому языку\либе\API. Но увы, для клиентов критерий истины — практика. Документация имеет свойство устаревать отличаться от реальности. Именно этим объясняется поговорка «программисты обращаются к документации лишь тогда, когда остальные возможности себя исчерпали».
  • Стоит ли сохранять длину массива в локальную переменную в C#
    –1
    Ок, поставим эксперимент
    Заголовок спойлера
    public class LimitWithCounter
        {
            private static readonly Random Rnd = new Random();
            public int CurrentLimit = 2;
            public int Limit()
            {
                CurrentLimit = Rnd.Next(15) + 5 ;
                Console.Write(CurrentLimit);
                return CurrentLimit;
            }
        }
    
    ...
    
    static void Main(string[] args)
            {
                var limit = new LimitWithCounter();
                limit.Limit();      Console.WriteLine($"Limit {limit.CurrentLimit}");
                limit.Limit();      Console.WriteLine($"Limit {limit.CurrentLimit}");
                limit.Limit();      Console.WriteLine($"Limit {limit.CurrentLimit}");
                Console.WriteLine();
    
                for(int i = 0; i < limit.Limit(); i++)
                {
                    Console.WriteLine($"\tStep: {i}");                
                }
    
                Console.WriteLine();
                Console.ReadLine();
                return;
    }
    



    Результат:
    Заголовок спойлера
    16 Step: 0
    15 Step: 1
    15 Step: 2
    7 Step: 3
    12 Step: 4
    8 Step: 5
    16 Step: 6
    11 Step: 7
    16 Step: 8
    19 Step: 9
    11 Step: 10
    10


    Вывод: Если б мы фикисровали лимит на входе в цикл, потребовалось бы 16 шагов на завершение цикла. Значит, граница выхода из цикла пересчитывается на каждой итерации.
  • Тетрис на C# в 100 строк
    0
    «Все-в-одну-строку» — слишком тривиально, чтоб об этом дискутировать. «До этого любой ламер додумается». Уменьшение же «честных» строк кода уже может привести к чему-то интересному

    Кстати, вопрос знатокам: можно ли написать отображение, переводящее индекс фигуры в фигуру (0 -> { 2, 3, 4, 5 }, { 8, 8, 8, 8 } )? С таким отображением получится выкинуть еще 8 строк.
  • Тетрис на C# в 100 строк
    0
    хотя есть и такие извращенцы, которые пишут linq запросы в несколько строчек
    Ну зачем же вы так. LINQ в несколько строчек может быть вполне себе читаемым. Как раз тот случай, когда можно добавлять строки кода ради читаемости.
    var result = source.Select(dto => dto.ToModel())
        .Where(model =>  model.IsActive)  // 2 where for a simpler debug
        .Where(model => model.MatchesSecurityPolicy())
        .GroupBy(model => model.businessGroupKey)
        .ToDictionary(
            group => groupKey, 
            group => group.Sum(elem => elem.Karma));
    
  • Тетрис на C# в 100 строк
    +2
    Друг, это местный фольклор. Пару лет назад на хабре была серия «Х в 30 строк на JS». «Победителем» вышел товарищ, ужавший игру в 0 строк.
  • Тетрис на C# в 100 строк
    0
    Так короче, грац! Увы, на количество строк не влияет.
  • Slack банит аккаунты из Крыма
    –1
    О, пардон. Плюс в том, что обучение не обязательно. Хочешь — учи, не хочешь — не учи. И альтернативы представлены. Свобода воли, все дела.

    Аргумент может быть оспорен. Например, через «иногда надо заставлять учиться». Или «чем больше языков знает человек, тем лучше».

    Ну а дальше вы сами выбираете, какая сторона вам ближе.
  • Тетрис на C# в 100 строк
    +3
    Показать всю ущербность C# по сравнению с JS где все угодно вмещается в 30 строк?