• Немного размышлений и советов по оптимизации кода на С++
    +20
    Не используйте vector там, где можно было бы обойтись list или deque

    Не согласен — используйте vector, пока профайлер не скажет обратного. "Discontinuous data structures are the root of all (performance) evil": https://youtu.be/fHNmRkzxHWs?t=35m

    Вкратце — доступ к кэшам процессора на 1-2 порядка быстрее, чем доступ к оперативке, данные из оперативки попадают в кэши непрерывными кусками, а данные в std::list раскиданы по памяти => любые чтения из list будут крайне затратными.

    Я бы использовал list, только если количество вставок/удалений в середину на порядки больше, чем количество чтений из него, или если программируешь для нестандартного железа.
  • Ли Седоль выиграл четвёртую игру у системы AlphaGo
    +2
    Комментатор говорил, что развитие alphago позволит найти новые техники и улучшит игру людей. Компьютер давно выигрывает в шахматы, но помогло ли это найти новые техники?

    Я не специалист по шахматам, но вот заслуживающий внимания комментарий на английском:

    Any opening is pretty much playable given the right amount of analysis. Moves that were once considered not playable have found new life in painstaking objective analysis.

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

    … Basically, now anyone can prepare for anyone

    Раньше существовали более или менее закрытые (например, в СССР) "базы данных" про стили игры известных игроков. Сейчас с помощью AI такую информацию гораздо проще собрать и проанализировать.
  • Сравнение юзабилити современных браузеров со старой Оперой
    0
    Почти всегда (кроме Ctrl-Z) нажимаю Ctrl и Ctrl-Shift ребром ладони левой руки, чуть подав руку вперед по сравнению с обычным положением. Крайне удобно, но не работает на ноутбуках, тонких клавиатурах и клавиатурах с нестандартной раскладкой.
  • Пространства с иным числом Пи
    0
    При использовании разных систем единиц физических величин (например, СИ или СГС) так и происходит — пропадают и появляются разные константы.
  • Математический подход к созданию сайтов
    +3
    Театральным жестом он распахнул ставни, предложил нам выглянуть и указал невдалеке, на углу между улочкой и бульварами, деревянный цветочный киоск.
    — Господа, — сказал он. — Предлагаю вам самим отправиться и измерить эту будку. Вы увидите, что длина прилавка составляет 149 сантиметров, то есть одну стомиллиардную долю расстояния между Землей и Солнцем. Высота его задней стенки, разделенная на ширину окошка, дает нам 176/56, то есть 3,14. Высота фасада составляет девятнадцать дециметров, то есть равна количеству лет древнегреческого лунного цикла. Сумма высот двух передних ребер и двух задних ребер подсчитывается так: 190х2+176х2=732, это дата победы при Пуатье.[87] Толщина прилавка составляет 3,10 сантиметров, а ширина наличника окна — 8,8 сантиметров. Заменяя целые числа соответствующими литерами алфавита, мы получим C10H8, то есть формулу нафталина.
    — Фантастика, — сказал я. — Сами мерили?
    — Нет, — ответил Алье. — Но один подобный киоск был измерен неким Жан–Пьером Аданом. Воображаю, что все цветочные киоски должны строиться более или менее одинаково. С цифрами вообще можно делать что угодно. Если у меня имеется священное число 9, а я хотел бы получить 1314, то есть год сожжения Жака де Молэ — этот день дорог сердцу каждого, кто, подобно мне, составляет часть тамплиерской рыцарственной традиции, — что я делаю? Умножаю на 146 (это роковой год разрушения Карфагена). Как я пришел к этому результату? Я делил 1314 на два, на три и так далее, до тех пор покуда не отыскал подходящую дату. Я бы мог поделить 1314 и на 6,28, что составляет собой удвоение 3,14, и пришел бы к цифре 209. Ну что ж, в этот год примкнул к антимакедонской коалиции Аттал I, царь Пергама. Годится?
  • Во всём виноват компилятор
    +2
  • Как Булгаков помогает изучать расстановку запятых – сайт для повышения грамотности
    0
    Граммар-наци всего мира должны выработать единый стиль комментариев с указанием на ошибки :).
  • Как Булгаков помогает изучать расстановку запятых – сайт для повышения грамотности
    0
    с чего это вдруг там запятая?
  • Пробовали набрать Zerg Rush в гугле?
    0
    Я не понимаю, почему пунктуация в ваших глазах является менее серьезным грехом, чем орфография. Вам нужно «трезво прикидывать запятые перед отправкой», мне — нет, и пропущенные запятые меня лично раздражают куда сильнее, чем «тся-ться». Слава богу, ярости при этом я не испытываю, просто мне удивительна и смешна ваша позиция по этому вопросу.

    Другое слабое место вашей позиции — то, что вы игнорируете одни правила русского языка и ревностно следите за другими. Появление мусорных слов не оправдывается тем, что их многие используют, ведь и в употреблении «тся-ться» многие допускают значительный произвол.
  • Пробовали набрать Zerg Rush в гугле?
    +3
    Не кажется ли вам странным, что, допуская такое количество своих ошибок (еще плюс две), вы настолько исступленно реагируете на чужие?
  • Пробовали набрать Zerg Rush в гугле?
    +5
    У вас в сообщении три пунктуационные ошибки, опечатка и несколько слов, которых нет в русском языке. Вас это не бесит?
  • Отказ от использования CMS при проектировании веб-приложений
    +2
    С точки зрения теории вероятности — они либо будут взломаны, либо нет. Одинаковая вероятность.

    Вероятность встретить динозавра — 50%. Или встретишь, или не встретишь.
  • Паттерны ООП в метафорах
    +1
    Я имел в виду, что клиенты синглтона, помимо знания его интерфейса, знают, что это синглтон, знают, где его взять, и сами решают, когда это сделать. Иногда бывает, что эти знания — лишние для них, и могут обернуться проблемами в будущем.
  • Паттерны ООП в метафорах
    +2
    Мне не нравится аналогия про синглтон. Синглтон — это как будто вместо того, чтобы провести в каждую квартиру по телефонному проводу (не рассказывая, куда он идет — на ближайшую телефонную станцию или на персональный спутниковый передатчик) мы говорим каждому жителю: «Что-то нам лень до тебя провод тянуть, пойди сам на ул. Ленина, дом 1, и воткни свой провод там куда-нибудь». И когда, например, станция на улице Ленина перестает справляться с количеством абонентов — у всех возникают проблемы.
  • Чек-лист разработчика языка программирования
    +6
    Programmers should not need to understand category theory to write «Hello, World!»

    Программисты не обязаны полностью понимать теорию относительности и квантовую механику чтобы написать на Вашем языке «Hello, World!»


    Неудачный перевод, теория категорий появилась в оригинале совершенно не случайно.
  • Почта Mail.Ru (даже если ты китаец)
    +4
    > Не считая в чистом виде двоичной азбуки Морзе

    Она троичная (точка, тире, пауза).
  • Клиент для Habrahabr
  • Настоящие инновационные компании
    +2
    Обойдите =)
  • Тест простоты числа регулярным выражением
    0
    К сожалению, прим. пер. про решето Эратосфена неверно.
  • Смысл НДС
    +6
    Так а у ИП мы будем покупать за 100, а не за 118? И продавать тогда можем дешевле, нет?
  • Code Bubbles: новая среда программирования
    0
    Да
  • Атака MBR-червя или все новое — хорошо забытое старое
    0
    0.01%
  • Дело застенчивой скопы. Алгоритм RSA
    0
    O(e*sqrt(log n * log log n)) = O(sqrt(log n * log log n))
  • Python, философия дизайна — Guido van Rossum (часть 1)
    +2
    For example, they used tree-based data structure algorithms that were proven to be optimal for asymptotically large collections (but were not so great for small collections).

    Они использовали древовидные структуры данных (асимптотически оптимальные, но не очень быстрые для небольших объемов).

    Как-то так.

    Или «алгоритмы на деревьях», или «алгоритмы с использованием деревьев/древовидных структур данных».

  • Поиск функций меню в программе
    0
    Точно видел подобную штуку в Eclipse, только не в меню, а в настройках.
  • Программирование на PyQt4. Часть 1
    0
    Они стоят после каждой строки.
  • Обзор клавиатуры Optimus Mini Three
    0
    Эта штука подключается к компьютеру, значит, не имеет своих мозгов, значит, _может быть_ дешевле.
  • lock
    +3
    Какой хороший пост!

    Всем, читающим мой комментарий, я искренне и от всей души желаю счастья и удачи во всех начинаниях. Окружающий нас мир очень хорош, на самом деле. Прекрасно, что выпала возможность поделиться этим знанием со всеми.
  • Алгоритм кубика Рубика сократили до 23 ходов
    +1
    Минимакс и максимин - термины теории игр (совершенно не сленг, устоявшиеся). Супремум и инфимум - теории множеств.
  • Размножающиеся роботы
    0
    Пока роботы не поймут, что размножаться - это хорошо, можно спать спокойно. А до этого еще очень далеко.
  • Как я пришел в интернет…
    0
    В мемориз. Однозначно.
  • Элемент управления, TrackBar но с двумя ползунками
    0
    Можно делать так:
    Пусть надо округлить число x до 10^-k, тогда:
    1) y = x * 10^k, округленное до целого
    2) Результат - y / 10^k + "." + y % 10^k.
    Javascript совсем не знаю, поэтому код не привожу.

    Изяществом этот способ тоже не отличается, да и с переполнением целочисленных типов могут возникнуть проблемы, но как вариант...
  • Без комментариев
    +3
    По кнопке "хелп" надо удалять все, кроме помеченных.
  • О математике
    0
    По-моему, это не так. f(x) = (x+1)^2/x на [-1, 1]. Максимума - нет...
  • Rootless Root на русском языке. Откровение первое.
    0
    int main( void )
    {
    system( "одна строка shell-скрипта, вобравшая в себя весь дух Unix" );
    return 0;
    }
  • Исходный код Windows Vista
    +1
    Некий язык с Си-подобным синтаксисом :) Не С++, как можно заметить :)
  • Не думай.
    0
    Хм. Я был в полной уверенности, что конец последней фразы - "не обижайся" (с ним мне цитата больше нравится).
  • Я — Тёма, или делаем свой линч
    –2
    http://lynchr.com/1405jqeqny/
  • Создание программ для Mac OS X. Часть 1: вступление и Objective-C
    0
    Видимо, мы с вами оба отчасти правы :)
    http://en.wikipedia.org/wiki/Metaprogramming
    "Metaprogramming is the writing of computer programs that write or manipulate other programs (or themselves) as their data [...]
    The ability of a programming language to be its own metalanguage is called reflection or reflexivity."
  • Создание программ для Mac OS X. Часть 1: вступление и Objective-C
    0
    >Язык Objective-C поддерживает работу с метаинформацией
    Вы уверены, что это называется метаинформацией? Я бы назвал это рефлекцией (reflection).