Еще, я не понимаю одну вещь: до Wolf3d ведь было полно по-настоящему трехмерных игр: Retaliator, Stunts. Там не было текстур, но зато была полностью трехмерная полигональная графика (каждый полигон своего цвета); было также освещение. И ничего из этого не тормозило на 80286. Почему же прорывом считают именно Doom и Quake?
Я начал с Дума сразу почему-то, когда появился Пентиум в 1998 или около того (до этого с 1991 примерно был 80286 только).
Хорошо помню первое ощущение: картинка казалась плоской, я не видел объема. Совсем! Помню, даже расстроился и решил, что я его так никогда и не увижу (к тому же разрешение экрана было же 320x240, и объекты вдалеке выглядели весьма условными). Но часа через 2-3 вдруг внезапно увидел, и дело пошло.
Жаль, что не рассказано про алгоритм ”power of two”. Он очень прост и показывает хорошие сбалансированные результаты в среднем. Вкратце (если я правильно помню), это когда тоже для каждого сервера считается, например, средняя задержка последних N запросов (к примеру, трех), или же число сессий, или какой-то фидбэк из заголовка ответа (короче, любая пузометрика) и потом при очередном запросе:
Случайным (!) образом выбираются ДВА сервера.
Из этих двух выбирается тот, у которого пузометрика меньше, и туда посылается.
Преимущество - простота: не надо хранить никакой глобально упорядоченный список (потому это все lock-free).
А разве там не добавляется существенная рандомизация, если стрелять, не прицеливаясь? Я просто в детстве тоже делал программно такую штуку, но она толком не работала - попасть было практически невозможно.
Курсорные клавиши и home-end-pgup-pgdown - боль, факт. На Маке 10 лет, а воз и ныне там. (Хотя в последние 5 лет ничего не перенастраиваю, просто кушаю кактус.) Там нет системы, в каждом приложении просто сделано по-разному. Я думаю, это обычный непреднамеренный бардак, когда нет стандартизации.
Все остальное в статье показалось вкусовщиной. Ну разве что про неудобный фуллскрин окон, но я им не пользую - всегда кликаю Option+GreenPlus, и оно растягивается на весь экран, не скрывая заголовок окна и трей (ну почти всегда это происходит, хотя некоторые особо одаренные аппы это ломают).
Проблема только в том, что тормозит эта штука нереально, и в разных версиях TS подобные фокусы с типами крашили или вешали компилятор не раз и не два. Сам tsc написан на TS же (ну т.е. компилируется в JS), не самый быстрый язык для компиляторов к сожалению. Но зато развивается и прет как танк, и экосистема здоровая (хотя и на грани фола), это очень приятно.
Извините, пожалуйста, если грубовато, но у вас и этот комментарий, и пост идут под эгидой «диванного аналитизма». Прям классика: «может, оно так, а может и эдак, не все так однозначно, а я вообще не специалист»; фактической составляющей минимум, сплошная вода. В этом есть, правда, и плюс - разжигает дискуссии в комментах (где люди интересные факты приводят, вон например про кенгуру выше). Ну и экскурс в историю (про библиотеки и другие каменные топоры) интересен с литературной точки зрения. Но надо отдавать себе отчет все же, чтобы хотя бы себя не обманывать (себя-то как раз легче всего обмануть).
Как человек, однажды ставший таким «летающим наездником» на добрых секунд 5, могу сказать, что тефлоновое покрытие костюма довольно неплохо скользит по асфальту и помогает даже без надувных подушек. Самое неприятное - это если закрутит (нужно скользить до полной остановки, рыбкой; даже когда кажется, что уже почти остановился и пора отползать - вот ни фига не остановился). Без костюма полной защиты же ездить - абсолютное самоубийство.
Давайте возьмем самую простую из проблем - деплой stateless-сервиса - и разбалуним ее из ее реальных 2% до 98%, чтобы на конференциях обыватели хлопали и импакты сыпались. Кубернетисы головного мозга и т.д. Из серии «установил Линукс - отпишись на Хабре».
В реальности же 98% сложности и интересности в stateful мире. В базах данных и стороджах например. Вот ИХ как деплоить (или схемой управлять консистентно) - это реально тема.
Еще интересно, как эти сегфолты перехватываются. В линуксе, наверное, через signal() и longjmp() - но и то сомнительно. А на остальных платформах как? Уж шибко низкоуровнево… неужели можно везде без залезания в ядро это поймать?
Это удивительно, но жизнь - она очень разная. В мире вообще нет ни одной пары одинаковых вещей, а на квантовом уровне правит полная случайность (и это доказано экспериментально, см. «Неравенства Белла»).
Я к чему. Если ничего не делать, ничего не изменится. Если делать «что-то», смотреть на результат и подстраиваться, запуская цикл обратной связи снова и снова, то дело пойдет. Так что не важно, какие там у кого «линии», важен этот цикл обратной связи в динамике и на длительном промежутке времени. («Но всего этого можно не делать, если вас не интересует результат», как сказал один юморист.)
Пробуйте третий, четвертый, да хоть пятый - пока не вылечится. У разных врачей. Совершенно серьезно говорю, я не стал бы просто так писать. Начните действовать и пробовать разные варианты, давая им время на то, чтобы сработать (минимум месяц-два), и используя обратную связь. Вы удивитесь, насколько все просто, если включить терпение и постоянство следования плану. (Если, конечно, действительно хотите, чтобы что-то изменилось; часто люди не хотят, потому что находят ту или иную выгоду в имеющемся положении, но это уже больше к соседнему посту про психологов.)
Перечитал ваше сообщение 2 раза. Рекомендую перечитать его и вам. Посмотрите, что там написано: вы сначала решили ничего не менять, а потом подвели под это кучу объяснений и «потомушт», лишь бы только пойти по самому простому пути и ничего не делать. Вместо того, чтобы просто попробовать несколько раз и уже потом, обладая самой непосредственной и практической информацией, принять решение, надо оно вам или нет.
И еще 14 (судя по количеству плюсов) таких же ждунов. Между тем, все эти описанные «потомушты» можно даже разобрать в неизменном виде на первом же приеме у первого попавшегося психолога (к которому больше не пойти, пойти сразу к другому). Потому что это ну очень популярные вопросы, и даже у самого-самого шарлатанистого психолога есть к ним ключи.
Что значит «почему именно раст». Потому что гарантированно не покрашится и не потечет, потому что точно не будет гейзенбагов при работе с потоками. Любой одной из этих причин уже достаточно.
Правильно не верится. Тут не верить надо, а делать. И когда сработает, уже играть в «верю - не верю» опционально (да только тогда вопрос станет уже нерелевантен).
Кармак крутой даже если на 10 делить. Но речь-то не об этом.
Насчет скроллинга - Prehistoric 1, 2001. Тот же год, что Commander Keen.
И хаки там вовсе не грязные, а самые что обычные (да и не хаки особо). На всякий случай: книгу читал, интервью слушал, хаки-нехаки делал.
Еще, я не понимаю одну вещь: до Wolf3d ведь было полно по-настоящему трехмерных игр: Retaliator, Stunts. Там не было текстур, но зато была полностью трехмерная полигональная графика (каждый полигон своего цвета); было также освещение. И ничего из этого не тормозило на 80286. Почему же прорывом считают именно Doom и Quake?
Я начал с Дума сразу почему-то, когда появился Пентиум в 1998 или около того (до этого с 1991 примерно был 80286 только).
Хорошо помню первое ощущение: картинка казалась плоской, я не видел объема. Совсем! Помню, даже расстроился и решил, что я его так никогда и не увижу (к тому же разрешение экрана было же 320x240, и объекты вдалеке выглядели весьма условными). Но часа через 2-3 вдруг внезапно увидел, и дело пошло.
Жаль, что не рассказано про алгоритм ”power of two”. Он очень прост и показывает хорошие сбалансированные результаты в среднем. Вкратце (если я правильно помню), это когда тоже для каждого сервера считается, например, средняя задержка последних N запросов (к примеру, трех), или же число сессий, или какой-то фидбэк из заголовка ответа (короче, любая пузометрика) и потом при очередном запросе:
Случайным (!) образом выбираются ДВА сервера.
Из этих двух выбирается тот, у которого пузометрика меньше, и туда посылается.
Преимущество - простота: не надо хранить никакой глобально упорядоченный список (потому это все lock-free).
И почему-то никто даже не упомянул GraphQL. Там ведь нет большинства этих проблем в принципе даже.
А разве там не добавляется существенная рандомизация, если стрелять, не прицеливаясь? Я просто в детстве тоже делал программно такую штуку, но она толком не работала - попасть было практически невозможно.
Курсорные клавиши и home-end-pgup-pgdown - боль, факт. На Маке 10 лет, а воз и ныне там. (Хотя в последние 5 лет ничего не перенастраиваю, просто кушаю кактус.) Там нет системы, в каждом приложении просто сделано по-разному. Я думаю, это обычный непреднамеренный бардак, когда нет стандартизации.
Все остальное в статье показалось вкусовщиной. Ну разве что про неудобный фуллскрин окон, но я им не пользую - всегда кликаю Option+GreenPlus, и оно растягивается на весь экран, не скрывая заголовок окна и трей (ну почти всегда это происходит, хотя некоторые особо одаренные аппы это ломают).
Проблема только в том, что тормозит эта штука нереально, и в разных версиях TS подобные фокусы с типами крашили или вешали компилятор не раз и не два. Сам tsc написан на TS же (ну т.е. компилируется в JS), не самый быстрый язык для компиляторов к сожалению. Но зато развивается и прет как танк, и экосистема здоровая (хотя и на грани фола), это очень приятно.
Граматике бы еще научился чтобы люди бы песали без ошибок наконец
Извините, пожалуйста, если грубовато, но у вас и этот комментарий, и пост идут под эгидой «диванного аналитизма». Прям классика: «может, оно так, а может и эдак, не все так однозначно, а я вообще не специалист»; фактической составляющей минимум, сплошная вода. В этом есть, правда, и плюс - разжигает дискуссии в комментах (где люди интересные факты приводят, вон например про кенгуру выше). Ну и экскурс в историю (про библиотеки и другие каменные топоры) интересен с литературной точки зрения. Но надо отдавать себе отчет все же, чтобы хотя бы себя не обманывать (себя-то как раз легче всего обмануть).
Как человек, однажды ставший таким «летающим наездником» на добрых секунд 5, могу сказать, что тефлоновое покрытие костюма довольно неплохо скользит по асфальту и помогает даже без надувных подушек. Самое неприятное - это если закрутит (нужно скользить до полной остановки, рыбкой; даже когда кажется, что уже почти остановился и пора отползать - вот ни фига не остановился). Без костюма полной защиты же ездить - абсолютное самоубийство.
Ой, да ну ради ж бога.
Давайте возьмем самую простую из проблем - деплой stateless-сервиса - и разбалуним ее из ее реальных 2% до 98%, чтобы на конференциях обыватели хлопали и импакты сыпались. Кубернетисы головного мозга и т.д. Из серии «установил Линукс - отпишись на Хабре».
В реальности же 98% сложности и интересности в stateful мире. В базах данных и стороджах например. Вот ИХ как деплоить (или схемой управлять консистентно) - это реально тема.
Еще интересно, как эти сегфолты перехватываются. В линуксе, наверное, через signal() и longjmp() - но и то сомнительно. А на остальных платформах как? Уж шибко низкоуровнево… неужели можно везде без залезания в ядро это поймать?
Это удивительно, но жизнь - она очень разная. В мире вообще нет ни одной пары одинаковых вещей, а на квантовом уровне правит полная случайность (и это доказано экспериментально, см. «Неравенства Белла»).
Я к чему. Если ничего не делать, ничего не изменится. Если делать «что-то», смотреть на результат и подстраиваться, запуская цикл обратной связи снова и снова, то дело пойдет. Так что не важно, какие там у кого «линии», важен этот цикл обратной связи в динамике и на длительном промежутке времени. («Но всего этого можно не делать, если вас не интересует результат», как сказал один юморист.)
Пробуйте третий, четвертый, да хоть пятый - пока не вылечится. У разных врачей. Совершенно серьезно говорю, я не стал бы просто так писать. Начните действовать и пробовать разные варианты, давая им время на то, чтобы сработать (минимум месяц-два), и используя обратную связь. Вы удивитесь, насколько все просто, если включить терпение и постоянство следования плану. (Если, конечно, действительно хотите, чтобы что-то изменилось; часто люди не хотят, потому что находят ту или иную выгоду в имеющемся положении, но это уже больше к соседнему посту про психологов.)
Перечитал ваше сообщение 2 раза. Рекомендую перечитать его и вам. Посмотрите, что там написано: вы сначала решили ничего не менять, а потом подвели под это кучу объяснений и «потомушт», лишь бы только пойти по самому простому пути и ничего не делать. Вместо того, чтобы просто попробовать несколько раз и уже потом, обладая самой непосредственной и практической информацией, принять решение, надо оно вам или нет.
И еще 14 (судя по количеству плюсов) таких же ждунов. Между тем, все эти описанные «потомушты» можно даже разобрать в неизменном виде на первом же приеме у первого попавшегося психолога (к которому больше не пойти, пойти сразу к другому). Потому что это ну очень популярные вопросы, и даже у самого-самого шарлатанистого психолога есть к ним ключи.
Это у вас 8-летний ребенок сам так написал, «потому что длина волны - это характеристика волны»? Крутой!
Что значит «почему именно раст». Потому что гарантированно не покрашится и не потечет, потому что точно не будет гейзенбагов при работе с потоками. Любой одной из этих причин уже достаточно.
Правильно не верится. Тут не верить надо, а делать. И когда сработает, уже играть в «верю - не верю» опционально (да только тогда вопрос станет уже нерелевантен).
Ну вот, началось... всегда начинается.