1. Куча / Говнокод #15700

    +138

    1. 1
    http://www.microsoft.com/ru-ru/smb/campaigns/get-modern/default.aspx

    Таймер идёт назад.
    Да они поехали!

    Запостил: laMer007, 08 Апреля 2014

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

    • Ответить
    • > Таймер идёт назад.
      Да это ж текущее время!

      P.S. Т.е. она уже закончилась, а таймер просто забыли убрать? Но тогда должно получиться с минусом... зачем они взяли разность по модулю...
      Ответить
      • Поддержка ХР не закончилась. Мои банковские терминалы снова будут работать как и раньше.
        Ответить
        • > Поддержка ХР не закончилась
          Потому что ты заплатил за продление поддержки?

          Ну в общем-то логично. Менять ось и переделывать софт скорее всего вышло бы дороже.
          Ответить
        • P.S. Вот кстати пишут про какие-то там уязвимости, заплатки...

          Но я так и не могу понять, как вообще уязвимости операционки могут повлиять на защищенность банкомата? У него же ни одного физического порта наружу не торчит. И сеть полностью прикрыта VPN'ом. Остается только считыватель карт и сенсорный экран. Но за них уже отвечает не ось...
          Ответить
          • >И сеть полностью прикрыта VPN'ом.
            вот только если этот vpn собран с openssl...
            Ответить
            • Этот VPN, как правило, поднят на какой-нибудь киске, мирно дремлющей в недрах банкомата ;)
              Ответить
            • Ну и да - openssl это не компонент windows xp, и поддержка M$ на него не один хуй не распространяется.
              Ответить
        • Только хотел сказать про 90% всех банкоматов.
          А окончание срока - отличный повод для перехода на луниксы, что пользователям, что компаниям, что встроенным системам.
          Ибо 8 - лютое г, и всем уже понятен вектор эволюции продуктов этой конторы.
          Новая студия под новую винду компилит несовместимые со старыми exeшники, для запуска C#-софта (даже консольного) - необходим новый .NET, опять-таки под новую винду итд.
          Кстати VS12 - тоже сырое гогно, люди жалуются на падение производительности кода и прочие баги.
          Ответить
          • Новая студия под новую винду компилит несовместимые со старыми exeшники, для запуска C#-софта (даже консольного) - необходим новый .NET, опять-таки под новую винду итд.
            Прям напугал меня...
            Сейчас специально проверил, скомпилил код в .NET 4.5.1 (VS12[2013]) и подгрузил его через рефлексию в код на .NET 2.0 (Собранный в VS8[2005]) - Всё прекрасно работает. Только CLR поднимается долго...
            Да и CLI не поменялся 45 ~ таблиц и 4 кучи (Guid, Blob, String, US) всё без изменений.

            Кстати VS12 - тоже сырое гогно, люди жалуются на падение производительности кода и прочие баги.
            Да, я тоже попробовал перейти на 12 студию (VS 2013) но от кол-ва багов отказались до первого SP.
            Благо что формат .sln, .*proj и т.п. с 10 студии не менялся.
            Ответить
            • > подгрузил его через рефлексию в код на .NET 2.0
              При этом на компе конечно же стояла семерка и фреймворк 4.5?

              А теперь правильный тест - скомпиль прогу под целевой фреймворк 4.5 (например чтобы поюзать всякие async/await) и запусти ее под XP :) Вот об этом случае и говорит pi.
              Ответить
              • > и запусти ее под XP :)
                Именно! Мне лично глубоко непонятно зачем для запуска консольного приложения/библиотеки что-то выше чем XP (2000/NT4)?
                А там же еще новые классы в каждой версии фреймворка появляются - с ними как быть?
                Ответить
                • > А там же еще новые классы в каждой версии фреймворка появляются - с ними как быть?
                  Ну если бы фреймворки поддерживали все оси - в принципе и пох. 200 метров по нынешним временам скачать совсем не проблема.
                  Ответить
                • Самое интересно, что ведро наступило на те же грабли и исправилось, а вот MS нет.
                  Ответить
              • Сейчас под рукой Xp нет, только дома. Но вот в теории:
                http://code.msdn.microsoft.com/Async-Sample-Example-from-9b9f505c
                Скомпилил и глянул в ~AssemblyRef:
                PresentationFramework, Version=4.0.0.0, PublicKeyToken=31bf3856ad364e35
                System.Xaml, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089
                mscorlib, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089
                System, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089
                PresentationCore, Version=4.0.0.0, PublicKeyToken=31bf3856ad364e35
                System.Net.Http, Version=4.0.0.0, PublicKeyToken=b03f5f7f11d50a3a

                Всё...
                А .NET 4.0 под XP SP3 должен работать.
                Ответить
                • А как же наборы классов? Неужели в 4.5 ни одного годного класса не добавили, который бы хотелось поюзать? И ни одного полезного метода в старые не добавили...
                  Ответить
                  • А когда async и linq появился?
                    Ответить
                    • LINQ в 3.5, async и Таски с 4.0.
                      Скорее всего, таски цепляют нативный Thread Pool (http://msdn.microsoft.com/en-us/library/windows/desktop/ms686760%28v=vs.85%29.aspx), поэтому совместимостью с Win2k пришлось пожертвовать.
                      Ответить
                      • А нативные сondition variables, slim rw locks, double-checked locking появились в висте.
                        Так что теперь чтобы написать/запустить многопоточную программу мне надо ставить висту?
                        К слову работают они по непонятным причинам медленее libpthread аналогов.
                        Ответить
                        • M$ - не благотворительная организация.
                          Перепишешь на новые классы - принесёшь денег M$'у :)
                          Ответить
                  • ~TypeDef "<AccessTheWebAsync>d__4" наследует интерфейс IAsyncStateMachine, который объявлен (~TypeRef) в:
                    "mscorlib, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089"
                    CLI не может использовать того, что не объявлено в ~AssemblyRef или ~ImplMap (DllImport).
                    Ответить
                  • Для примера, в ASP.NET WebForms 4.5.1 должны были добавить типизированный репитер и грид.
                    http://weblogs.asp.net/gunnarpeipman/archive/2011/10/13/asp-net-4-5-preview-using-model-binding-to-display-data.aspx

                    Типизированный репитер был написан ещё под .NET 2.0:
                    http://www.codeproject.com/Articles/18049/A-Typed-Repeater-in-ASP-NET
                    Грид, наверняка по аналогии через ControlBuilder написан.
                    Ответить
                  • К стати, не стоит забывать, что 4.5 - минорная версия.
                    Т.е. она должна быть совместима с Major версией 4.0.
                    Ответить
                    • >>Т.е. она должна быть совместима с Major версией 4.0.
                      .NET Framework 4.5 представляет собой выполняемое на месте обновление версии .NET Framework 4, характеризующееся высокой степенью совместимости.

                      Поддерживаемая операционная система
                      Windows 7 Service Pack 1; Windows Server 2008 R2 SP1; Windows Server 2008 Service Pack 2; Windows Vista Service Pack 2

                      Еще вопросы?
                      Ответить
                      • а висту еще не закопали разве?
                        да и 2008 сервер попробуй купи
                        Ответить
                        • >а висту еще не закопали разве?
                          Тут ХР не могут зарыть толком.
                          Ответить
                          • Висту проще закопать, как и МЕ - она не взлетела
                            Ответить
                  • > ни одного годного класса не добавили, который бы хотелось поюзать
                    http://msdn.microsoft.com/en-us/magazine/jj133817.aspx
                    Куча их.
                    Ответить
            • > но от кол-ва багов отказались до первого SP.
              Традиции Майкрософт. Банк империал.
              Ответить
              • До первого сервиспака нельзя.
                Традиции Майкрософт. Банк империал.

                Починил для недалеких.
                Ответить
                • Зато поиграться можно :)
                  Дизайнерам под ASP понравилась новая рюшечка в виде Browser Link :)
                  Ответить
          • Ну, на банкоматах восьмёрка не нужна явно. Разве что там будет стоять RT.
            Ответить
            • японцы думают иначе:
              http://www.3dnews.ru/816154
              Ответить
              • Мы решили обновить программное обеспечение сразу до Windows 8, и не было никакого противодействия приобщению к преимуществам новейших продуктов для повышения эффективности

                Да какие там могут быть проблемы то... Банкоматы и мультикассы от операционки полюбому юзают простейшее рисование (на уровне лабы первокурсника), тачскрин, rs-232, да сеть... Ну может быть еще криптопровайдер, хотя совсем не факт.

                Тут гораздо большая проблема - чтобы эта ось работала на целевой железяке, да чтобы под нее были нормальные дрова. Ну и чтобы железяка/ось имела как можно более длинный жизненный цикл, иначе потом банкомат хер починишь...
                Ответить
              • Сменили XP Embedded на 8 Embedded
                Ответить
              • > японцы
                Я видел кучу гифок японской рекламы/шоу/неопознанной мозговзрывающей хуйни.
                Они могут, да.
                Ответить
                • Аниме забыл ;)
                  Ответить
                  • К счастью, я не любитель. Но гифок с анимой я видел маловато. На память - разве что как мужик трахнул оленя, или танки идут клином. Тоже загадочно, да.
                    Ответить
          • да сколько можно мучить трупы? может еще сайты под ie6 еще верстать будем?
            Ответить
    • Microsoft хуле.
      Ответить
    • Сидя рядом с ним на кровати, Руслан водил рукой по аккуратным, тонким чертам юного лица, слушал мерный стук сердца. Нет, он его не оставит, не даст довершить начатое - не позволит ему повторить судьбу Артёма.
      Ответить

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