1. JavaScript / Говнокод #17080

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for (var i=0; i<snake.length-25; ++i) {
        if (checkTouch(snake[i], newHead)) {
            state = "gameover";
            return;
        }
    }

    В приступе ностальгии портанул свой старый говнокодец с турбопасцаля на жс.

    Погамать можно тут: http://bormand.tk/snake/

    Запостил: bormand, 07 Ноября 2014

    Комментарии (337) RSS

    • P.S. Управление - стрелки влево и вправо.
      Ответить
    • P.P.S. Тарас меня возненавидит за этот код.
      Ответить
      • Из-за тормозящего питушарского JS или за "Your browser is too old."?
        Ответить
        • На селероне вроде ж не должно тупить.Потому что может просто не запуститься.
          Ответить
          • Ну давайте, расскажите мне как оно будет тупить на селероне G1850 ;)
            Ответить
          • > На селероне вроде ж не должно тупить.
            Да оно под турбобустом до 3.8ггц лагает как сраное говнище, когда 10к очков наберешь...

            Ибо при счете в районе 10к рисует 120000 кружочков в секунду, а так же делает в районе 200000 проверок на коллизии...

            Переделал ебанутые кружочки на жирную ломаную со скругленными концами - стало получше.

            http://bormand.tk/snake2/

            > как оно будет тупить на селероне G1850
            Будет, просто чуть позже.
            Ответить
            • А если разбить поле на клеточки и рассортировать все точки змеи по ним - то и тест на коллизии будет почти мгновенным. Но что-то лень гложет...
              Ответить
              • да и суть изменится. нужно будет не поворачивать а задавать направление
                Ответить
                • Суть не изменится. Двигаться всё будет точно так же, попиксельно. Клеточки невидимые, чисто для того, чтобы коллизии тестить не со всей змеей, а только в соседних с башкой клетках.
                  Ответить
                  • то есть ты хочешь хранить слепок поля по типу - есть ли змей в клетке?
                    Ответить
                    • Не совсем. Алгоритм такой: берем каждый объект (ну в нашем случае шарики от змеи и яблоки), определяем, какие клеточки сетки он задевает, и помещаем в эти клетки ссылку на него. Во время теста коллизий определяем, какие клеточки задевает проверяемый объект, а затем делаем более тонкий тест на касание для всех объектов, которые зареганы в этих клетках. Т.е. число сравнений падает с "все объекты" до "все объекты в 9 ближайших клетках".
                      Ответить
            • Я всего-лишь хотел сказать что "селерон" это маркетинговая обзывалка а не ТТХ процессора, из которых можно сделать вывод о скорости его работы в данном приложении.

              В каждом поколении по три-четыре селерона, и я не думаю что приведенный мой цел (а это хасвелл) будет работать в этой задаче сильно хуже чем i3 времен сэнди бридж)
              Ответить
              • >Я всего-лишь хотел сказать что "селерон" это маркетинговая обзывалка а не ТТХ процессора
                Речь о легендарном селероне Тараса. Число 600 подразумевается в контексте обсуждения.
                Ответить
            • А можете видео с прохождением записать? Интересно посмотреть.

              Когда я эту змейку открыл, сразу вспомнил, как в школьные времена у одноклассника поучаствовал в игре в гоночки. Нажал "влево" - машина повернулась, уехала почти за пределы дороги. Нажал "вправо" - машина повернулась, проехала немного и завернула куда-то не туда. Снова нажал "влево" с тем же успехом.
              В итоге искусству геймерства не научился и, много позже, в том же стиле алкаша ездил уже на телефоне.
              Из компьютерных игр мне более всего нравилось играть в Pascal. А сейчас вот мощности вычислительной хватает, чтобы в JavaScript играть.
              Ответить
              • > А можете видео с прохождением записать?
                Блин, да я виртуалку с фрапсом просрал, в которой Хулион записывал ;( Так что, наверное, нет. Могу скрин кинуть.

                http://rghost.net/58939158.view
                Ответить
                • после нажатия спасе теряется фокус и приходится лихорадочно тыкать мышкой в окошко, чтобы его вернуть и успеть ещё повернуть в правильную сторону
                  Ответить
                  • Хм, а в каком браузере? В хроме и фф попробовал понажимать space, фокус на месте, брат жив.
                    Ответить
                    • ларчик просто открывался
                      змея ползёт вправо
                      мозг не способен отдать команду нажать на стрелку вправо, т.к. это совпадает с её движением
                      а стрелка влево почти сразу убивает
                      поэтому влево не нажимаешь уже рефлекторно, а на вверх-вниз нет никакой реакции, паника
                      Ответить
                      • >а стрелка влево почти сразу убивает
                        >поэтому влево не нажимаешь уже рефлекторно, а на вверх-вниз нет никакой реакции, паника
                        Это да. Трудно придрочиться. Но я 7 тысяч таки набрал, если не бессистемно ползать, а например по заданному маршруту, то в целом дело только за задротством.
                        Ответить
                        • Но бесконечно не получится, один хрен. Ибо змея растёт.

                          Тут надо массовый мультиплеер на вебсокете... Со всякими бонусами типа неуязвимости, позволяющей N секунд жрать всех противников и т.п.
                          Ответить
                          • Понятно. Хотя на нокии 3110 бывало полэкрана ей заполнял.
                            Мне кажется когда змея будет достаточно большой алгоритм начнёт показывать корнер-кейсы.
                            Ответить
                            • Ну в обычной змейке, в теории, можно и весь экран заполнить. Лишь бы ширина или высота была чётной.
                              Ответить
                            • > когда змея будет достаточно большой алгоритм начнёт показывать корнер-кейсы
                              Первая версия упиралась в рендер где-то на 10к очков (к этому моменту змея состояла из 2000 кружочков) - проц под завязку, фпс падает, управление становится хуже (т.к. поворот у меня сделан тупо по фреймам, а движение - по таймштампу). А вторая упрётся в рассчет коллизий с тем же результатом. Просто чуть позже. Других corner case'ов вроде бы не должно быть...
                              Ответить
                              • > А вторая упрётся в рассчет коллизий с тем же результатом.
                                Вот. Места ж свободного не будет. И оно будет лихорадочно его искать.
                                Ответить
                                • А, ну да, генератор яблок повиснет. Факт.
                                  Ответить
                                  •  
                                    Ответить
                                  • Диаметр кольца же больше яблока, значит для яблока всегда буде достаточно места?
                                    Ответить
                                    • > значит для яблока всегда буде достаточно места
                                      Но их 10. Если хоть одно не влезет - повиснет цикл.
                                      Ответить
                                      • И как вписать змею в поле, чтобы 10 не поместилось?
                                        Ответить
                                        • Закрутив в спираль начина от краёв. Правда на практике сделать это не получится, ну да пофиг.
                                          Ответить
                          • http://curvefever.com/play2.php
                            Ответить
                        • >>Это да. Трудно придрочиться

                          так и должно быть. Чем сложнее игра тем проще выявить истинного мастера-задрота
                          Ответить
                      • > мозг не способен отдать команду нажать на стрелку вправо, т.к. это совпадает с её движением
                        Мой моск нормально работал в системе координат "башка змеи" аккурат до прочтения этого комментария :) После он перешел в привычные декартовы и пошла полоса сливов.
                        P.S. посаны подскжыте скочать книгу по жс хачу хардкор мод две змейки одна на wasd втарая на стрелки и штоб корованы джва года жду уже брат умер пишу с умных чисов чисы риальне умнее меня уже в змею переиграли меня в шахматы не играл тк страшно вдрук они вииграют квартиру где я жыть буду с бомжами на вакзале штоли кароч вот
                        Ответить
                  • Bug is not confirmed.
                    Ответить
                    • Видимо какой-то аддон пробел на себя принял?
                      Ответить
                • А так просто фрапса нет?
                  Ответить
                  • А под линуху он есть? Я просто никогда под линухой не стримил/не записывал. Поэтому х.з.

                    P.S. Вместо видео можно прикрутить top 10 и поддержку реплеев. Но влом, ибо кому нахуй нужна змейка в 2014 году?
                    Ответить
        • Ну вообще говоря там канвас, а в кошерных браузерах его отрисовка может даже делаться средствами GPU.

          Вот если бы там img по экрану ездили -- тогда да, тормозило бы дико.

          Что, впрочем, не отменяет того факта что язык JS это худшее, что случилось в мире IT со времён бейсика.
          Ответить
          • > img по экрану ездили -- тогда да, тормозило бы дико
            да ладно, канвас такую фигню нормально отрабатывает
            в крайнем случае есть webgl
            Ответить
            • дык я и сказал как раз что рисовать на канвасе куда кавайнее, чем делать таг img и потом двигать его по экрану.
              Ответить
          • >Что, впрочем, не отменяет того факта что язык JS это худшее, что случилось в мире IT со времён бейсика.
            Наоборот же. Лучшее.
            Кстати они действительно похожи - динамическая тупизация, адская простота освоения, любовь школоты. Резиг вон тоже начинал с бейсика.

            Причём не только я так считаю, но вот даже Линус
            For example, I personally believe that Visual Basic did more for programming than Object-Oriented Languages did. Yet people laugh at VB and say it's a bad language, and they've been talking about OO languages for decades.
            And no, Visual Basic wasn't a great language, but I think the easy database interfaces in VB were fundamentally more important than object orientation is, for example.

            :%s/VB/JS/g
            :%s/OO/FP/g
            Ответить
            • > Visual Basic did more for programming than Object-Oriented Languages did
              А сам VB разве не OO?
              Ответить
              • Не. Там оно нестандартное. Наследования емнип нет. Что возможно и хорошо.

                Есть свойства. С наследованием и полиморфизмом туго.
                Речь не о VB.NET.
                Ответить
              • Во вспомнил. Там есть такая штука
                WithEvents, типа позволяет расширять классы. Но я уже не помню как он там работает.

                А полиморфизма вроде нет вообще. Есть только взятие адреса функции, AddressOf.
                Ответить
              • Примерно как JS:)
                API _ЧАСТИЧНО_ объектно-ориентированное, но сами пользователи классами практически не оперируют
                Ответить
            • Мне легче было разобраться с C++, J, Haskell и FORTH, чем со сраным JS или PHP
              Ответить
              • > с C++, J, Haskell
                Обратите внимание. ОНИ СТОЯТ РЯДОМ!
                Ответить
              • Правда с C++ было проще чем с PHP?;)))
                Ответить
                • Да, в пыхе говно какое-то. Как то начал учить и забил, перешел на кресты и прочел страуструпа.
                  Ответить
                  • На самом деле в крестах есть хоть какие-то концепции, которые можно понять.
                    В пыхе же концепций нет. Потому я могу теоретически представить себе человека которому кресты кажутся проще:)
                    Ответить
                    • В пыхе есть концепция - имена функций давались так, чтобы распределение их длин было максимально равномерным (ибо автор не умел в хеши).
                      Ответить
                      • А я думал что в PHP выполняется Закон Ципфа
                        Ответить
                      • А что, идея хорошая. Когда IDE (как минимум, M$V$ для C#) по умолчанию удаляет пробелы в красивом коде "в столбик", равномерное распределение как раз к месту. И CVS-фаги не ругаются на добавление пробелов в строки при изменениях кода.
                        Ответить
                    • >В пыхе же концепций нет.
                      О книгах математика Жордана говорили, что если ему нужно ввести четыре аналогичные или родственные величины (такие, как, например, a, b, c, d), то они у него получали обозначения a, M3', ε2, Π"1,2.

                      У меня ощущение от дизайна пхп ощущение такое что его делали потомки Жордана.
                      Ответить
                    • >>В пыхе же концепций нет.

                      язык - беспредельщик, йопт!
                      Ответить
            • Я говорил о BASIC а не о VB:) Помните что сказал Дейкстра про BASIC?)

              Сама по себе динамическая типизация не так плоха (она есть много где), куда хуже отсутствие типизации статической:) Школота не любила бы JS, не будь он главным средством веб-клиентсайда.

              Отвратительность JS заключается в его невнятности (далеко не всегда понятно какой тип получит выражение), в отсутствии класс-бейзд ООП, в отсутствии встроенных в язык неймспейсов и пекеджей и во многом другом. Мозги он засирает по хлеще PHP, и есть какая-то грустная ирония в том, что три самых плохих продукта на рынке (JS, PHP и MySQL) стали основой такого количества веба.

              Если пайтон сразу же учит нуба таким понятиям как:
              * реюзабельный модуль
              * интерфейс
              * тип
              * типы коллекции (кортеж, набор, список, словарь)

              То JS сразу же учит писать вот так:
              $(document).ready(function(){
                $("p").dblclick(function(){
                  $(this).hide();
                });
              });



              А VB в какой-то момент был действительно очень хорош. Представьте себе что на дворе 1995 год, и Вам нужно сделать тупую формочку под винду, которая умеет что-то сохранять в базу.

              Вы смотрите на C, узнаете что такое WindowProc, и Вам хочется застрелиться. MFC тоже как-то не радует.
              И тут оказывается что можно быстро, буквально драг-н-дропом набросать что-то работающее.
              Это круто было!

              Ситуация с JS все таки немного иная. В тот момент на рынке было несколько хороших скриптовых языков, совершенно непонятно почему надо было изобретать такой плохой.

              Торвальдс говорит правильно, но совершенно зря он приплел сюда ООП.
              Очевидно он использует ООП как ругательство: его отношение к ОО давно известно, и на самом деле ООП сделало для прикладного мира очень, очень много (взять те же паттерны), но Торвальдс пишет ядро ОС (максимум гит) а не кровавый интерпрайз, потому ООП и не уважает;)
              Хотя по большому счету нет разницы между структурой с указателями на функции и объектом.
              Сахар же всё:)
              Ответить
              • >Вы смотрите на C, узнаете что такое WindowProc, и Вам хочется застрелиться. MFC тоже как-то не радует.
                >И тут оказывается что можно быстро, буквально драг-н-дропом набросать что-то работающее.
                >Это круто было!
                Безусловно. Думаю многих потрясла простота создания работающих оконных программ.

                >Торвальдс говорит правильно, но совершенно зря он приплел сюда ООП.
                На ООП он просто набросил, лол. Это ж очевидно.

                >Помните что сказал Дейкстра про BASIC?)
                Я помню как он относился к GOTO. Всё из-за него.
                Ну и BASICа было много всяких диалектов. Тот же QB был не хуже паскаля или сишечки.
                Ответить
                • Ну вот зря Торвальдс набрасывает, на самом деле.
                  Стыдно в его-то возрасте:)

                  [quote]
                  "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC; as potential programmers they are mentally mutilated beyond hope of regeneration." -- EwDijkstra
                  [/quote]

                  В классическом барсике не было рекурсии, было примерно два типа данных и поощрялся гоуту)

                  Но бейсик всеже использовался обычно для обучения, в отличии от PHP и JS:)

                  Хотя в "игрушечных компьютерах" (спектрум, ранние PC с DOS) барсик был одним из двух главных языков (вторым был асм)), старые книги про PC обычно описывали несколько способов что-то сделать: пара способов на асме (напрямую, через BIOS, через 21h) и один обязательно на бейске)

                  До сих пор не понимаю почему basic а не си!
                  Ответить
                  • >Хотя в "игрушечных компьютерах" (спектрум, ранние PC с DOS) барсик был одним из двух главных языков (вторым был асм)),

                    Именно так. Вот и жс сейчас так же - главный язык для игрушечных браузеров.
                    Хотя с асмом аналогию тут не могу провести. Более того, программирование на асме было не особо сложнее лапши с GOTO.
                    Ответить
                    • Ну все же JS не является "главным языком"!
                      Тоесть у винды конечно есть Windows Scripting Host, который (с помощью COM и WMI) позволяет делать на JS почти что угодно, но так ведь никто не делает!

                      А на никсах так и вовсе node.js ставить надо.

                      А асм -- так это смотря на каком уровне находился программист. Доказано (и я свидетель!) что иные дети в 7 лет могут научиться писать на бейские программы вроде "угадай число". Тоесть мыслить в терминах PRINT/INPUT они могут.
                      С асмом все же сложнее: надо про регистры, про стек, про кучу, могут и не понять)
                      Ответить
              • >Если пайтон сразу же учит нуба таким понятиям как:
                >* реюзабельный модуль
                нет
                >* интерфейс
                тем более нет
                >* тип
                Слабая типизация - говно, доказано рнр.
                >* типы коллекции (кортеж, набор, список, словарь)
                А в пхп как?

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

                >То JS сразу же учит писать вот так:
                И еще ебаться с видимостью переменных.

                >но Торвальдс пишет ядро ОС (максимум гит) а не кровавый интерпрайз, потому ООП и не уважает;)
                Логично.
                Ответить
                • >>* реюзабельный модуль
                  >нет
                  да.

                  Стандартная библиотека представлена ввиде модулей, глобальный namespace не засран. Вынос кода в другой файл так же создает неймспейс.
                  Кроме того zen python:
                  Namespaces are one honking great idea -- let's do more of those!


                  >>* интерфейс
                  >тем более нет
                  да.

                  Идеи "_" и "__" прописаны в PEP8, и используются в стандартной либе.

                  >>* тип
                  >Слабая типизация - говно, доказано рнр.
                  Совершенно верно. К счастью в Python СТРОГАЯ типизация.
                  i = "foo" + 1
                  TypeError: Can't convert 'int' object to str implicitly

                  Не путайте слабую типизацию с отсутствием статической!

                  >>* типы коллекции (кортеж, набор, список, словарь)
                  >А в пхп как?
                  В PHP нет разницы между массивом и ассоциативным массивом.
                  Даже в перле она есть.
                  Процитирую Фрактал Плохого Дизайна:
                  [quote]
                  Этот тип данных ведёт себя как список, упорядоченный хэш, упорядоченный набор, разреженный список и время от времени как их странные комбинации. Какая его эффективность? Каков будет расход памяти?
                  -----
                  Функции работы с массивами часто ведут себя смутно и противоречиво, потому что вынуждены оперировать списками, хэшами или возможно их комбинацией.
                  [/quote]

                  >> Питон тоже позволяет делать много говна,
                  Да. К сожалению любой язык разрешает.

                  >> манкипатчинга
                  Рубисты Вас проклянут)))

                  >> использования переменных модуля (т.е. глобальных),
                  Все таки глобальная переменная и переменная модуля есть две больше разницы. Переменная модуля -- плохо. Но глобальная переменная, видимая из всех модулей еще хуже.

                  Кстати, модулей в PHP нет. Потому любая переменная, объявленная наверху любого подключеннгого файла есть глобальная.
                  Ответить
                  • Мне лично из динамических наименее всех противна Lua
                    Ответить
                    • Я не пробовал луа, но знаю что её любят писатели роботов для игр и (внезапно!) far :)
                      Ответить
                      • Да она прикручивается очень легко. Вот и любят.
                        Ответить
                        • Да и пайтон тоже. Есть даже интерпретатор Pythonа на js!:)
                          Ответить
                          • пайтон (тм) - однопоточное жирное г, как с ним создавать изолированные окружения - не понятно.
                            Ответить
                            • Нужно несколько инетпретаторов пайтона. По пайтону на задачу.

                              На самом деле можно и в один поток, через event loop (см. async io). Получается такая вот кооперативная многозадачность)
                              Ответить
                      • >и (внезапно!) far :)
                        Главная разница между питоном и луа - стандартная библиотека, в луа есть только регекспы, даже битовых операций нет. Если уверен, что на 100% обойдешься нативным апи, можно и луа взять,иначе - увольте.
                        Ответить
                        • Я недавно понял что:
                          1. Документация к Латеку написана с использованием Луа.
                          2. В самом Латеке можно использовать Луа если что-то нужно вычислить динамически (особенно было бы полезно разобраться с библиографией, т.как существующие инструменты предлагают много пыток и садизма для осуществления задуманого).
                          Вот как-то интерес и проявился.
                          А для остальных жизненных задач Питона вполне хватает. Но я на нем ничего серьезного не делаю.
                          Ответить
                    • Мне тоже, потому что lua делает именно то, что должен делать скриптовый язык: легко встраивается в сишку, и позволяет писать декларативщину.
                      Ответить
                    • А мне наиболее
                      Ответить
                      • Московскому городскому банку именно я наиболее симпатичен
                        Ответить
                  • >пайтон сразу же учит нуба таким понятиям как
                    >Стандартная библиотека представлена
                    Два параллельных понятия.

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

                    >Идеи "_" и "__" прописаны в PEP8, и используются в стандартной либе.
                    Какое отношение это имеет к интерфейсам?

                    Модуль и реюзабельный модуль - совсем разные вещи. Отдельный неймспейс еще не делает модуль реюзабельным.

                    >>Слабая типизация - говно, доказано рнр.
                    >Совершенно верно. К счастью в Python СТРОГАЯ типизация.
                    Я имел в виду, что не так уж много языков со слабой типизацией (правда, они популярны).

                    >Рубисты Вас проклянут)))
                    Когда меня нет, пусть они меня даже бьют (с). А зачем он им?

                    >В PHP нет разницы между массивом и ассоциативным массивом.
                    А, ну в этом смысле. Да, там хуита. Кстати, в луа что-то похожее.

                    >Да. К сожалению любой язык разрешает.
                    Ну некоторые языки разрешают больше, некоторые меньше. Питон - больше.
                    Ответить
                    • >>пайтон сразу же учит нуба таким понятиям как
                      >>Стандартная библиотека представлена
                      >Два параллельных понятия.

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

                      Пайтон учит рассовывать функции по модулям.

                      >>Дык переменная модуля и видна из всех модулей.
                      В пайтоне ПОЧТИ все и везде видно, однако pep8 ясно говорит что в модулях бывают КОНСТАНТЫ (большими буквами) которые не надо менять, но можно читать и _видимые_только_из_мдуля ( с подчеркиванием) которые лучше и не читать, так как они не часть публичного API.

                      Тоесть мы сразу уже имеем дело с понятием инкапсуляции и интерфейса. В пыхе даже понятий-то таких нет.

                      >> Модуль и реюзабельный модуль - совсем разные вещи. Отдельный неймспейс еще не делает модуль реюзабельным.
                      Нет. Но чтоб научиться делать реюзабельные модули они ДОЛЖНЫ БЫТЬ) Еще раз: в пайтоне нубу ПРИХОДИТСЯ сталкиваться с такими понятими как
                      * модуль
                      * публичный (и не публичный) API ( по сути -- интерфейс)
                      итд

                      >>. Некоторые особо одаренные их еще и меняют
                      Менять ПЕРЕМЕННУЮ в чужом модуле? И часто в пайтоне так делают?

                      >> Когда меня нет, пусть они меня даже бьют (с). А зачем он им?
                      они любят манкипатчинг)

                      >>Ну некоторые языки разрешают больше, некоторые меньше. Питон - больше.
                      именно)
                      Например паскаль прямо запрещает вести себя плохо.
                      Пайтон разрешает что угодно, но СОВЕТУЕТ вести себя хорошо.
                      PHP сразу с ходу советует вести себя плохо.

                      Я не говорю что пайтон прекрасен, но нуб будует куда лучшим программистом, если начнет с пайтона, а не с пыха.
                      Ответить
                      • Я имел в виду, что если в стандартной библиотеке сделано хорошо, это еще не значит, что нубы сделают так же. Проверено форумами. Не всегда удавалось даже уговорить сделать отступы одинакового размера.

                        >В пайтоне ПОЧТИ все и везде видно, однако pep8 ясно говорит что в модулях бывают КОНСТАНТЫ (большими буквами) которые не надо менять, но можно читать и _видимые_только_из_мдуля ( с подчеркиванием) которые лучше и не читать, так как они не часть публичного API.

                        А еще есть функция monkey_patch_all(), в гевент, кажется. Были советы прикрутить поддержку прокси через манкипатч модуля socket.

                        >Тоесть мы сразу уже имеем дело с понятием инкапсуляции и интерфейса.
                        Я под интерфейсом понял что-то вроде жавовских - их в питоне как раз долго не было.

                        >Нет. Но чтоб научиться делать реюзабельные модули они ДОЛЖНЫ БЫТЬ)
                        (A => B) !=> (B => A)
                        Нубу много с чем приходится сталкиваться, всего и не упомнишь. Могу дать адрес форума, полистаешь немного раздел для начинающих - наверняка изменишь свое мнение.

                        >Менять ПЕРЕМЕННУЮ в чужом модуле? И часто в пайтоне так делают?
                        См. выше.

                        >они любят манкипатчинг)
                        Ну эт я понял. А зачем он им?

                        >Например паскаль прямо запрещает вести себя плохо.
                        >Пайтон разрешает что угодно, но СОВЕТУЕТ вести себя хорошо.
                        >PHP сразу с ходу советует вести себя плохо.
                        Для начинающих это почти одно и то же.

                        >Я не говорю что пайтон прекрасен, но нуб будует куда лучшим программистом, если начнет с пайтона, а не с пыха.
                        Хз. Если он сразу начнет с питона - он так и не узнает пых, а может, и js не узнает :) Я пытался отредактировать расширение для лиса- чуть не ебнулся от говнокода с массивами и сишным фором.
                        С другой стороны,никто не мешает убежать на питон, как делают пыхохейтеры.
                        Ответить
                        • > monkey_patch_all(), в гевент
                          Ну а че тут еще сделать? Стандартная либа хуков на i/o не предоставляет, а как-то выкручиваться надо. Плюс там, емнип, фиксят некоторые говнолибы, которые не умеют работать с green threads (нереентерабельные, да). Жопное, конечно, решение. Но патчить интерпретатор и стандартную либу под поддержку gevent'а, имхо, не лучше.
                          Ответить
                        • >> Я имел в виду, что если в стандартной библиотеке сделано хорошо, это еще не значит, что нубы сделают так же. Проверено форумами.

                          Ну смотря что за нуб) НО! Если в стандартной библиотеке сделано ПЛОХО, но нуб наверняка сделает так же.
                          Тоесть у питониста есть хотя бы шанс.

                          >> Я под интерфейсом понял что-то вроде жавовских - их в питоне как раз долго не было.
                          Вы про ABCMeta? На самом деле их ввели чтобы проверять instanceof и строить логику на этих проверках.

                          Я говорил о более абстрактном понятии, об интерфейсе как о контракте некоторой сущности (модуля, в нашем случае).
                          Многие языки поощряют разбивать системы на модули с внятными контрактами и ООП лишь частный случай.
                          Например в plain cи нету интерфейсов, а идея модуля с контрактом очень даже есть:)

                          Это фундаментальная практика, на самом деле (врядли можно стать хороши программистом не умея разбивать системы на уровни абстракций), и дико что в PHP к ней так относятся)

                          >>они любят манкипатчинг)
                          >Ну эт я понял. А зачем он им?
                          Чтоб навешивать методы. Берешь и заменяешь определенный метод у класса. Им это нравится: упрощает и ускоряет разработку, но на мой взгляд это отличный способ выстрелить в ногу.

                          >>Для начинающих это почти одно и то же.
                          Вот не уверен. Тоесть лучше бы конечно у пыха был "noob mode" который явно кидал бы ошибку для обращении к полю с подчеркиваением в чужом модуле, например. Но все же хорошие нубы будут читать pep8, а еще у них будет нелюбимый Вами PyCharm с его инспекциями)
                          В конце концов нуб усвоит философию пайтона и поймет что если есть ружье и нога, то это не значит что нужно стрелять.

                          >> Если он сразу начнет с питона - он так и не узнает пых, а может, и js не узнает :
                          Ну JS может узнать, ради клиент сайда-то.
                          Ответить
                          • >Я говорил о более абстрактном понятии, об интерфейсе как о контракте некоторой сущности (модуля, в нашем случае).
                            Многие языки поощряют разбивать системы на модули с внятными контрактами и ООП лишь частный случай.
                            Да, именно об этом. Их тоже не было.

                            >Берешь и заменяешь определенный метод у класса.
                            Наследование?

                            >Но все же хорошие нубы будут читать pep8
                            Бггг
                            >Не всегда удавалось даже уговорить сделать отступы одинакового размера.

                            > а еще у них будет нелюбимый Вами PyCharm с его инспекциями)
                            Не факт.

                            У нас какие-то разные стандартны нубов, почитай мои говнокоды на питоне, там были куски из плагинов для XBMC.

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

                            >Ну JS может узнать, ради клиент сайда-то.
                            Ну вот я пытался поправить говноплагин для фокса, бросил нахуй. Юзерскрипт пытался сделать- тоже бросил.
                            Ответить
                            • >> Наследование?
                              Наследование работает в момент определеня класса. А навесить новый метод можно на лету, у уже существующего объекта.

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

                              Может я конечно идеалист, я нубов никогда программированию не учил: только верстке. И вот кстати идею семантической верстки они схватывали, хотя это тоже как-бы философия а не "чтоб работало".
                              Ответить
                              • Хоспади, полистай тут http://python.su/forum/29/ и тут http://python.su/forum/33/ . Собсно, когда учишься сам, учителей нет и всем на тебя похуй, так и делаешь - абы работало.

                                >Если не дуб, то в языках с сильной философией и хорошими бестпрактисами у него есть шанс научица уму-разуму.
                                Но это скорее жава, чем питон :) Уму-разуму учатся там, где язык не позволяет просто сделать неправильно. Это не моя идея, у нас в инсте первый язык был жава.
                                Ответить
                                • Ну тогда нужно начинать с хаскеля!)) Сразу мозг на место ставит.

                                  Джава имо не очень хороша для обучения потому что во-первых функциональщине не научишь совсем вообще, во-вторых слишком вербоз для новичка)
                                  Ответить
                                  • Хачкель не знаю,раз не изучают - значит нахуй не нуден.

                                    Жава - лучше пасцаля :) Я думал, все программисты на функциональщине помещаются в /pr/? Имхо лучше такой вербоз,зато все в статике. Переменные и их типы объявляются явно.
                                    Ответить
                                    • Функциональный вполне себе может иметь строгую статическую типизацию (OCaml, ELM).
                                      Причем такую строгую что говорят "если программа скомпилировалась -- значит будет работать верно".

                                      Без функциональщны нельзя, иначе как нубам рассказать про мап-редьюс всякий?
                                      Вообще в идеальном мире я учил бы человека пяти языкам:
                                      * один скриптовый (пайтон например)
                                      * один сильно ООП под виртуальную машину с GC и всякой типизацией (C#, Java)
                                      * плейн си
                                      * какой-нить простой асм (хоть под Z80)
                                      * один функциональный, тот же ELM (благо что компилица в JS)

                                      После этого человеку море по колено будет)
                                      Ответить
                                      • >Без функциональщны нельзя, иначе как нубам рассказать про мап-редьюс всякий?
                                        >нубам рассказать про мап-редьюс всякий?
                                        А нахуя? троллейбус_из_хлеба.jpg Они отступы не могут сделать отдинаковые, а ты им про мапредьюс.
                                        Ответить
                                        • Ну как же это "нахуя"?
                                          Мы же хотим чтоб нуб был серьезным инженером а не делателем сайтов на вордпрессе, нет?

                                          А отступы не нужно делать вручную. Мне их делает один IDE:)
                                          Ответить
                                          • > Мы же хотим чтоб нуб был серьезным инженером

                                            Можно подумать, серьёзные инженеры только и делают, что мап-редьюсят целыми днями.
                                            Ответить
                                          • >Мы же хотим чтоб нуб был серьезным инженером а не делателем сайтов на вордпрессе, нет?
                                            Ошибка номер один. Многие нубы, которых ты встречаешьв инете, вообще ничего не хотят, кроме как чтобы заработало. И вообще, пока он сам не поймет, что надо копать глубже, ты его не убедишь. Много тут всяких в интернете бродит, советы бесплатные дает.
                                            Ответить
                                            • Я говорю о тех людях которые во-первых не глупы, во-вторых хотят стать программистами.

                                              Те которые "я тут скрипт скочал чтоб хакнуть вкантактик< как мне его запустить не знаеш??" мне не интересны)
                                              Ответить
                                            • Да вот и не ошибка нисколько. Анонимус нацию спасает. А вы его так...
                                              PS. Что интересно - подобные "нубы" встречаются не только в программной среде, но и в других, сферах деятельности. Почти во всех сферах. Хрен знает... Раса что ли такая?..
                                              Ответить
                                              • Какая нахуй раса, чучело ЧСВ-шное. Решили, что раз они что-то умеют, то они пуп земли. Часто нужно что-то сделать не умеючи, но все равно нужно.Хоть на незнакомом языке что-то написать, хоть что-то приготовить. Такова жизнь, ёба.
                                                Ответить
                                                • Какая-то нездоровая у вас пунктуация.
                                                  Ответить
                                                  • Нечего возразить оппоненту? Доебись до правописания!
                                                    Ответить
                                                    • Вас тут чем опыляют? Какой оппонент? Где оппонент? Вы о чём вообще? Когда человек ведёт себя вежливо - он не ставит запятые перед нехорошими словами отвечая на одинокий коммент. А иначе, тем более, если это было преднамеренно, - то вообще не стоит акцентировать внимание на всякой хуете.
                                                      Ответить
                                                      • >А иначе, тем более, если это было преднамеренно, - то вообще не стоит акцентировать внимание на всякой хуете.
                                                        Расстрел сразу. Он еще смеет пунктуацию упоминать.
                                                        Ответить
                                                      • > запятые перед нехорошими словами
                                                        Вот в этой фразе "Такова жизнь, ёба?"?

                                                        "Ёба" - междометие. Так что запятая тут к месту. Ну если я не забыл русский.
                                                        Ответить
                                                        • А если даже Вы забыли русский, есть ещё авторская пунктуация.
                                                          Ответить
                                                        • Собственно, я там про начальную часть ответа.
                                                          Ответить
                                      • > если программа скомпилировалась -- значит будет работать верно
                                        Если она идиоматично написано, конечно. Минимальными усилиями можно сделать из хаскела PHP.

                                        > Без функциональщны нельзя, иначе как нубам рассказать про мап-редьюс всякий?

                                        Я вот упорно не понимаю, как функциональщина помогает понять map/reduce. Мне лично вообще не помогла. Оригинальный гугловый map/reduce имеет довольно мало общего с IEnumerable и прочими map / filter / fold (которые большинство почему-то подразумевают под "функциональщиной"), ибо все операции выражаются через пары значений и обычно требуют здоровенной мутабельной хеш-таблички.
                                        Ответить
                                        • Сама идея того, что у тебя есть лист и для каждого элемента ты выполняешь какую-то функцию ложится в голову гораздо лучше если ты понимаешь что такое функции первого класса, ну и лямбды нужны хотя бы.

                                          Вот например на пайтоне:
                                          # Умножить на два и просумировать
                                          nums = [1, 3, 10]
                                          print(reduce(lambda x, y: x + y, map(lambda i: i * 2, nums)))


                                          У человека который ничего не знает кроме пятой джавы случается paradigm shift)
                                          Ответить
                                          • Коллбеки и ФП в питоне я понял гораздо легче, чем долбаная реализация замыканий в яве через костыли.
                                            Ответить
                                            • в яве до 8й версии вообще был боль, ад и ужас и спагетти из интерфейса Раннбл

                                              Даже в сишарпе сразу были делегаты! Тот же раннбл, но с сахаром, в даже не было и их
                                              Ответить
                                      • > Вообще в идеальном мире я учил бы человека пяти языкам
                                        Интересный список. А изучать надо в том порядке, в котором Вы написали? Плюс, изучать надо в порядке расширения возможностей, чтобы при изучении последующего языка не надо было плеваться, вспоминая о годных фичах предыдущего или же наоборот, сначала рассказать про самый интересный язык, а потом, двигаясь на волне заинтересованности, рассказать про остальные? И существует ли оптимальный порядок для всех/для конкретного человека?

                                        P.S. Скорее всего, порядок действительно зависит как минимум от обучаемого. Т.к., скажем, в функциональных языках всё проще и больше возможностей, чем в ассемблере из-за почти бесплатных реентерабельности и абстракции, а в ассемблере всё проще и больше возможностей из-за полного контроля над системой и прозрачности (что написал, что и выполнилось). И одним тесно и больно из-за невозможности написать в любой регистр, а другим - от недостатка лямбд.
                                        Ответить
                                        • >Скорее всего, порядок действительно зависит как минимум от обучаемого.
                                          Да плевать на обучение, ты что ли детей учить собрался? Главное что если знаешь по одному языку из всех категорий, значит море по колено, а лужа по уши.
                                          Ответить
                                          • > ты что ли детей учить собрался?
                                            Ну, мало ли, может понадобится.
                                            Да и способность объяснять людям что-то надо развивать.
                                            Ответить
                                        • Порядок зависит от специальности.
                                          Совсем нубу можно начинать с пайтона (хотя я бы лучше начал с паскаля, но его в списке нет, его функции тут в некотором смысле выполняет си, но си лучше потому что привносит понимание API операционок, понятие связывания (в линухе это важно даже админу понимать!) итд, но начинать нубу с сей трудно)).

                                          Человек со схемотехническим бекграундом может начинать с асма или сей, причем си с асмом можно учить одновременно (многие концепции схожи, например понимание устройства памяти, указателей, понятие кучи и стека итд), особый шик показывать в какие инструкции превращается компилируемый код, но это лучше делать на каком-нить 16ти битном turbo c, не нужно сразу показывать нубу x64 код как мне кажется, вообще протектд мод это сложновато для начала).

                                          Важно что перейти на идеологически близкий язык всегда легко (с перла на руби, с джавы на C#), а вот перейти на принципиально другой уровень (с пайтона на асм) очень сложно, потому-то основные понимания нужно заранее закладывать)
                                          Ответить
                                          • >со схемотехническим бекграундом
                                            Пардон, а у вас он все еще является неотъемлемой частью программиста?
                                            Ответить
                                            • Ну на каком-то верхнем уровне, да.
                                              Наверное знать что такое TTL, CMOS, транзистор, и как из него собирают защелку или сумматор все-таки полезно.

                                              Но сейчас требования конечно куда ниже в этом плане, знать протокол шины PCI Express наверное не нужно
                                              Ответить
                                              • Ыы, я то надеялся что байтоебы это предел. Единственное применение этим транзисторам которое приходит в голову - помогут объяснить почему сложение быстрее деления. Хотя это знание тоже большинству не нужно.
                                                Лучше бы P-NP и прочие машины тьюринга учили.
                                                Ответить
                                                • схемоту не преподают программистам, которые "математик, системный программист"
                                                  схемота для инженеров
                                                  Ответить
                                                  • Ну да, тем кто эти схемы делает это и нужно.
                                                    А так - я по диплому инженер и писал\пишу в том числе и для микроконтроллеров, но как работает CMOS без гугла не расскажу, и сумматор тоже не соберу. Про транзистор и TTL еще более-менее - и то, это нужно чтоб знать куда тестером на плате тыкать. Ну хотя я говно не образец для подражания, да.
                                                    Ответить
                                                    • Не нужно ничего собирать без гугла. Достаточно знать в общих чертах как оно устроено. Я тоже не знаю наизусть всю стандартную библиотеку языка, на котором пишу.
                                                      Ответить
                                                    • однако это всё преподавали, и чтобы вспомнить простейшие схемы и примерно понимать суть разговора, достаточно будет потратить 2-3 дня с методичкой, а не год/месяц плотного обучения абсолютно новой для себя теме

                                                      только вероятность, что это реально понадобится по жизни, стремится к 0
                                                      разве что понтануться, что пока программисты изучали модулу-2, тебе давали реальные знания о природе разных вещей
                                                      Ответить
                                                      • Ну год это наверное излишне много, но пара месяцев -- вполне.

                                                        Бьюсь об заклад что Вы 80% знаний своих в работе не используете.
                                                        Ответить
                                                        • никогда не знаешь, что тебя поджидает в завтрашнем дне :)
                                                          какое оно...
                                                          завтрашнее дно
                                                          Ответить
                                                          • Во-во) И это не говоря уж о том, что для ментального здоровья полезно раз в 4-5 лет менять вид деятельности)

                                                            Представить себе не могу как люди 10 лет работают над одним проектом на одном ЯП с одним фреймворком. А!
                                                            Ответить
                                                            • раз люди могут себе позволить работать 10 лет над одним проектом, это означает, что менеджмент этого проекта работает очень хорошо (попробуй-ка пососи денюшки 10 лет), и рабочие лошади кормлены, в сухих чистых денниках, смирно игогокают и убегать не собираются

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

                                                              сколько проект не пиши, всё равно есть места, которые тебе хочется переделать
                                                              и ты берёшь, и переделываешь
                                                              городишь охулиард шаблонов шаблонов, чтобы компилятор корчился в судорогах
                                                              или добавляешь дополнительный уровень абстрактных фабрик и адаптеров синглтонов
                                                              по-всякому короче
                                                              или там сделать корпоративную систему сборки, и как раньше жили без этого
                                                              Ответить
                                                            • Не передергивай. Зачем прикладному программисту знать в подробностях, как работает железо?
                                                              Ответить
                                                • Ну вот Касперски как-то написал книгу про оптимиизацию потребления памяти. Там было рассмотренно устройство динамической памяти и такие понятия как CAS, RAS, и иже с ними.
                                                  Для понимания было не плохо знать хотя-бы что такое транзистор и конденсатор.
                                                  А чтобы понять почему кеш быстрее оперативки, нужно понимать что такое статическая память, а значит хотя-бы слышать про flip-flop.

                                                  Я наверное идеалист, но мне кажется что подобные знания маст-хев для нормальго ITшника, разве нет?

                                                  Еще раз: я не говорю что энтерпрайз программисты должны каждый день из кучи транзисторов процессор собирать, но базовые-то знания нужно иметь.
                                                  Ответить
                                                  • >А чтобы понять почему кеш быстрее оперативки, нужно понимать что такое статическая память, а значит хотя-бы слышать про flip-flop.
                                                    А зачем понимать почему она быстрее? И так ясно - быстрее и все тут. Про видеокарты вообще веселая табличка есть, про то как соотносятся операции типа смены шейдера и установки текстуры - ее же не надо понимать, тупо запомнить и все.
                                                    Ответить
                                                    • У Спольски был такой термин как "протёкшая абстрация".
                                                      Вот мы выстроили абстракцию, и пользуемся ею, и как-бы не нужно знать что там этажем ниже делается.

                                                      Но в какой-то момент что-то идет не так, и тут оказывается важно понимать ПОЧЕМУ не так, и как там всё работает.

                                                      Я считаю что хотябы на 1-2 этажа ниже видеть нужно.

                                                      Если правда не понятно почему -- я могу поднатужитьcя, и привести конкретные кейзы. Но мне казалось что подобное знание вообще на уровне common sense:)
                                                      Ответить
                                                      • Не знаю, по-моему абстракции для того и выстраивают чтобы не думать о нижних уровнях. Если твоя работа непосредственно с ними связана - да, надо знать как исправить когда что-то не работает. Но вот то что это нужно новичку, да еще и во всех областях - не верю.
                                                        Если выясняется что проблема ниже, в Winapi, протоколе ARP, патентованных алгоритмах вендоров видеокарт, заземлении USB или этом устройстве CMOS из транзисторов - приходится лезть в этот уровень и разбираться. Но зачем все их знать изначально - не понимаю.
                                                        Ответить
                                                  • >Я наверное идеалист, но мне кажется что подобные знания маст-хев для нормальго ITшника, разве нет?
                                                    Нам их может даже преподдавали, я их успешно проебал. Очень сомневаюсь, что мне это серьезно помешает в работе - мне даже вручную память выделять не доверят.
                                                    Ответить
                                        • Это научит человека многим гадостям.
                                          Я бы выбирал языки по наличию уникальных особенностей, за которые их любят.

                                          ООП - Scheme / Smalltalk.
                                          Варианты записи - Forth / PostScript, J, Lisp (любой).
                                          Логическое программирование - Prolog или родственники.
                                          Теория типов - SML (Prolog тоже вариант, но нужно так же видеть область применения).
                                          Описание данных - SQL, опять же, Prolog. :)
                                          Макросы / метапрограммирование - Scheme / CL.
                                          Специальные языки, просто для того, чтобы знать, что такие существуют: R, Maxima / Mathematica / Octave / Matlab и т.д.
                                          Языки со штатными библиотеками для работы со структурами данных - С++ / Java (удобно учить алгоритмам, т.как структуры данных неотделимы в этом плане, а пытаться реализовывать всякие списки, потоки, юнионы, очереди и т.п. параллельно с изучением - тяжело).
                                          Многопоточность / векторизация - Erlang, Ada (наверное?) я честно не знаю о хороших примерах / возможно Octave.
                                          Что-нибудь чисто императивное - Forth / GP2 (последний никому не известный, но очень сильно расширяющий сознание язык).

                                          После этого человеку можно показывать тот же ж.скрипт или Сишарп / ПХП. Тогда у такого человека не возникнет сомнений в качестве и назначении этих языков, но он все равно сможет их использовать опираясь на хорошую теоретическую базу сознательно избегая явных промахов допущеных при разработке последних.
                                          Ответить
                                      • бля, я понял, ты ркг он же макака

                                        вот это открытие
                                        Ответить
        • из-за того, что она не скалится под экран
          Ответить
    • Uncaught exception: TypeError: 'window.requestAnimationFrame' is not a function
      Ответить
    • У меня тоже: Uncaught exception: TypeError: 'window.requestAnimationFrame' is not a function (Error thrown at line 207, column 4 in main() in http://bormand.tk/snake/snake.js: window.requestAnimationFrame(onAnimation Frame.bind(this)); )
      PS. А ваш домен ещё не прихватизировали? Ибо согласно последним изменениям в политике .tk они имеют право забанить бланглозвучное название домена в собственную пользу. Без предупреждения.
      Ответить
      • >> window.requestAnimationFrame' is not a function
        оспаде, что у Вас за браузер? IE 6? Konqerror?
        Ответить
        • Опера 12, Ваш капитан Очевидность: http://caniuse.com/#search=requestAnimationFrame

          В ней есть всё, кроме requestAnimationFrame.
          Ответить
          • Причём Presto ещё.
            ХЗ, кому чего, а мне нравится Presto.
            Пожалуй, даже, в некоторой степени, оно позволяет выявлять настоящий ГК, что порой бывает полезной информацией к размышлению.
            Ответить
          • Вот поэтому от разработки на турбопаскале было на порядок больше фана - не надо было смотреть в табличку на каждый чих, и думать о юзерах морально устаревших говнобраузеров.

            В http://bormand.tk/snake2/ засунул полифилл для RAF. Должно заработать в опере.
            Ответить
            • Спасибо, работает.
              Ответить
            • Ну а как же юзеры с CGA? Юзеры с малым количеством памяти? Юзеры без звуковой карты?
              Ответить
              • В той игре есть звук?
                Ответить
                • В паскалевской версии - был ;( Через спикер.
                  Ответить
                  • Через sound?)

                    В моем детстве был такой пакет -- digpack.
                    Он умел wav файлы, причем с ним шла пачка драйверов которые умели честный Sound Blaster и PC speaker.

                    Игра через speaker, понятное дело, всё остальное вешала (потому что надо было постоянно перепрограммировать таймер) но работала)
                    Ответить
                    • Digpack — это же драйвер для Win 3.1? Кстати, он работал и на Windows 95/98/Me, потому что в них был оставлен загрузчик 16-битных драйверов. Однако, digpack не являлся полноценным драйвером звука и был рассчитан только на проигрывание wav-файлов. Программы, которые пытались выводить звук через другой интерфейс (а я не помню, сколько их тогда было в Windows), молчали.

                      Подозреваю, что у Борманда была игра для DOS, поэтому digpack тут ни при чём.
                      Ответить
                      • Если у меня не случилась аберрация памяти, то дикпак был именно что под дос)
                        И работал он или с SB (честно беря его IO/DMA/IRQ из env), или вот через speaker.

                        Win31 у меня тогда не было, а была win95 где был родной драйвер
                        Ответить
                        • Под ДОС я помню QV (не путать с hex-вьюером qview), который умел проигрывать mp3- и mpeg-файлы (и даже некоторые AVI), используя PC Speaker. Помню ещё кучу секвенсеров (всякие *tracker), которые умели играть амиговские MOD-файлы тоже через спикер и через ковокс (это такой самодельный ЦАП на резисторах, втыкавшийся в LPT-порт).
                          Ответить
                          • >> (и даже некоторые AVI), используя PC Speaker.
                            :)

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

                            Был еще midpack для миди)
                            Ответить
        • P.S. requestAnimationFrame и в Фуррифоксе и в Хроме стал без вендорных префиксов всего каких-то пятнадцать-двадцать версий назад, так что круг расширяется.
          Ответить
        • NetSurf.
          Ответить
        • Вот хреново, что уже джва человека просто так пишут ошибку, а где получили - не пишут. А Борманду приходится у них эксклюзивное интервью брать, чтобы позволить им же в змейку поиграть.
          Ответить
          • > а где получили - не пишут
            Да Борманд и так знает, где получили... Просто Борманд думал, что на ГК не найдется ретроградов помимо Тараса. А соблюдать кроссбраузерность - не самое приятное в just for fun проекте, написанном на коленке за пару часов. Слава богу, что использование canvas позволило послать нахуй IE8 и спокойно юзать bind() а не костыли с var that = this.
            Ответить
            • Честно говоря, не пойму я подобных людей. Одно дело, когда на работе стоит старый браузер (но там вроде как в змейку не стоит играть) или когда браузер зашит (в устройстве вроде электронной книги). Ладно, старая Opera - это пройдёт. Но другое дело - когда линуксоиды покупают себе новый компьютер и ставят Firefox/Chromium двухлетней давности.
              Firefox для них платный? Нет. Новый компьютер не вынесет? Нет, вынесет. Пакетов нет? А если найду?
              Ответить
              • > ставят Firefox/Chromium двухлетней давности
                А мне вот за kmail обидно. Я бы с удовольствием откатился на версию двухлетней давности, если бы была возможность. Ибо kmail2 превратили в какую-то неюзабельную и нестабильную питушню.
                Ответить
              • А что, если человек не вчера купил компьютер? У серьёзных людей есть занятия поважнее, чем обновлять браузер каждый месяц.
                Ответить
                • точняк
                  но змейка должна работать в их серьезном браузере
                  а то ишь
                  Ответить
                  • Некогда браузер обновлять. Успеть бы очки набрать в змейке...
                    Ответить
                • > есть занятия поважнее
                  Для таких серьёзных людей сделали автообновление.
                  Например, Chrome/Firefox у меня обновляются сами, IE - вместе с ОС, которая обновляется сама. В линуксах же хвалёные пакетные правители, насколько я понимаю, должны делать это ещё проще и удобнее.

                  P.S. Хром под виндой не обновляется разве что у серьёзных людей с большим аптаймом, которые его годами не перезапускают. Это да.
                  Ответить
                  • Ага, а потом после автообновления что-нибудь отваливается и перестаёт работать. Или автообновление запускается в самый неподходящий момент.
                    Ответить
              • Открою вам один секрет. Встречаются некоторые подобные люди, которым больше делать нечего как браузеры обновлять. Это раз. А ещё, порой, после этих ваших обновлений вылезают чёрт-те какие пакости, приложение превращается в тамагочи, которое требует к себе внимания, причём в самый неподходящий момент. Поэтому человек, однажды настроивший свой компьютер и привыкший к его интерфейсу и поведению так и остаётся с ним таким на веки вечные. И если кто-нибудь из них умрёт, то предпочитают устанавливать точно такую же версию приложения. Моногамия, господа.
                Ответить
                • Совершенно верно. Потому я вот например сижу на Windows98 под IE 4.0.
                  И мне бы хотелось чтоб верстальщики оптимизировали свои сайты и под мой браузер тоже! Чем я хуже?
                  Ответить
                  • Верстальщикам, как и программистам, нужно предусматривать работоспособность своего проекта везде, даже в lynx. Иначе какие они к чёрту верстальщики и программисты?
                    Ответить
                    • Вот именно потому я всегда проверяю свои проекты на TR-DOS @ Z80.
                      Мало-ли что?
                      Ответить
                      • Не льстите себе.
                        Ответить
                        • И правда.

                          Ничего я под зилогом не проверяю, потому что у моих языков нет ни компиляторов под него, ни интерпретаторов.
                          Ответить
                    • > оптимизировали
                      Да никто не будет оптимизировать под эти браузеры. Пользоваться можно - и ладно. Если человек юзает IE8 или ниже, то его всяко не смутят квадратные кнопки, отсутствие анимаций и полные перезагрузки страниц вместо ajax'а...
                      Ответить
                      • Ну тоесть программист должен думать о браузерах без Ajax, и делать для них полную перегрузку страниц?)

                        У хорошего программиста этим занимается фреймворк.
                        А плохой задолбается делать это вручную!
                        Ответить
                        • > и делать для них полную перегрузку страниц
                          Зависит от проекта же. Где-то надо, а где-то можно положить хуй на всё, кроме топовых версий фф и хрома.
                          Ответить
                          • Один магазин брал 25% надбавки с юзверей IE6: на поддержку старого говна
                            Ответить
                        • Фреймворком тоже занимается какой-то программист.
                          Ответить
                    • голоса в моей голове говорят, что работоспособность проекта в миллионе браузеров диктуется лишь условиями проекта
                      мы, например, пишем не пейсбуки, а очень даже интранетные проекты с предсказуемым набором браузеров и их версий - накой нам линкс, накой программистам и верстальщикам накидывать 50% работы на тюнинг под ie6? особенно, когда это не сраный пхп-рендеринг, а мощные фронтенд-js приложения, насквозь замаранные в html5 фичах
                      Ответить
                      • Конечно, как хотите - так и пишите. Но части пользователей ваш проект будет недоступен. Может даже они будут думать, что вы считаете их унтерменшами. Хотя, возможно, это и не так.
                        Ответить
                        • > Но части пользователей ваш проект будет недоступен.
                          > очень даже интранетные проекты
                          Заказчики, услышав о дополнительной наценке за поддержку древнего говна, обновят себе браузеры да и всё.

                          Это ж не инет магазин, и не социалка.
                          Ответить
                          • заказчики обычно вполне адекватные люди, готовы пользоваться последним хромом и всё понимают

                            только изредка могут неловко задавать вопросы "ну вы-то готовы перейти на последний фаерфокс, если завтра хром запретят директивой сверху?"

                            это, говорят, в банках ИТ-безопасность свою жопу прикрывает аттестованной 10 лет назад системой с безальтернативным IE6 и запретительными бумажками, вот тогда горе
                            Ответить
                            • > адекватные
                              > хромом

                              Даже адекватные люди могут быть адекватными не во всём...
                              Ответить
                              • сказал пользователь опера 12
                                /green

                                по сути, что против хрома есть?
                                Ответить
                                • > сказал пользователь опера 12

                                  Вы так говорите, как будто более новая есть.

                                  > по сути, что против хрома есть?

                                  Лучше перечислить аргументы за использование вместо браузера программы для отправки данных в Google Analytics.
                                  Ответить
                                  • ну, из насущного, в нем нормально работает webgl
                                    кроме того, интранетная работа подразумевает сертифицированный фильтр у заказчика на различные исходящие из его сети

                                    а в остальном, если не морочить себе голову неработающим webrtc, монопенисуально какой последний браузер использовать
                                    даже ущербный сафари на ios
                                    Ответить
                                    • Кстати, этот сраный сафари крашится от пдфок больше 100 мег. Из-за этого забрасывание большой книжки превращается в занимательный квест с правкой иксмлки.
                                      Ответить
                                      • сафари? а что же ойбукс?
                                        Ответить
                                        • > а что же ойбукс?
                                          Ну вот в него и закидывал через сафари (открывал pdf в сафари, нажимал "открыть в iBooks"). Только на больших PDF'ках это не получается из-за краша сафари.

                                          А прямая заброса в iBooks в линухе:
                                          - цепляем usb кабелем
                                          - идем на флеху в Books/Purchases
                                          - кидаем туда PDF'ку
                                          - открываем лежащий там же Purchases.plist
                                          - копипастим там ноду и правим в ней название, id и путь к книжке
                                          - отцепляем айпад
                                          - ???
                                          - профит

                                          P.S. Или я все это делал зря, и у iBooks есть "открыть URL"? :)
                                          Ответить
                                      • Какой мудак пользуется пдф смотрелкой на js?
                                        Ответить
                                        • > Какой мудак пользуется пдф смотрелкой на js?
                                          Ну я на компе в фаерфоксе иногда пользуюсь, если совсем лень сохранять файл. Нормально пашет. Не тормозит, не падает.

                                          А как там в сафари на iOS сделано - да хер его знает. Мне это не особо интересно, т.к. юзаю iPad только как браузер, читалку книжек да смотрелку видео. Знаю только что падает на больших файлах.
                                          Ответить
                                          • думаю, уебкит умеет в рендеринг пдф самостоятельно, без всяких js
                                            Ответить
                                            • А разве там пдф просматривается не через ж NPAPI-(PPAPI- в случае Хрома) плагин от Акробата?
                                              Ответить
                                              • Что-то отдельное там. Как-то раз устанавливал chromium под линуксом - пришлось отдельно скачать библиотеку и положить в нужную папку.
                                                https://code.google.com/p/chromium/issues/detail?id=50852#c16
                                                Ответить
                                          • >Не тормозит
                                            Ну-ну. Может, утятам комп слишком быстрый?
                                            Ответить
                                            • > Может, утятам комп слишком быстрый?
                                              Да не особо быстрый, но и не калькулятор - всего 8 гиг памяти и дохленький 3.8ггц i5. SSD всё никак не соберусь прикупить.

                                              P.S. Не устраивает жс смотрелка - просто отключи ее. Я на работе её отключил в фаерфоксе, т.к. там она по памяти не укладывается.
                                              Ответить
                                              • Так я сразу и спросил - Какой мудак пользуется пдф смотрелкой на js?
                                                Ответить
                                                • > пользуется пдф смотрелкой на js
                                                  Если на других компах или у других людей она тормозит, но я ее использую на ПК, на котором она не тормозит - я мудак?
                                                  Ответить
                                                  • Нативная смотрелка просто летает, а браузерная?
                                                    Ответить
                                                    • > Нативная смотрелка просто летает, а браузерная?
                                                      И внешняя нативная летает, и встроенная в фф на жс летает. Разницы практически нет. Ну разве что у нативной закладки и т.п. есть, но они не всегда нужны.

                                                      На работе жсная тормозит т.к. мало памяти, и там я пользуюсь только внешней нативной.
                                                      Ответить
                                                      • P.S. Само собой уже скачанные пдфки я жсной смотрелкой не открываю, ибо это не имеет смысла. Тут уже или нативная смотрелка или айпад.
                                                        Ответить
                                                      • Ну может у меня тарасокомп, который меня, правда, во многом устраивает, в том числе уровнем шума и потреблением электричества по цене 26 евроцентов/квч. И не на тарасокомпах оно летает. Но сейчас вроде не 90-е и каждые 1,5 года компы не меняют.
                                                        Ответить
                                                        • > уровнем шума
                                                          Как я уже тут писал - тишина практически полная. Только сраный моник свистит своими дросселями. По опыту - ноуты под нагрузкой ведут себя хуже.

                                                          > каждые 1,5 года компы не меняют.
                                                          Ну прошлый года 3-4 точно проработал. Я редко меняю компы, на самом деле.

                                                          > 26 евроцентов/квч
                                                          При еврозарплатах не похуй ли?
                                                          Ответить
                                                          • У мну есть этот ноут и комп ~2006 года, найденный на улице, на котором я гамаю в старые игори, так вот, ноут потише будет. Лежит в столе, подключенный к док станции, если чо.

                                                            >При еврозарплатах не похуй ли?
                                                            За свою жизнь прибор может сожрать больше электричества, чем он стоил. Круглосуточный ватт = 19 центов в месяц. Сейчас ломаю голову, где достать DVI свич чтобы жрал поменьше. Не бывает случайно переходников DVI розетка - DVI розетка?
                                                            Ответить
                                  • >>отправки данных в Google Analytics.
                                    У Вас нет-ли паранои часом?
                                    Ответить
                                    • А поцхему ви спгашиваете?
                                      Ответить
                                    • Никак нет. Наоборот, мне нравится, что хоть с одной задачей Хром справляется.

                                      Я не знаю, как им пользоваться в качестве браузера, если даже диспетчер загрузок в нём хуже, чем в Интернет Эксплорере.
                                      Ответить
                                      • Ну должен сказать, что он быстрее лиса, правда, и жрет памяти в разы больше.
                                        Ответить
                                        • Частично верно. Т. к. Хром действительно был в разы быстрее Тормозиллы три года назад. По субъективным ощущениям последние версии Фуррифокса на многих сайтах его догоняют, а на некоторых даже обгоняют.

                                          Правда, глючные и тормозные расширения для Fx могут испортить картину.

                                          P.S. Лекарство для Хрома:
                                          chrome --single-process

                                          Иногда позволяет не свалить всё в своп. Иногда не работает, Хром создаёт процессы и засирает память.
                                          Ответить
                                          • Всё что угодно быстрее Тормозиллы. Даже последний (извините) IE.

                                            Попробуйте оперу!
                                            Ответить
                                            • > попробуйте оперу
                                              Хватит насиловать труп. Оперы больше нет.
                                              Ответить
                                              • — И храни Вас Бог, не запускайте перед обедом браузеры, которые жрут память или тормозят.
                                                — Но ведь других нет...
                                                — Так никакие не запускайте!
                                                Ответить
                                                • > перед обедом
                                                  Да почему? Самое время запустить браузер. Пока пообедаешь - успеет прогрузиться.
                                                  Ответить
                                                • С релизом Emacs 24.4 на рынке браузеров появился новый игрок - EWW. Срочно проверяйте, как ваши сайты выглядят в нём.
                                                  http://lars.ingebrigtsen.no/2013/06/16/eww/
                                                  Ответить
                                                  • Если в lynx нормально - то и там сойдет?
                                                    Ответить
                                                  • http://s10.postimg.org/uppk5vt2x/eww.png
                                                    Ответить
                                                    • Даже с картинками! Очень интересно.
                                                      А юзерскрипты/плагины/что-нибудь там есть, чтобы подпилить ГК под себя и сделать нормальную ширину комментариев?
                                                      Ответить
                                                      • Ну это как бы модуль Эмакса, все, что работает для Эмакса будет работать и там. Картинки и в w3m есть, и возможно даже в Lynx (я просто не пробовал). Но в w3m чтобы посмотреть картинку ее нужно активировать, а тут без активации загружается.
                                                        Если честно, я еще не понял в чем принципиальное отличие от w3m. Я для навигации по интернету не пользуюсь ни тем ни другим / только в очень редких случаях. А почту они показывают более-менее одинаково.
                                                        Ответить
                                                • Лол.
                                                  Но меня вообще удивляет - вот всё браузеры вокруг хуёвые, да.
                                                  А как заговоришь об опере или там билде хрома/лисы трёх- четырех- летней давности - сразу набрасываются с криками, фу да ты что, там же нет свистелки А или перделки Б, которые нахер не нужны.
                                                  Или бросаются в другую крайность - Lynx.
                                                  Ответить
                                                  • Старые браузеры не поддерживают новые фичи HTML5 и CSS3, и потому сразу идут в задницу.

                                                    Но это конечно не объясняет почему первый FF летал, а второй тормозил и тёк памятью
                                                    Ответить
                                                    • >не поддерживают новые фичи HTML5 и CSS3
                                                      Какие фичи? В чем их ценность?
                                                      Ответить
                                                      • Тот же самый @media Query. Без него не сделать респонсивную верстку нормально.

                                                        Или javascript file api, без него не сделать мультизагрузку файлов


                                                        А еще flexbox layout для CSS
                                                        Ответить
                                                        • >Тот же самый @media Query.
                                                          В опере и фф было хер знает когда.

                                                          За остальное не знаю, никогда не юзал, что говорит о чрезвычайной незаменимости этих фич.
                                                          Ответить
                                                          • Скорее это говорит о том что Вы вёрсткой и клиент-сайдом не занимаетесь.

                                                            Незаменимых нет. Но заменять всегда неудобно.

                                                            Можно писать на java 4, можно на python 2.4, но никто этого не хочет. Тоже самое и с клиент-сайдом.

                                                            В общем случае поддерживать надо браузеры последних двух лет максимум. Если кто-то сидит на FF 2009го года -- туда ему и дорога
                                                            Ответить
                                                            • >Можно писать на java 4, можно на python 2.4, но никто этого не хочет.
                                                              Потому пишут на java 6(7) и python 2.7.
                                                              Ответить
                                                              • При возможности не пишут) Пользователю, который скажет "а у меня NT четвертая, напишите-ка мне под нее" скорее всего покажут фигу и предложат обновица.

                                                                Как только flexboxу исполнится год поддержки во всех браузерах, так я сразу начну делать на нём сеточки, а любителям старых браузеров предложу удалиться)
                                                                Ответить
                                                                • > Как только flexboxу исполнится год поддержки во всех браузерах

                                                                  Опера 12 поддерживает flexbox. Я не против перехода на такую вёрстку.

                                                                  P.S. А с IE беда. MS пытается протолкнуть свой grid layout, который не нужен.
                                                                  Ответить
                                                                  • > протолкнуть свой grid layout

                                                                    Хотят свой логотип на CSS нарисовать?
                                                                    Ответить
                                                                    • Логотип можно нарисовать на чистом CSS2, используя только border-width и border-color. Вот тут люди порвали блоки на британский флаг:
                                                                      http://2007.fastcoder.ru/articles/?aid=405
                                                                      Ответить
                                                                      • Можно и без border'ов, тупо div'ами в 1 на 1 пиксель.
                                                                        Ответить
                                                                        • К сожалению, видел такую картинку лет 10 назад. У меня от неё тогда браузер умер. Точнее, система захлебнулась свопом.
                                                                          Ответить
                                                            • >Скорее это говорит о том что Вы вёрсткой и клиент-сайдом не занимаетесь.
                                                              Наоборот, я достаточно занимаюсь вёрсткой и клиент-сайдом, чтоб не использовать таких фич, после которых массово начинаются жаловаться люди что у них это что-то не работает/не показывает.

                                                              Именно поэтому у меня установлено пяток различных версий каждого браузера, и я знаю о чем говорю. Например хром с каждым приращением версии на 10 удваивает количество потребляемой памяти.
                                                              Ответить
                                                              • Надеюсь Вы верстаете таблицами и в HTML 4?
                                                                Вдруг у человека WinXP и IE 8?
                                                                Ответить
                                                                • >Вдруг у человека WinXP и IE 8?
                                                                  Просто вставьте на страничку скрипт, который его крашит...
                                                                  Ответить
                                                                  • Почему IE8 можно крашить, а браузер трехлетней давности -- нет?

                                                                    Где граница? У меня вот такая граница -- пара лет. А у Вас?
                                                                    Ответить
                                                                    • >Почему IE8 можно крашить, а браузер трехлетней давности -- нет?
                                                                      Потому что это IE.

                                                                      А вот дайте мне скрипт (без проверок userAgent), которым можно крашнуть любой не-IE браузер трехлетней давности, но не получится сломать новый.
                                                                      Ответить
                                                                      • Ну тоесть Вы считаете что IE8 можно не поддерживать потому что крашица?
                                                                        Ответить
                                                                        • Вот мы говорили об автомобилях, что лучше классика, или модерн, и тут как-то так разговор плавно перетёк на говно.
                                                                          Я не только так считаю, я так поступаю.

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

                                                                          Если предоставите мне скрипт который сможеть крашить (фф 3.5+, хром 4+, оперу 9+) - буду очень благодарен.
                                                                          Ответить
                                              • Поцчему?
                                                Ответить
                                          • >--single-process
                                            >P.S. Лекарство для Хрома:
                                            А оно работает или это шутка?
                                            Как же --renderer-process-limit
                                            Ответить
                                            • Оно реально работало в более старых версиях: действительно был один процесс на все вкладки и оперативки жрало меньше.

                                              Но похоже, что в последних версиях «пофиксили».
                                              Ответить
                                              • >Но похоже, что в последних версиях «пофиксили».
                                                Да уж.
                                                В одной версии крашится при старте, в другой выдаёт окошко, и крашится чуть позже
                                                http://rghost.ru/59046179.view
                                                Ответить
                                                • Полгода назад в какой-то версии работало, потом перестало. У Хрома каждый день выходит по версии. Разве запомнишь, что в какой работает...
                                                  Ответить
                                                  • Да всё в гугле пидорги оккупировали. В какой-то момент был неплохой, простенький браузер, не ломающийся из-за флеша и других дырявых плагинов (да это камень в огород монолитной оперы, и наверное единственный её недостаток).
                                                    Без излишеств, но потом что-то хрясь, и в говно скатился в общем.
                                                    Ответить
                                                    • старческое брюзжание
                                                      ну жрёт он 2 гига, ну создает 20 процессов на 15 вкладок
                                                      зато работают все фичи
                                                      зато есть CEF (chromium embedded framework), где тоже работают все эти фичи, а вкладки тебе достаточно одной

                                                      у нас в хромиуме посредством вебжл 3д-веб-приложение выдаёт картинку на разрешение 8К
                                                      ишак и фаерфокс курят
                                                      Ответить
                                                      • > ишак и фаерфокс курят
                                                        В фф webgl намного медленнее?
                                                        Ответить
                                                        • и проблемнее
                                                          Ответить
                                                          • > и проблемнее
                                                            А какого рода проблемы?
                                                            Ответить
                                                            • последние опыты были месяца два назад
                                                              не буду врать, что конкретно там было плохо
                                                              а то ещё обвинят в клевете
                                                              Ответить
                                                              • опросил, что было не так
                                                                фаерфокс тупо не тянул на себе такой ад, и постоянно крашился
                                                                а когда не крашился, работал заметно медленнее по сравнению с хромом
                                                                учитывая, что это всё отрисовывается тремя квадрами K6000, ни один вендор браузера не рассчитывал на такое, просто хром внезапно оказался готов (хотя и у него есть проблемы по расчету центра изображения в трёхмониторной конфигурации nvidia mosaic, пришлось воркэраунд делать)

                                                                справедливости ради, в версии на фуллхд на моем интегрированном интеле HD4000 фаерфокс хоть как-то показывает картинку, а хром - глючит
                                                                Ответить
                                                      • >ну создает 20 процессов на 15 вкладок
                                                        Уже подозрительно
                                                        Но когда откроешь штук 30, а потом закрываешь, удельное число процессов на вкладку резко возрастает.

                                                        >ну жрёт он 2 гига, ну создает 20 процессов на 15 вкладок
                                                        В одной вкладке он юзабелен - спору нет, но это ж путь в пиздец.

                                                        Я обычно держу открытыми 3 браузера, и это напрягает.
                                                        PS> Вот открываю пустую вкладку - и сразу 100 метров, тупо с нихуя.
                                                        http://rghost.ru/59059799.view
                                                        У меня ОВЕРХЕД. Бля, и его на ж С++ пишут, а не на яве.
                                                        Ответить
                                                        • > У меня ОВЕРХЕД.

                                                          Мне понравилась эта фраза. Возьму на вооружение.
                                                          Ответить
                                                      • >у нас в хромиуме посредством вебжл 3д-веб-приложение выдаёт картинку на разрешение 8К
                                                        Это не столькозаслуга хромуима, там же нативно юзается видеокарта (хотел бы я посмотреть как оно на интегрированной будет рисовать 8K):
                                                        chrome://gpu/
                                                        В лисе, особенно под луниксами труднее, да.
                                                        Ответить
                                                        • зачем на интегрированной рисовать 8К?
                                                          интегрированные не могут в такие разрешения
                                                          Ответить
                                                        • Господа, а для каких таких уникальных нужд требуется это 3D в веб-среде? Или это зачатки Браузер-ОС? Ведь в современных реалиях сие чудо света аналогично разгону деревянной телеги до сверхзвука с помощью двигателя от истребителя.
                                                          Ответить
                                                          • веб-среда - это не только домашние текстовые странички просматривать
                                                            т.к. окружающий мир трёхмерен, то при отображении реальных объектов в приложении хотелось бы их повращать, поприближать и вообще потыкать
                                                            браузер это всё позволяет делать, и сверх того
                                                            при этом замечательно справляется со своей основной задачей - отображение текста и дизайна сложной верстки

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

                                                            это значит, что сразу из коробки обретается относительная кросс-платформенность, простота дистрибуции, сопровождения, обновления,
                                                            на том же ядре визуализации и обычные десктопные разновидности строятся, обрастая просто своими аналитическими интерфейсами

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

                                                            ну и вообще, изначально было много компетенции во фронт-енде
                                                            Ответить
                                                            • Нет, нет. Не упоминайте заказчика всуе. Заказчик - это лишний уровень абстракции между человеком и технологиями.
                                                              > окружающий мир трёхмерен, то при отображении реальных объектов в приложении хотелось бы их повращать, поприближать и вообще потыкать например: трусы семейные
                                                              Ну это понятно, что домашние странички в стороне - так всегда было... Но, во-первых, современным устройствам ещё очень далеко до отображения уровня идентичности как у реальных объектов. Во-вторых, как показывает жизнь - чем дальше в технологическую глубь - тем ниже уровень вхождения конечного пользователя в эту атмосферу. Особенно это касается применения приёмов визуализации, что естественно. Следовательно, погружаясь в глубинный технорендеринг, мы не задаём себе вектор развития, а напротив, под предлогом реализации "интереснейшего" алгоритма предназначенного для оного конечного пользователя - скатываем и себя и аудиторию почитателей своих талантов в большой и глубокий нуль.
                                                              Ответить
                                                              • я ничего не понял

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

                                                                отрицать существование и востребованность 3д-приложений глупо
                                                                так зачем отрицать востребованность 3д-приложений, выполненных в рамках вышеупомянутой платформы с удовлетворительными показателями производительности?
                                                                Ответить
                                                                • > я ничего не понял
                                                                  Всё верно. Просто сегодня пятница, и как говорит мой друг Аваст: "Всё хорошо".
                                                                  Ответить
                                                                  • Так как один из вышеуказанных людей - убожество, то могу предположить, что Вы оба убоги. Примитивная эвристика, которая любой "ик" принимает за "пук" (и наоборот).
                                                                    Ответить
                                                                • Лет через 10 все уйдет в веб, включая и 3Д, благо браузеры уже умеют юзать видео карту и OpenGL для графики. Но я очень, очень, очень надеюсь что 3D в вебе не будет писаться на голом JS:)
                                                                  Ответить
                                                                  • Go? Go!? Dart?
                                                                    Всем заправляет гугл :( Даже несколько обидно, честное слово. Неужели гуглу ничего нельзя возразить? Откуда такое предвзятое раболепие?
                                                                    Ответить
                                                                    • Напишите свой хороший браузер, создайте консорциум по разработке хорошего языка, сделайте референс имплементейшен этого языка, разошлите всем создателям браузеров, и через пару-тройку лет все будет хорошо
                                                                      Ответить
                                                                      • Бизнес-который-всегда-улыбается, и говорит: "Всё просто - делай как я". Благодаря такой формуле бедные Тимы-Патерсоны и продают свою QDOS первым встречным Полам-Алленам.
                                                                        Ответить
                                                                  • Ну как, ушло?
                                                                    Ответить
                                                      • Что в хроме не работает:
                                                        1. Настройка шрифтов (я хочу использовать мои и только мои шрифты и только те, которые я указал, раньше можно было извращаться с custom.css но теперь улучшили - в Хроме теперь текст вообще не читаемый, т.как поломали пиксельные шрифты).
                                                        2. Перемещение с помощью курсора по странице (то, что в ФФ достигается нажатием F7).
                                                        3. Переназначить кнопки ответственные за копирование, вставку, выделение, поиск и т.д. (Практически везде в системе горячие клавиши от Эмакса, а тут хер поменяешь - обычное редактирование текста превращается в пытку).
                                                        Ответить
                                                        • > Перемещение с помощью курсора по странице (то, что в ФФ достигается нажатием F7)
                                                          Где-то на хабре была статья про мужиков, которым не понравился поиск в хроме, и они сделали расширение для этого. Не помню, удалось ли им захватить Ctrl+F, но результат был. Надо будет для интереса изучить этот вопрос.

                                                          Хотя, как оказалось, можно сделать костыль (правда, с как минимум с двумя особенностями, из-за которых его очень больно использовать)
                                                          // ==UserScript==
                                                          // @name F7 for Chrome
                                                          // @include http://*
                                                          // @version 1.0.0
                                                          // @grant none
                                                          // ==/UserScript==
                                                          
                                                          (function(){
                                                          
                                                            var enabled = false;
                                                          
                                                            window.addEventListener('keyup', function(event){
                                                              if(event.keyIdentifier !== "F7" ||
                                                                 event.altKey || event.ctrlKey ||
                                                                 event.metaKey || event.shiftKey) return;
                                                              
                                                              enabled = !enabled;
                                                              window.document.body.contentEditable = String(enabled);
                                                            });
                                                          
                                                          })();
                                                          Ответить
                                                          • > window.document.body.contentEditable = String(enabled);

                                                            Прекрасно! Но ведь .contentEditable обычно принимает только значения true и false (в отличие от .designMode, которое принимает значения "On" и "Off").
                                                            Ответить
                                                            • > Но ведь .contentEditable обычно принимает только значения true и false (в отличие от .designMode, которое принимает значения "On" и "Off").
                                                              Погодите, не до конца осознал. Что-то плохое вышло?
                                                              Ответить
                                                              • http://www.w3.org/TR/html5/editing.html#contenteditable

                                                                Я и сам не до конца осознал, строка это или boolean. Неужели всё-таки строка?
                                                                Ответить
                                                                • Питушня какая-то. Я прочитал аналог Returns "true", "false", or "inherit" в мозилловской документации, увидел, что по умолчанию оно "inherit", подумал, что это скорее всего строка и пихнул строку.

                                                                  P.S. Хотя, действительно Boolean ей скармливать каноничнее.
                                                                  Ответить
                                                          • Да F7 даже в фаерфоксе говёно работает: pgup/pgdown забагованы напрочь, по крайней мере на ГК.
                                                            Ответить
                                                            • А в Опере вроде работает. Ещё в ней есть шифт+стрелочки с несколько иной, но тоже полезной функцией.
                                                              Ответить
                                                            • Попробуйте с этим костылём нажать Up, когда курсор будет на ссылке "ответить". В Firefox он перейдёт вверх, в Chrome застрянет.
                                                              Ответить
                                                              • Хотя, хм, застревает на ссылке "Ответить бредом", созданной скриптом-автогенератором, а с "Ответить" нормально переходит.
                                                                Ответить
                                                                • Примерно как в Vi: hjkl. Опять смотреть куда кроме этих адресов идут сетевые действия для ускорения загрузки странице (то, что она не тормозит т.к. мало памяти, указателями на фуллхд на моем интегрированной будет расход памяти, то дикпак был именно что перейти на последние версии работы со структуры данных и поощряют разбивать системы - рабы обстоятельств, как бы они не всегда проверяю свои проекты с предсказуемым набором браузере приемлемо

                                                                  это значит, что на 100% обойдешься нативной закладки тебе достаточно будет тупить на стрелки и штоб корованы джва года жду уже брат умер пишу с умных чисов чисы риальне умнее меня уже в змею переиграли меня в шахматы не играл тк страшно вдрук они вииграют квартиру где я жыть буду с бомжами на вакзале штоли кароч вот Наша JS лучше и не читаемый, т.как структурой с указателями на функции, AddressOf.
                                                                  Примерно как JS:)
                                                                  Ответить
                                                                  • Надо запилить будет сохранение некоторых (последних десяти?) вореций при каждом нажатии "Ответить бредом". А то сейчас нажал лишний раз в поисках вореции получше и упустил сказ о том, что ФСБ и полиция поддерживают новые фичи HTML5 и CSS3.
                                                                    Ответить
                                                          • Ох, я и не знал про contentEditable.

                                                            ЗЫ. Я пользуюсь keysnail в ФФ, так что мне page-up / down не нужны, аналогично стрелочки, там это все ж.скриптом заменяется т.е. фунцию переместиь страницу к самому низу выполняет: M->, наверх: M-<, ну и остальная навигация: C-f, C-b, C-n, C-p, или можно как в Vi: hjkl. Опять же, самое эффективное перемещение по документу это с помощью поиска.
                                                            Ответить
                                                            • > самое эффективное перемещение по документу это с помощью поиска
                                                              А он работает изкоробки без всяких плагинов и настроек ;)
                                                              Ответить
                                                              • Одного перемещения не достаточно, нужно еще выделение, например. Ну и все-таки другие виды перемещения тоже нужны, просто поиск более универсальный. Еще бы хотелось, чтобы удаление / вырезание так же работало... (вот, кстати, это в eww работает, т.е. если нужно удалить кусок страницы, то не нужно лезть в консоль, искать его и удалять переживая за то, что что-то там поломается. Так он просто убирается из отображения, до следующей перерисовки.
                                                                Ответить
                                                        • > Перемещение с помощью курсора по странице (то, что в ФФ достигается нажатием F7).
                                                          Оказывается, это есть в "специальных возможностях", надо только лишь установить расширение:
                                                          https://chrome.google.com/webstore/detail/caret-browsing/fklpgenihifpccgiifchnihilipmbffg
                                                          Ответить
                                        • Потому что хром создает разные процессы в угоду стабльности, вот и жрет память
                                          Ответить
                                          • >>хром создает разные процессы в угоду стабльности

                                            Стабильности отправки Ваших личных данных в лапы ЦРУ? Нах такую стабильность.
                                            Ответить
                                            • Конечно. В ЦРУ специальный сотрудник каждый день читает мою переписку. Но мне надоело, и потому я перешел в сеть Чебурашка и Православный Гипертекстовый Фидонет. Теперь проклятая пиндосия мне не страшна.
                                              Ответить
                                              • Конечно вы никому на фиг не нужны, до тех пор пока кто-то не решит обратное. Только это решение от вас нисколько не зависит. Поэтому все пользователи Системы - рабы обстоятельств, как бы они не убеждали себя в обратном.
                                                Ответить
                                                • А еще ФСБ знает мой адрес (я правда там не живу), полиция знает когда я родился и где работаю. Это всё так страшно, что наверное мне стоит уйти жить в лес.
                                                  Ответить
                                                  • Но ФСБ и полиция крайне редко используют такую информацию в корыстных целях. А предугадать, что могут сделать с такой информацией мощенники из Интернета, невозможно.
                                                    Ответить
                                            • >Стабильности отправки Ваших личных данных в лапы ЦРУ?
                                              Он же опер-сорс (хотя лично я никогда из сорцов не собирал, но не об этом речь)
                                              Как минимум надо отключить сиё
                                              Браузер Google Chrome может использовать различные веб-службы, которые делают работу в Интернете более удобной и приятной.
                                              
                                              ☐  Использовать веб-службу для разрешения проблем, связанных с навигацией
                                              ☐  Использовать подсказки для завершения поисковых запросов и URL, вводимых в адресную строку
                                              ☐  Предсказывать сетевые действия для ускорения загрузки страниц
                                              ☐  Включить защиту от фишинга и вредоносного ПО
                                              ☐  Автоматически отправлять в Google статистику использования и отчеты о сбоях

                                              Но еще остаются: google analytics, google ads и прочее. Которые самому надо выключать в hosts.
                                              Ответить
                                              • > Он же опер-сорс
                                                Там поди вся жизнь уйдет, чтобы прочесть исходники...
                                                Ответить
                                                • Как будто исходники Фуррифокса прочитать легче...
                                                  Ответить
                                                • Нам-то интересно куда оно и что скрытно отправляет. Если б отправляло, то кто-то рано или поздно это заметит, и поднимет шум
                                                  А найти факт оправки можно даже без чтения сорцов — браузить исключительно пару любимых сайтов и смотреть куда кроме этих адресов идут сетевые пакеты (например dns от гугла).
                                                  А потом по сорцам грепнуть конкретное место и найти.

                                                  >Там поди вся жизнь уйдет, чтобы прочесть исходники...
                                                  Это понятно, но имея сорцы хоть можно выпилить неугодную фичу.
                                                  Ответить
                                                  • Меня больше всего бесит тьма-тьмущая гугловских кук: __utma, __utmb, и прочая __utm*
                                                    Кто знает, как запретить браузеру принимать и отправлять их? Ответы@Mail.ru молчат
                                                    Ответить
                                                    • Убить роутером следующие адреса:
                                                      www.google-analytics.com
                                                      ssl.google-analytics.com
                                                      pagead2.googlesyndication.com
                                                      partner.googleadservices.com
                                                      googleads.g.doubleclick.net
                                                      www.googletagservices.com
                                                      googleadservices.com
                                                      googletagmanager.com
                                                      Ответить
                                                      • Ну или убить всех вебмастеров, вставляющих подобную дрянь на свои страницы.
                                                        Ответить
                                                        • Заманчиво, но неосуществимо.
                                                          А тем кого заставляют её ставить выходит надо самоубиться?
                                                          Ответить
                                                          • > самоубиться
                                                            Ну зачем? Можно убить начальство. Выход всегда есть.
                                                            Ответить
                                                        • А каким образом Вы предлагаете вебмастерам отслеживать посещяемость своих говносайтиков?
                                                          Ответить
                                                          • Смотреть в логах Referer. Каждый вебмастер должен собрать свой велосипед анализатор.

                                                            P.S. Да и потом есть же другие средства аналитики. Куки __utm* они не оставляют. Зато могут доставлять другие неприятности.
                                                            Ответить
                                                            • Вообще говоря логи парсят awstatом. Нет нужды ничего велосипидировать. Но далеко не все хотят/могут это использовать. Да и гугловая аналитика может делать то, что делать реферерами довольно сложно (например говорить тебе с каких запросов и адвордов к тебе приходили, соответственно насколько хорошо конвертится твоя реклама, и кстати реферер можно подсунуть). На самом деле гугл аналитикс настолько дружелюбен к вебмастерам и так хорошо интегрирован с прочими инструментами, что как-то даже глупо ждать что вебмастера откажутся от него ради того 0.001% панароников, у которых он отключен в hosts или файрволе. Тем более такие параноики все равно ничего у них не купят, скорее всего.
                                                              Ответить
                                                              • Я забанил GA не из-за паранойи, а чтобы в Ютубе смотреть клипы, а не рекламу. Представьте себе, помогло.

                                                                А поисковый запрос определяется тупо: если юзер перешёл с Гугла, то извлекаем значение GET-параметра q; если с Яндекса, то значение параметра text.
                                                                Ответить
                                                                • 1. Таких как Вы и есть 0.001%, я уверен) Большинство вообще не знает про такие вещи.
                                                                  2) Завтра гугл поменяет параметр, вот будет смеху. Ну и кроме того надо еще всякие adwords хендлить, это важно.
                                                                  Ответить
                                                                  • 1. Я серенький статист, а не колоритный персонаж. Надеюсь, что никто не будет вводить эту фразу в поисковики в качестве запроса.

                                                                    2. Завтра и GA может накрыться. На Google Graveyard ещё достаточно места.

                                                                    3. Не хватает открывающих скобок.
                                                                    Ответить
                                                                    • Ни что из этого не является поводом для отказа от GA в пользу log-based статистики. И кстати говоря потвердить аутентичность сторонний логалки посещений куда как проще. Пойди продай рекламу, когда у тебя нет доказательств посещаемости
                                                                      Ответить
                                                                      • Верно. Нотариально заверенная статистика лучше. Но именно потому, что Google Analytics по нелепой причине включена в некоторые баннерорезки, надёжнее пользоваться аналитикой какого-нибудь другого поставщика.
                                                                        Ответить
                                                                        • Например, какого?

                                                                          Кстати, баннерорезки использует примерно столкьо же людей, сколько и банит GA.

                                                                          Блин! Люди тоннами скачивают "kitty.scr.exe" и запускают его, в Инете цветут и пахнут многотысячные ботнеты, а Вы говорите о каких-то банерорезках)
                                                                          Ответить
                                                                          • Не могу найти "kitty.scr.exe", потому что filecrop.com арестован британской полицией. До чего королева Великобританию довела...
                                                                            Ответить
                                                            • Они делают продукт сладким и привлекательным, формируя, тем самым, зависимость от него. Подсаживают на него миллионы хомяков. А затем пользуются лаврами победителей. Хочется сказать неприличное слово СЛЕГ, но сейчас оно ещё не к месту...
                                                              Ответить
                                              • Как мило.

                                                >например dns от гугла

                                                Я предупреждал посонов об анальном зондировании в Хроме, ещё в далёком 2014.
                                                Ответить
                • > А ещё, порой, после этих ваших обновлений вылезают чёрт-те какие пакости, приложение превращается в тамагочи, которое требует к себе внимания, причём в самый неподходящий момент.
                  Хреново :(
                  Ответить
                • А про обновления безопасности не слышали? Про heartbleed-ы всякие?

                  >А ещё, порой, после этих ваших обновлений вылезают чёрт-те какие пакости, приложение превращается в тамагочи, которое требует к себе внимания, причём в самый неподходящий момент.
                  Это правда, типикал прыщелис. После каждого обновления плагины открывают окошко whatsnew с рекламой, отключается в ебенях настроек, у каждого плагина в своем месте. Лишний автор = лишний голодный рот, хуле.

                  > Поэтому человек, однажды настроивший свой компьютер и привыкший к его интерфейсу и поведению так и остаётся с ним таким на веки вечные.
                  Эх, если бы так можно было. А то с каждой версией браузеры и сайты только жрут больше.
                  Ответить
                  • > с каждой версией браузеры и сайты только жрут больше
                    У них негласная договорённость с производителями. Кормят хлебом друг друга.
                    Даже вон "тойота", в открытую отказалась от производства надёжной продукции. Теперь делают одноразовую хуйню. Как и все в мире.
                    Ответить
      • > бланглозвучное название домена в собственную пользу
        Только халявные или даже платные забирают?
        Ответить
        • Халявный забирают - и тут же предлагают его купить.
          Ответить
          • Ну собственно я знал, на что иду, регистрируя бесплатный домен. А платный лениво заводить без цели.
            Ответить
            • > регистрируя бесплатный домен. А платный лениво заводить без цели.
              Бугыгы. Да хоть будет не так жалко если отберут.
              Ответить
              • Не распарсил. Не так жалко, как если отберут платный?

                P.S. Само собой я бы не стал заводить платный домен в зоне .tk
                Ответить
      • > А ваш домен ещё не прихватизировали?
        Пока нет ;)

        Ну заберут - и хрен с ним. У меня всё равно нет хорошей и интересной идеи для сайта. А хостить там очередной унылый блог очередного унылого программиста - как-то банально и уныло.
        Ответить
        • > очередной унылый блог очередного унылого программиста
          Было бы весело читать его тем, кто Вас знает в реальной жизни. Разумеется, если у Вас есть постоянная учётка, связанная с именем и блог, связанный с этой учёткой.
          Ответить
          • >>Было бы весело читать его тем, кто Вас знает в реальной жизни. Разумеется, если у Вас есть постоянная учётка, связанная с именем и блог, связанный с этой учёткой.

            Похоже на анальное электронное рабство
            Ответить
            • У программиста не может быть реальной жизни
              Ответить
            • > анальное электронное рабство
              Заставлять себя иметь отдельную учётку для ГК только ради того, чтобы школоло не написало "%name% ищет кавказцев"?
              И правда. Для меня это - просто мука.
              Ответить
              • Потому-то у Вас настоящее имя и настоящее фото на ГК?
                Ответить
                • Нет.
                  И я же как раз писал, что
                  >> <...> иметь отдельную учётку для ГК <...> Для меня <...> - просто мука
                  Ответить
        • >>У меня всё равно нет хорошей и интересной идеи для сайта.

          А как же блядство, разврат и наркотики?
          Ответить
          • Любовь к детям, наркотики и призывы к самоубийству тогда уж.
            Ответить
            • Опять смотрел японские мультики?
              Ответить
              • Не, просто это 3 лучших способа загнать сайт в блеклист раскрутить сайт.
                Ответить
              • > Опять смотрел японские мультики?
                Как ты об этом узнал, потомок Ванги?!
                Ответить
                • Я из-за твой авы не могу еву посмотреть. У меня странные ассоциации
                  Ответить
        • Сделайте домашнюю страничку в духе веб 1
          Ответить

    Добавить комментарий