А в разгар лета +48? Разве это комфорт ходить по раскаленной мостовой и жить при постоянно включенном кондиционере? Он не добавляет кислорода, а окна должны быть закрыты. ИМХО гораздо приятнее +20 и открытые настежь окна.
Сколько-то пыли всегда будет. Всегда в городе заметно больше пыли, чем за городом. Конечно есть очень пыльные города, а есть не очень. Голландия, нпр., издавна славится чистотой. Нпр., Гаага — очень зеленый город, море, много каналов. Но и там есть пыль. С одной стороны песчаная почва быстро сохнет после дождя, но с другой — источник дополнительной пыли даже при грамотных газонах, где никто не паркуется. Песчаные пляжи тоже пыль дают и их травой не засадить.
Все правильно сказали. Но я о том, что при прочих равных, теплые зимы ИМХО недостаток, а не достоинство. Т.о. если выбирать «пустое» место в РФ, где строить город, то не надо ИМХО стремиться на юг.
Автор любит теплые зимы? Когда то -0, то +0, слякоть и мокрый лед под ногами, и на лыжах не пойти, а если и снега не скопилось, то совсем плохо — пыльные бури в январе. И такое в Москве, а про юг зимой и думать страшно ИМХО.
дворы использовать для детских площадок и активного времяпровождения взрослых.
Примерно в 8 утра под окнами начинается детский визг, а по ночам примерно до четырех утра «взрослые» активно проводят время за распитием напитков и громкой «музыкой», которой пробуют подпевать «хором». Не наблюдали такого? — Значит повезло с двором — там лавочки неудобные и горки/качели сломаны, а рядом в соседнем гораздо лучше.
Но ок. 4 часов в сутки можно поспать спокойно.
Если так определить Белиберду, то ИМХО достаточно обычного спел-чекера, чтобы установить, что нет таких слов в словаре. А если определить: Белиберда выглядит так:
Могу недостатка два, знает могу и я! Никто натворить!
У сколько еще память столько и.
то предложенное решение с такой задачей не справится, и тут действительно нужен AI.
Также и «Пуск», который ничего не пускал, а предоставлял доступ к программам и последующим настройкам программ и ОС.
Это неудачная локализация. Начиная с win 95, а может и раньше, в оригинале было Start. Так и нужно было перевести — Старт. Это слово давно прижилось, еще до ПК. Старт — начало работы по окончании загрузки ОС — выглядит логично.
Не работаю в службе безопасности какого банка, но постоянно интересуюсь, как абстрактно (интересные проблемы), так и конкретно (не хочу, чтобы меня обокрали). Поэтому внимательно прочитал статью и комменты, из последних особенно заинтересовало:
SMS — известная дырища в защите. В простых случаях мошенники легко уговаривают сотрудников сотовых операторов выпустить новую симку (на хабре полно подобных историй).
Секунда в гугле и — получил кучу душераздирающих историй. Не думал, что такой размах! Поэтому вопросы тем, кто в теме. Некоторые банки вместо одноразовых SMS-паролей предлагают заранее генерированные одноразовые: либо на пластике, где нужно фольгу царапать, либо получить в банкомате. Насколько этот метод безопаснее в современных условиях?
Второй вопрос: одноразовые пароли — 5-6 цифр. Многие другие приложения, когда вводишь подобный пароль, говорят, что он плохой. 5-6 цифр для одноразового пароля личного кабинета в банке — надежная защита?
Использование С/С++ тоже не всегда способствует экономии ресурсов.
Нпр., недаром появление общедоступных многоядерных CPU вызвало появление TBB, которое не очень экономично по скорости.
С большим интересом прочел статью и все комметы (на данный момент). ИМХО сделано много верных замечаний про зоопарки (платформ, систем, компиляторов), сказано много правильных слов про необходимость знать стандарты языка, особенности железа и компилятора, на котором работаешь. Но как быть с переносом кода? Где-то, когда-то, кто-то на антикварных сейчас железе, системе, компиляторе (ЖСК) написал нужный мне код, но я могу не знать то ЖСК, тогда вероятно, что используя тот код отгребу кучу багов, которые мне трудно будет фиксить. Чем дальше в лес — тем больше дров: зоопарк ЖСК растет. Для долговременной преемственности кода нужен достаточно строгий язык типа стандартного Паскаля. Пусть ОО Паскаля. Конечно, за все приходится платить. Си гораздо более гибкий чем Паскаль, и даже турбо, и даже Дельфи. Многие трюки будут невозможны. Но м.б. стоит заплатить отказом от трюков? А когда они очень нужны, то тогда и только тогда использовать Си и/или ассемблер?
И отлично! Если они не будут пытаться делать и таких плохих вещей, как на хост пересесть (а это возможно?), то и пусть себе на ВМ (т.е. в гостевой ОС) ничего плохого не делают. А после перезагрузки эту ВМ с вирусами сотру и новую запущу: скопировать ВМ — мгновенное дело, каждый запуск можно свежую копию ставить.
Ваш симулятор только он-лайн можно использовать? А скачать его можно? Исходный код не открываете? Не хотите сделать фильтр для Фотошопа, чтобы такие поля на картинки накладывать?
А если какие тривиальные вирусы даже и ловятся сигнатурами, то всегда защита будет отставать: сначала появляется новый вирус, а уже потом обновление защиты с сигнатурой этого вируса. Между этими событиями проходит время, которое может быть достаточным для злоумышленника. Конечно, для атаки на несколько месяцев такой вирус не подходит.
Существует мнение, что использование виртуальной машины может спасти от многих новых неизвестных антивирусам вирусов. А в статье (если правильно понял) противоположное решение. Почему? В Microsoft считают, что ВМ не спасает?
Да! Ведь могут быть не только баги алгоритма, но и баги реализатора, если он не автор. Ведь практически каждый нетривиальный мат.текст содержит множество смысловых сокращений, иначе бы объем такого текста был бы огромным. Т.о. у реализатора, как правило, есть много возможностей не правильно понять автора и внести баги реализации. Понятно, что реализатору отлавливать такие баги часто бывает сложнее, чем баги алгоритма (свои ошибки увидеть труднее, чем чужие). Хорошо бы издания по CS, публикующие новые алгоритмы, внесли в правила для авторов требование: обязательно вместе с рукописью статьи предоставлять работающий код. Пока такое правило не стало повсеместным, авторам алгоритмов нужно самим понять, что, сделав работающий код, они сделают свой алгоритм гораздо привлекательнее. Ведь каждый автор хочет, чтобы его алгоритм использовали как можно чаще. (Надеюсь, что эта простая мысль будет полезной и для авторов Хабра :) )
Главное что бы все стороны могли разговаривать на понятном друг другу языке :)
Верно. Владение MatLab и подобным — это не всегда бывает, но если хотя бы на уровне Виртовского Паскаля математик может, что-то простое ученическое вроде Ханойских башен написать, то и с ним разговаривать гораздо легче. Хочется верить, что в недалеком будущем все математики будут знать программирование хотя бы на уровне Ханойских башен :)
PS Как и многим, мне часто приходится искать алгоритмы в литературе/в сетке для реализации в программе. При прочих равных выбираю алгоритм, который был реализован, пусть даже на Алголе-60. Перевести на современный язык и приспособить под свою задачу — это обычно не сложно, главное — гарантия, что автор настолько хорошо продумал алгоритм и предусмотрел возможные сложности, что смог его реализовать в виде хоть как-то работающей программы. К сожалению, вредная традиция публиковать новый алгоритм без программной реализации очень живуча. Надеюсь, что в недалеком будущем ее изживут — это будут большой прогресс для IT.
А как Вы описывали эти алгоритмы? Традиционным мат.языком, т.е. слова естественного языка+ мат.формулы? — Да, и так можно. Нпр., Евклид и Эратосфен свои знаменитые алгоритмы без помощи псевдокода описали, но, нпр., уже школьная задачка преобразования арифметических выражений в польскую нотацию с применением сложной рекурсии без псевдокода выглядит громоздко и ненаглядно даже не для школьника. А ведь чтобы правильно закодировать, нужно точно понять, что хотел сказать автор алгоритма.
Верно. Мне много приходится работать с математиками, есть которые пишут хороший код, а есть, которые и псевдокод записать не могут, хотя работают над алгоритмами и очень успешно. В общем, у математика и у «кодера» разное мировосприятие. Им не просто найти общий язык.
Применительно к обсуждаемой теме знания и навыки математики я бы разделил на два типа: «практическая» и «теоретическая» математика (по аналогии с «пркладная» и «чистая»). В практической не нужно доказывать теоремы. Т.е. если можно ограничиться готовыми алгоритмами, плюс к этому алгоритмами, не требующими сложных доказательств корректности и теоретических оценок трудоемкости, плюс к этому эвристическим алгоритмами — нужна практическая математика. В ней я бы выделил следующие особо важные для каждого программиста разделы.
Азы теории вычислительной сложности: на проблему тысячелетия P =? NP с такими знаниями замахиваться не стоит, но понимать, чем принципиально экспоненциальный по времени выполнения в наихудшем случае алгоритм отличается от полиномиального нужно каждому. Основы теории графов алгоритмический подход — списки (стеки, очереди) и деревья — это графы. Комбинаторика. Линейная алгебра, особо матричная алгебра. Нужно знать еще и отличия целого, действительного и рационального числа и т.д. Теорему Пифагора нужно знать, а вот ее доказательство, даже на школьном уровне, подавляющему большинству программистов знать не требуется.
Можно еще добавить разделы, но уже на приведенном примере виден принцип — широкие, но «поверхностные» с точки зрения чистого математика знания. — Они ведь считают, что если не можешь доказать теорему, то не знаешь ее. А тут и многих теорем знать не нужно — только некоторые практически значимые. В той же теории графов, нпр., столько замысловатых теорем: чтобы во всех разобраться надо потратить очень много сил и времени. Так вот очень многим программистам это не надо — вместо этого те же силы и время лучше употребить на практическое поверхностное изучение другой полезной мат. области. Но и при таком подходе математика столь огромна, что всю охватить жизни не хватит.
Специально употребляю термин «практическая математика» вместо более привычного «прикладная», т.к. многие исследования по прикладной математике требуют доказательств очень непростых теорем. Такие исследования не для обычных программистов. Это ИМХО нормальное разделение труда, и пусть каждый занимается своим делом.
Примерно в 8 утра под окнами начинается детский визг, а по ночам примерно до четырех утра «взрослые» активно проводят время за распитием напитков и громкой «музыкой», которой пробуют подпевать «хором». Не наблюдали такого? — Значит повезло с двором — там лавочки неудобные и горки/качели сломаны, а рядом в соседнем гораздо лучше.
Но ок. 4 часов в сутки можно поспать спокойно.
Белиберда выглядит так:
Могу недостатка два, знает могу и я! Никто натворить!
У сколько еще память столько и.
то предложенное решение с такой задачей не справится, и тут действительно нужен AI.
Секунда в гугле и — получил кучу душераздирающих историй. Не думал, что такой размах! Поэтому вопросы тем, кто в теме. Некоторые банки вместо одноразовых SMS-паролей предлагают заранее генерированные одноразовые: либо на пластике, где нужно фольгу царапать, либо получить в банкомате. Насколько этот метод безопаснее в современных условиях?
Второй вопрос: одноразовые пароли — 5-6 цифр. Многие другие приложения, когда вводишь подобный пароль, говорят, что он плохой. 5-6 цифр для одноразового пароля личного кабинета в банке — надежная защита?
Нпр., недаром появление общедоступных многоядерных CPU вызвало появление TBB, которое не очень экономично по скорости.
Применительно к обсуждаемой теме знания и навыки математики я бы разделил на два типа: «практическая» и «теоретическая» математика (по аналогии с «пркладная» и «чистая»). В практической не нужно доказывать теоремы. Т.е. если можно ограничиться готовыми алгоритмами, плюс к этому алгоритмами, не требующими сложных доказательств корректности и теоретических оценок трудоемкости, плюс к этому эвристическим алгоритмами — нужна практическая математика. В ней я бы выделил следующие особо важные для каждого программиста разделы.
Азы теории вычислительной сложности: на проблему тысячелетия P =? NP с такими знаниями замахиваться не стоит, но понимать, чем принципиально экспоненциальный по времени выполнения в наихудшем случае алгоритм отличается от полиномиального нужно каждому. Основы теории графов алгоритмический подход — списки (стеки, очереди) и деревья — это графы. Комбинаторика. Линейная алгебра, особо матричная алгебра. Нужно знать еще и отличия целого, действительного и рационального числа и т.д. Теорему Пифагора нужно знать, а вот ее доказательство, даже на школьном уровне, подавляющему большинству программистов знать не требуется.
Можно еще добавить разделы, но уже на приведенном примере виден принцип — широкие, но «поверхностные» с точки зрения чистого математика знания. — Они ведь считают, что если не можешь доказать теорему, то не знаешь ее. А тут и многих теорем знать не нужно — только некоторые практически значимые. В той же теории графов, нпр., столько замысловатых теорем: чтобы во всех разобраться надо потратить очень много сил и времени. Так вот очень многим программистам это не надо — вместо этого те же силы и время лучше употребить на практическое поверхностное изучение другой полезной мат. области. Но и при таком подходе математика столь огромна, что всю охватить жизни не хватит.
Специально употребляю термин «практическая математика» вместо более привычного «прикладная», т.к. многие исследования по прикладной математике требуют доказательств очень непростых теорем. Такие исследования не для обычных программистов. Это ИМХО нормальное разделение труда, и пусть каждый занимается своим делом.