Змея / Говнокод #26837 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
from numba import jit


def mults_no_jit(start, end, step):
    min_i = min(start, end)
    for i in range(start, end, step):
        if i < min_i:
            return
        for j in range(i, end, step):
            x = i * j
            x_orig = x
            x_reverse = 0
            while x > 0:
                x_reverse *= 10
                x_reverse += x % 10
                x //= 10
            if x_orig == x_reverse:
                min_i = max(min_i, j)
                yield x_orig
                break
                

@jit(nopython=True)
def mults_jit(start, end, step):
    min_i = min(start, end)
    for i in range(start, end, step):
        if i < min_i:
            return
        for j in range(i, end, step):
            x = i * j
            x_orig = x
            x_reverse = 0
            while x > 0:
                x_reverse *= 10
                x_reverse += x % 10
                x //= 10
            if x_orig == x_reverse:
                min_i = max(min_i, j)
                yield x_orig
                break


print(timeit.timeit('max(mults_no_jit(999, 99, -1))', globals=globals(), number=100))
# 4.2907474 секунды

print(timeit.timeit('max(mults_jit(999, 99, -1))', globals=globals(), number=100))
# 0.1662201 секунд первый запуск, 0.0333973 последующие

Теперь я за «Numba».

Запостил: gost gost, (Updated )

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

  • Ускорилось в 128.5 раз.

    Давайте течь от «Numba»!
    Ответить
    • Кстати, а эта нумба-юмба только помеченные функции джитит или можно на всю прогу как в джаве?
      Ответить
      • Только помеченные, и ещё можно весь мудуль заджитить, если в конце добавить «jit_module(nopython=True)».
        Ответить
      • > AssParallel

        Если к жопе приспособить
        Сопроцессор фирмы Cray,
        Можно срать в два унитаза,
        В сорок тысяч раз быстрей!
        Ответить
    • Максимально заинлайненная версия на крестах («MSVC», Release x64) — 25.891 миллисекунд против 33.3973 миллисекунд у ЖИТуха и 80.52 миллисекунд у ЙАЖАСцрипт. Время, разумеется, на 100 операций. UPD: спать пора, время не нормированное, а просто на 100 операций.
      #include <algorithm>
      #include <chrono>
      #include <iostream>
      #include <vector>
      
      long getMaxPalindrome(long start, long end)
      {
          long maxPalindrome = 0;
          long maxI = std::min(start, end);
      
          for (long i = start; i > end; i--) {
              if (i < maxI) {
                  return maxPalindrome;
              }
      
              for (long j = i; j > end; j--) {
                  long x = i * j;
                  long xOrig = x;
                  long xReverse = 0;
      
                  while (x > 0) {
                      xReverse *= 10;
                      xReverse += x % 10;
                      x /= 10;
                  }
      
                  if (xOrig == xReverse) {
                      maxI = std::max(maxI, j);
                      maxPalindrome = std::max(maxPalindrome, xOrig);
                      break;
                  }
              }
          }
      
          return maxPalindrome;
      }
      
      int main()
      {
          using Clock = std::chrono::high_resolution_clock;
          std::vector<Clock::duration> results = {};
      
          for (size_t i = 0; i < 20; i++) {
              auto start = Clock::now();
              for (size_t j = 0; j < 100; j++) {
                  volatile long x = getMaxPalindrome(999, 99);
              }
              results.push_back(Clock::now() - start);
          }
      
          Clock::duration bestTime = results.front();
          std::cout << "Milliseconds per 100 ops:";
          for (auto && x : results) {
              std::cout << " " << std::chrono::duration_cast<std::chrono::microseconds>(x).count() / 1000.0f;
              bestTime = std::min(bestTime, x);
          }
          std::cout << std::endl;
          std::cout << "Best milliseconds per 100 ops: " << std::chrono::duration_cast<std::chrono::microseconds>(bestTime).count() / 1000.0f;
      
          return EXIT_SUCCESS;
      }
      Ответить
      • ЙАЖАСцрипт:
        function* mults(start, end) {
            let min_i = end;
            for (let i = start; i > end; i--) {
                if (i < min_i) {
                    return;
                }
                for (let j = i; j > end; j--) {
                    let x = i * j;
                    let x_orig = x;
                    let x_reverse = 0;
                    while (x > 0) {
                        x_reverse *= 10;
                        x_reverse += x % 10;
                        x =~~ (x / 10);
                    }
                    if (x_orig == x_reverse) {
                        min_i = Math.max(min_i, j);
                        yield x_orig;
                        break;
                    }
                }
            }
        }
        
        function get_palindrom(start, end) {
            let max_x = 0;
            for (const x of mults(start, end)) {
                max_x = Math.max(max_x, x);
            }
            return max_x;
        }
        
        console.time('get_palindrom');
        for (let i = 0; i < 100; i++) {
            get_palindrom(999, 99);
        }
        console.timeEnd('get_palindrom');  // get_palindrom: 80.52001953125ms

        На генераторах, как и в ЖИТухе.
        Ответить
      • Как из описания функции понять, что start должен быть больше end?
        Ответить
        • А х.з., походу он уже засыпал на ходу пока этот код писал. Так то ничто не мешало сделать for (long i = end; i > start; i--) и юзать привычный порядок аргументов.

          З.Ы. А, понял, в оригинале ещё step был.
          Ответить
          • > он уже засыпал на ходу пока этот код писал
            Подтверждаю. В оригинале сигнатура копировала range(), потом мне надоело писать «, -1».
            Ответить
    • A common pattern is to decorate functions with @jit as this is the most flexible decorator offered by Numba. 
      
      @jit essentially encompasses two modes of compilation, first it will try and compile the decorated function in no Python mode, if this fails it will try again to compile the function using object mode. 
      
      Whilst the use of looplifting in object mode can enable some performance increase, getting functions to compile under no python mode is really the key to good performance. 
      
      To make it such that only no python mode is used and if compilation fails an exception is raised the decorators @njit and @jit(nopython=True) can be used (the first is an alias of the second for convenience).


      Именно поэтому за «no python mode».

      >runtime using the industry-standard LLVM compiler library
      Интересно, скоро там протечёт абстракция выявят какую-нибудь machine specific UB-питушню со сдвигами или флоатами?
      Ответить
  • охуенно, например
    def slow():
        for i in range(20000):
            for x in range(i):
                n = x * i
    
    
    slow()


    Было
    real    0m22.132s
    user    0m22.197s
    sys     0m0.197s


    После добавления
    @jit(nopython=True)
    def slow():


    стало
    real    0m0.872s
    user    0m0.950s
    sys     0m0.243s
    Ответить
    • Ну что-то туповат он. Кресты бы вообще этот код нахуй выкинули т.к. он не имеет смысла. Сделай хотя бы n += x * i и верни результат.

      Или 0.9 это просто время на запуск питона и джит?
      Ответить
      • ща вставлю туда писание в /dev/null и првр 🙂

        Все равно же круто, не?
        Ответить
      • лол, нумба не умеет виз

        numba.core.errors.NotDefinedError: Variable '$12setup_with.1' is not defined.
        Ответить
          • да, нумба для "чистых" функций, лол)
            Ответить
            • Подтверждаю. Это что-то типа «Цайтон»-а, только неявного. Ей можно даже бинарные мудули конпелировать, которые не будут требовать «Нумбу» для запуска (пример из доки):
              from numba.pycc import CC
              
              cc = CC('my_module')
              # Uncomment the following line to print out the compilation steps
              #cc.verbose = True
              
              @cc.export('multf', 'f8(f8, f8)')
              @cc.export('multi', 'i4(i4, i4)')
              def mult(a, b):
                  return a * b
              
              @cc.export('square', 'f8(f8)')
              def square(a):
                  return a ** 2
              
              if __name__ == "__main__":
                  cc.compile()
              
              # If you run this Python script, it will generate an extension module
              named my_module. Depending on your platform, the actual filename
              may be my_module.so, my_module.pyd, my_module.cpython-34m.so, etc.

              https://numba.pydata.org/numba-doc/latest/user/pycc.html
              Ответить
          • >Пиши как на сишке 😉

            Зачем тогда нужен Питух? Я и на Сишке могу писать «как на сишке».
            Ответить
            • Напомнило мне, как когда-то давно я сдавал лабу на питоне. Сначала программа выполнялась за секунд 50. Потом я переписал её с псевдосишного стиля на питонячий, она стала выполняться за 3 секунды. Я очень расстроился, потому что мне нужно было, чтобы выполнение шло подольше 🙂
              Ответить
                • sleep в листинге всё же мог насторожить препода. Хотя мой одногруппник сдавал ему отчёты со скриншотами CPU-Z и норм
                  Ответить
                • > Всегда можно добавить sleep.
                  // OpenClipboard may fail if another application has opened the clipboard.
                  // Try up to 8 times, with an initial delay of 1 ms and an exponential back off
                  // for a maximum total delay of 127 ms (1+2+4+8+16+32+64).
                  bool OpenClipboardRetry(HWND hwnd) noexcept {
                  	for (int attempt=0; attempt<8; attempt++) {
                  		if (attempt > 0) {
                  			::Sleep(1 << (attempt-1));
                  		}
                  		if (::OpenClipboard(hwnd)) {
                  			return true;
                  		}
                  	}
                  	return false;
                  }
                  // ...
                  HWND hNotepad_plus = ::FindWindow(Notepad_plus_Window::getClassName(), NULL);
                  for (int i = 0 ;!hNotepad_plus && i < 5 ; ++i)
                  {
                      Sleep(100);
                      hNotepad_plus = ::FindWindow(Notepad_plus_Window::getClassName(), NULL);
                  }

                  https://github.com/notepad-plus-plus/notepad-plus-plus/blob/d55350b4b5db71889d0a92aabe5ae10d41c92507/scintilla/win32/ScintillaWin.cxx#L2251
                  https://github.com/notepad-plus-plus/notepad-plus-plus/blob/3de506bf48c53c424ef1e52d623f1d949465102b/PowerEditor/src/winmain.cpp#L480

                  Какой sleep )))
                  Ответить
                  • А как это выглядит для пользовтеля?
                    "Подождите, пытаемся открыть клипборд"?
                    Ответить
                    • Хм, т.е. если прога откроет клипборд и повиснет, то во всей системе больше ничего не скопипастить?

                      Какая архитектура )))
                      Ответить
                      • Opens the clipboard for examination and prevents other applications from modifying the clipboard content., лал


                        Добирусь до винды, и попробую
                        Ответить
                        • Там не только modifying, там даже простая вставка не работает, лол.
                          Ответить
                      • Подтверждаю.
                        #include <iostream>
                        #include <windows.h>
                        
                        int main()
                        {
                            std::cout << "OpenClipboard(): " << OpenClipboard(NULL) << std::endl;
                            Sleep(5000);
                            std::cout << "CloseClipboard(): " << CloseClipboard() << std::endl;
                        
                            return 0;
                        }

                        — после запуска программы в течение пяти секунд «Ctrl+V» в принципе не работает. Какой багорище )))
                        Ответить
                        • А через 5 секунд ось таки отбирает его у проги? А тьфу, ты сам закрыл.
                          Ответить
                          • Неа, не отбирает. Запустил слип побольше, уже около минуты буфер обмена выключен.
                            Ответить
                            • Ваш буфер обмена заблокирован для предотвращения незаконного копирования информации. Чтобы разблокировать его отправьте смс...
                              Ответить
                        • какой багор)

                          А как понять, кто держит клипборд? Это же просто объект в object manager? Можно найти через procexp процесс, открывшый хендл клипборда?
                          Ответить
                          • Не знаю, там нахуеверчено сложностей. Хэндлов никаких не открывается. Сейчас попробую код глянуть.
                            Ответить
                              • Хм, а как они его по юзерам разводят если объект один? Или он не один?
                                Ответить
                                • Клипборд скорее всего связан с workstation

                                  Помнишь говноиерархию винды: сесстия, workstation, desktop?


                                  ps: угадал
                                  https://docs.microsoft.com/en-us/windows/win32/winstation/window-stations

                                  A window station contains a clipboard, an atom table, and one or more desktop objects. Each window station object is a securable object. When a window station is created, it is associated with the calling process and assigned to the current session.


                                  Скорее всего не угадал, а у Руссиновича читал и вспомнил
                                  Ответить
                            • > Сейчас попробую код глянуть.
                              Не, нихуя, там внутри просто дёргается системный вызов ntdll!NtUserOpenClipboard. Какой багор )))
                              Ответить
                                • Не знаю, я в код ядра сейчас не могу залезть.
                                  Ответить
                              • а так внутрях что? Почему там не может братся синглтон обък, и записываться в таблицу хендлов процесса?
                                Впрочем, я не знаю, конечно. Просто обычно виндуос так работает
                                Ответить
                                • > Почему там не может братся синглтон обък, и записываться в таблицу хендлов процесса?
                                  Потому что все хэндлы процесса я проверил, и новых там не появляется.
                                  Впрочем, у этой задачи есть более конвенционный метод решения:
                                  std::cout << "OpenClipboard(): " << OpenClipboard(NULL) << std::endl;
                                  HWND wnd = GetClipboardOwner();
                                  std::cout << "ClipboardOwner: " << wnd << std::endl;
                                  DWORD procId = 0;
                                  std::cout << "GetWindowThreadProcessId(): " << GetWindowThreadProcessId(wnd, &procId) << std::endl;
                                  std::cout << "PID: " << procId << std::endl;
                                  std::cout << "CloseClipboard(): " << CloseClipboard() << std::endl;
                                  Ответить
                                  • Понятно. Стало быть, во внутренних структурах ядра храница знание о засранце, и найти его можно через ClipboardOwner
                                    Ответить
                                    • А давай портируем на прыщи?

                                      При использовании PRIMARY данные копируются прямо из программы в программу, но всегда можно выделить в другой программе, если source зависнет.

                                      А как работает CLIPBOARD (который по ctrl-c) я не знаю, надо читать.
                                      Кажеися, он хранит говно в clipboard manager
                                      Ответить
                                  • В общем я подумал, как на X11 портировать, и кажется, что никак: слишком там всё асинхронно.

                                    Есть два режима копирования:
                                    * Cut buffers
                                    * Selection

                                    Cut buffers используется только xterm (из изветных мне прог), и просто означает, что программа кладет строку в проперти корневого окна. Имя проперти CUT_BUFFER[0-9].

                                    Покладка происходит через XChangeProperty, и завесть что-то этой операцией сложно.

                                    В Selection программа сообщает иксам, что у нее есть selection (SetSelectionOwner) и имя селекшена. Оно может быть любым, но обычно оно или CLIPBOARD или PRIMARY.
                                    Принято выделение автоматом считать PRIMARY, а результат ctrl-c / "+y /M-w -- CLIPBOARDом.

                                    Потом другая прога говорит иксам XConvertSelection, сообщая имя проперти окна, в которое она просит положить селекшен.

                                    Тогда первая прога получает SelectionRequest, и обязана скопировать второй проге селекшен в указанном формате в нужное место, и послать SelectionNotify.

                                    То-есть она либо никога его не пошлет (и тогда вторая прога просто не получит селекшена, но ждать его не будет, так как луп обработки событий окна останавливать нельзя), а когда SelectionNotify уже послан -- первая прога уже не участвует.

                                    И самое главное, что селекшен можно забрать сделав SetSelectionOwner из другого окна.

                                    Тогда прога получит уведомление SelectionClear.

                                    Использованная макулитература
                                    https://tronche.com/gui/x/icccm/sec-2.html
                                    https://tronche.com/gui/x/icccm/sec-3.html
                                    Ответить
                                      • А у Xorg нету троттлинга?)

                                        Алсо, такого питуха легко найти по высокому CPU в top.

                                        Впрочем, если вставить туда sleep(500), то ситуация может измениться
                                        Ответить
                                      • #include <X11/Xlib.h>
                                        
                                        int main() {
                                        		Display *display = XOpenDisplay(NULL);
                                        		Atom selections[2] = {XInternAtom(display, "CLIPBOARD", 0), XInternAtom(display, "PRIMARY", 0)};
                                        
                                        		while (1) {
                                        			for(int i = 0; i < 2; i++) {
                                        				XSetSelectionOwner(display, selections[i], None, 0);
                                        			}
                                        		}
                                        }


                                        и правда рабоатет)
                                        Ответить
                                        • Ну это, конечно, уже специальная атака. А на винде и случайно может отвалиться если ошибку какую-нибудь криво обработали.
                                          Ответить
                                          • Выглядит смешно: ты выделяешь кусок текста в xterm, а он не выделяется)

                                            Да, в винде сделано хуже, зато там данные сохраняются даже после закрытия программы, а selectionы -- нет.
                                            Ответить
                                            • > данные сохраняются даже после закрытия программы

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

                                                      Кто вообще придумал называть клипборд буфером?

                                                      Это вчесть буферов?
                                                      Ответить
                                                      • Послушайте, как они на наш буфер обмена говорят! Клипбоааард. Тьфу!
                                                        Ответить
                                                        • вообще русификация МС это лул

                                                          Брандмауэр
                                                          Веб-узел
                                                          Все эти бесконечные диспетчеры, менеджеры, обозреватели всемирных паутин, ужас
                                                          Ответить
                                                                • Брандмауэр не надо было переводить вовсе. Файрвол ничем не хуже брандмауэра.

                                                                  Вебузел это вебсайт

                                                                  Обозреватель мог быть просмотрщиком

                                                                  Клипборд я бы назвал доской, он же и есть доска по сути
                                                                  Ответить
                                                                  • > Файрвол ничем не хуже брандмауэра.
                                                                    Подтверждаю. Это даже переводом назвать сложно: просто взяли и вместо кальки с английского сделали дословную кальку с немецкого. Какой анскилл )))

                                                                    > Обозреватель мог быть просмотрщиком
                                                                    Браузер же, не?

                                                                    > Клипборд я бы назвал доской, он же и есть доска по сути
                                                                    Тут, ИМХО, нормально сделали. Буфер обмена — достаточно интуитивный перевод. А вот что делает доска — хрен поймёшь.
                                                                    Ответить
                                                                    • Брандмауер это темин из пожарного дела, но кто его знает, кроме пожарных?

                                                                      >браузер
                                                                      Ну теперь-то уже да, но в w95 мог бы быть и просмотрщик

                                                                      Буфер обмена -- интуитивный? Что такое буфер для обычного человека?
                                                                      Ответить
                                                                      • Был плакат по технике безопасности: «Берегись буферов».
                                                                        Ответить
                                                                      • Неважно, кто его знает, кроме пожарных.

                                                                        Слово бы прижилось, если бы:
                                                                        1) не звучало как название главы Некрономикона
                                                                        2) не было созвучно с браузером, который совсем про другое
                                                                        3) у обычного юзера не вызывало бы лёгкую дрожь, ибо требовался ин-же-нер


                                                                        Давай ещё доебёмся до директорий/папок/каталогов
                                                                        Ответить
                                                                        • Зачем придумывать слово, которое никому не известно? Чем оно хуже файрвола?

                                                                          Папка, кмк, удачный перевод, и интуитивный
                                                                          Ответить
                                                                          • Предлагаю термин «підрозділ». Так хотя бы звучит смешнее.
                                                                            Ответить
                                                                            • Есть локализованная на украинский винда? Я бы поставил
                                                                              Ответить
                                                                                • ну слов десять-пятнадцать знаю, и правила чтения знаю
                                                                                  Ответить
                                                                            • >«підрозділ»
                                                                              Тут хотя бы интуитивно догадываешься что оно значит.

                                                                              До непревзойденного чемпиона: «підрахуй» ему далеко.

                                                                              Отдельного упоминания заслуживает фразочка: «из гімном на вустах».
                                                                              Ответить
                                                                            • Никому. Так зачем менять шило на мыло, еще и усложняя жизнь тем, кто будет вынужден знать оба термина?
                                                                              Ответить
                                                                              • Хотели использовать существующие в словаре слова. Возможно, пример профдеформации переводчиков.

                                                                                > кто будет вынужден знать оба термина?
                                                                                - днём она обычная домохозяйка с 98-ой виндой, зато по ночам она одмин-хакир, владеющая юникс! Других вариантов не вижу
                                                                                Ответить
                                                                                • да нет, обычный виндоадмин читает документацию про файрвол в технете, а потом идет крутить брандмауер на клиентской винде
                                                                                  Ответить
                                                                                  • Офигеть, кстати, оказывается брандспойт появился аж только в хрюше во втором сервиспаке, а до этого трахались исключительно без резинки
                                                                                    Ответить
                                                                                    • Все так

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

                                                                                      Норрмальный файр завели в XP SP2.

                                                                                      Выставленная в Интернет w2k жила минут тридцать, потом становилась рассадником червей, и еще минут через пять падала в синий экран

                                                                                      Всегда
                                                                                      Ответить
                                                                                      • w2k и без интернетов могла упасть в синий экран.
                                                                                        Ответить
                                                                        • Директории/каталоги и папки кстати и на инглише разные названия имеют. Директории это больше о сосноли и файлухе, а папки - это то, что ты в проводнике видишь.
                                                                          Ответить
                                                                          • да, у линуксоидов горит обычно от фолдеров

                                                                            Это дайректори, блядь, а фолдер это выдумка МС.

                                                                            >сосноли
                                                                            терминале!!11111
                                                                            Ответить
                                                                            • > а фолдер это выдумка МС

                                                                              Ну дык так и есть. Папки бывают виртуальные, никак не связанные с каталогом на файлухе. Тот же список принтеров или сетевое окружение.
                                                                              Ответить
                                                                            • А была ещё «Макось» классическая, в которой файлы назывались «вилками», потому что состояли из нескольких «зубцов»: данных и ресурсов. А в некоторых системах файлы с точки зрения API являются «потоками». А ещё они могут быть «объектами».
                                                                              Ответить
                                                                              • Вопрос к почтеннной публике

                                                                                Почему тред это поток, а не нить (Кстати, MS так именно и переводила)?

                                                                                Почему поток? Чтобы со стримом путать?
                                                                                Ответить
                                                                                • Кстати, бывает fiber и thread. Если thread — это нить, то fiber — это волокно?
                                                                                  Ответить
                                                                                  • именно волокно, это легкий тред
                                                                                    Ответить
                                                                                • > Почему тред это поток, а не нить (Кстати, MS так именно и переводила)?
                                                                                  Потому что «thread» и «fiber» — это разные вещи.
                                                                                  Ответить
                                                                                  • причем тут файбер вообще?
                                                                                    thread это нить по английски

                                                                                    зы: файбер можно перевести как волокно
                                                                                    Ответить
                                                                                      • волокно же

                                                                                        optical fiber: оптоволокно

                                                                                        fiberы это же такие легкие юезрспейс хуйни в винде, да?
                                                                                        Ответить
                                                                                        • Ну а волокно — это вообще какая-то питушня. «Поток исполнения», «поток команд» — простые и интуитивно-понятные термины, в отличие от этой швейной питушни.

                                                                                          > fiberы это же такие легкие юезрспейс хуйни в винде, да?
                                                                                          Да, но не только в винде, а вообще в принципе лёгкие потоки исполнения с кооперативной многозадачностью.
                                                                                          Ответить
                                                                                          • А нить выполнения не такая понятная?


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

                                                                                              > они называются корутинами
                                                                                              Это похожие понятия, основное различие же в том, что корутины — это коньструкции языка (путухона, метатаблы, etc.), а фиберы — системный объект. В «Винде», например: https://docs.microsoft.com/en-us/windows/win32/procthread/fibers.
                                                                                              Ответить
                                                                                              • А потоки это типа термин из компьютер сайнс? "поток исполнения", и потому треды стали потоками?
                                                                                                Ответить
                                                                                                • > А потоки это типа термин из компьютер сайнс?
                                                                                                  Да. https://ru.bmstu.wiki/Поток_выполнения, например.

                                                                                                  > и потому треды стали потоками?
                                                                                                  А тут хуй знает. То ли треды перевели как потоки потому что термин в CS уже был, то ли термин в CS появился из-за того, что треды перевели как потоки.
                                                                                                  Ответить
                                                                                                  • Ну введи теперь в гугол "нить выполнения", там тоже находится всякое, хотя и не вузовское.

                                                                                                    Вопрос в том, был ли термин "поток выпонения" в 80-е

                                                                                                    Если был, то тогда всё понятно
                                                                                                    Ответить
                                                                                                    • Многонитность

                                                                                                      В данном центральном ~~вычислительном~~ узле обработки используется технология гипер-нитности
                                                                                                      Ответить
                                                                                                      • > Многонитность
                                                                                                        Однонитная система, тканевая система, технология гипер-ткани. Охуенно!
                                                                                                        Ответить
                                                                                                      • вам смешно, пушо вы привыкли к другому термину

                                                                                                        Кто помнит термин НЖМД?
                                                                                                        Ответить
                                                                                                        • НЖМД всё ещё можно встретить и в 2020 году в официальной документации

                                                                                                          НГМД уже никто не вспомнит
                                                                                                          Ответить
                                                                                                          • Всё, уже не осталось гос инстанций, которые принимают отчётность на дискетке?
                                                                                                            Ответить
                                                                                                            • По моему опыту - нет, не осталось.
                                                                                                              Но может я жизни не нюхал, кое-какая отчётность у меня сдается по упрощённой форме.

                                                                                                              Так-то много ярдов въебали в автоматизацию ФНС, чтобы потом обнаружить, что бля как так, она же вся сделана на дотнете и микросовте, пришлось потратить ещё пару сотен на анализ, как же им бедолагам теперь перейти на импортозамещение (потратили, выяснили, что никак). ФНС такие пидарасы, что юрлицо с ЭЦП может с ними только через винду или макос взаимодействовать, причем проверка осуществляется прежде всего по юзер-агенту - если в прыщах оставить как есть, тогда "ваш компьютер неверно настроен, иди нахуй", если сменить на фейковый, мол, винда, тогда "о, ищем плагин ваш для ГОСТа, ой, у вас его походу нет".

                                                                                                              Как эти бляди планировали, чтобы условное бюджетное учреждение с ними с альт прыща, или тем более астра прыща взаимодействовало я хуй знает.
                                                                                                              Госуслуги нормально авторизовывают по ЭЦП с прыщей, так то, проблема тут надуманная у уебков из ФНС.

                                                                                                              Думаю это тема для отдельной ветки вполне, могу накидать новостей с которых у меня горело пару месяцев назад
                                                                                                              Ответить
                                                                                                              • > юрлицо с ЭЦП может с ними только через винду или макос взаимодействовать
                                                                                                                - знакомая ерунда. Бывали времена, когда и мак шёл лесом, но хорошо, что давно прошли.

                                                                                                                А в некоторых банках вообще ЭЦП физлица удобно совмещён с ключом самого банка.

                                                                                                                Везде прогресс, короче.
                                                                                                                Ответить
                                                                                                                • Мой банк был вынужден всех нуждающихся перевести на карты с дисплеем, чтобы мочь подписывать. До этого единственный способ был - "токен" на обычной флешке, на котором лежал серт, который через жава аплет в интернет-банке цеплялся и работал. Жава аплеты выпиздили из более чем любого браузера, даже фаерфокс лтс (ESR что-ли) пал год+ назад
                                                                                                                  Ответить
                                                                                                                      • Если такая карта только для одноразового пароля, то что мешало банкам изначально выдавать брелки-токены?

                                                                                                                        P.S. To tweet this news, copy and paste http://bit.ly/TI3a90 to your Twitter handle with the hashtags #MasterCard, #DisplayCard

                                                                                                                        Какой нигерийский твиттер )))
                                                                                                                        Ответить
                                                                                                                            • ну пока жаба работала, и старого говна хватало
                                                                                                                              там была флешка на 256МБ с фирменным корпусом и говёным ушком, которая просто как диск определялась в системе

                                                                                                                              так-то пластиковая карта с отп паролем (почти отп) вполне заебись, она той же толщины и всегда при тебе
                                                                                                                              а не поебень здоровая на связке болтается
                                                                                                                              и да, она пин-код запрашивает
                                                                                                                              а твой брелок хз что запрашивает, ничего
                                                                                                                              Ответить
                                                                                                                              • Когда пин-код запрашивает? Когда пароль генерирует? Ну дык тогда брелку оно и не надо, он же не карта 🙂

                                                                                                                                А так это дело привычки, конечно.

                                                                                                                                А мобильный банкинг в твой банк завезли? Через него можно подписывать?
                                                                                                                                Ответить
                                                                                                                                • банка показывает челендж 6 значный, мол, если это ты, тот подпиши своей дисплей-картой
                                                                                                                                  вводишь 6 значный челендж в карту, карта спрашивает пин-код, генерит 6 значный ответ (думаю, даже не сильно проверяет верный ли пинкод, он просто часть ключа)
                                                                                                                                  вводишь этот результат в банку, банка удовлетворяется

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

                                                                                                                                    А на такой карте на кнопках остаются следы или царапины? Не сможет ли потом плохой дядя, глянув на карту, примерно понять, на какие кнопки чаще всего нажимали?

                                                                                                                                    А то просто вспомнился "опыт" хабрабляди с графическим паролем на телефоне
                                                                                                                                    Ответить
                                                                                                              • а почему нельзя перевести это на .net core, и запустить на каком-нить альтлинуксе? Там ms-sql, WF и WCF?
                                                                                                                Ответить
                                                                                                                • Система «Налог-3» написана на .NET.
                                                                                                                  @
                                                                                                                  объявляешь конкурс за 150млн, чтобы выявить, что Система «Налог-3» несовместима с Альт Линукс
                                                                                                                  @
                                                                                                                  просишь 3.3 ярда
                                                                                                                  @
                                                                                                                  дают 15
                                                                                                                  @
                                                                                                                  посылаешь нахуй юрлицо, которое посмело попытаться зайти на сайт не через ынтернет эксплорр

                                                                                                                  https://www.cnews.ru/news/top/2020-04-08_v_perspektive_10_let_fns_smozhet


                                                                                                                  Читайте другие новости по теме: Ишак или падишах?
                                                                                                                  Ответить
                                                                                      • Ну thread (нить) скручен из fiber'ов (волокна? х.з. как они правильно). Всё логично как бы.
                                                                                        Ответить
                                                                            • У Зайки вроде всё файл, даже tcp сокет, даже небо, даже аллах
                                                                              Ответить
                                                                  • Доска это Машка из параллельной группы, при чём тут клипборд?)

                                                                    Могу согласиться разве что с тем, что брандмауэр уже можно было переименовать в межсетевой экран (принимая во внимание, что такое слово в русском языке было, а вот файрвол вроде как нет), а остальное вкусовщина.

                                                                    "Обозреватель" банально проще произносить, чем "просмортртрсчик".
                                                                    Ответить
                                                                    • Ну если доска это Машка, но буфера это то, что есть у Ирки. При чём тут клипборд?)

                                                                      Межсетевой экран тоже ок
                                                                      Ответить
                                            • Ну и кстати с теми же кедами вроде ставился менеджер клипборда, с которым ничего не терялось.
                                              Ответить
                                              • да даже без кедов в иксах есть xclipboard, но его явно надо запускать

                                                А иначе или катбуферы, или хуй

                                                Дугой вопрос, что больных нету без DE сидеть (кроме меня), а в каждом DE есть какой-либо клипборд манагер
                                                Ответить
                        • #include <windows.h>
                          
                          int main() {
                              while (1) {
                                  OpenClipboard(NULL);
                                  Sleep(20);
                                  CloseClipboard();
                                  Sleep(20);
                              }
                              return 0;
                          }
                          Ответить
                          • #include <windows.h>
                            
                            int main() {
                                OpenClipboard(NULL);
                                Sleep(INFINITE);
                                return 0;
                            }
                            Ответить
                            • Так не интересно. Нужно чтобы через раз работало.
                              Ответить
                                • У одного моего знакомого что-то произошло с «Шиндошз», в результате после копирования любого фрагмента текста в буфер (даже из одного символа) стало вываливаться окно то ли о нехватке памяти, то ли о недопустимой операции. Хорошо хоть, не синий экран. Починить смогли только переустановкой системы. Какой анскилл )))
                                  Ответить
                                    • Кстати, почему зелёным? Есть реальные примеры, когда точка восстановления таки нашлась и после «восстановления» стало ещё хуже?
                                      Ответить
                                      • Ну, на самом деле, просто потому, что я не уверен, что это всегда поможет.

                                        Но мне как-то удавалось починить систему при помощи отката на одну из предыдущих точек.
                                        Ответить
                                        • Эх, а я надеялся сейчас увидеть смешные примеры глюков после отката...
                                          Ответить
                                          • > глюков после отката

                                            Экзешники и дллки пропадают, к примеру. Виндовые чекпоинты - странная штука. Такое ощущение, что у них *.exe на системном диске в чекпоинт входит.
                                            Ответить
                                            • Так вроде программы, установленные позже ТВ, и должны "пропадать" или о чём речь?
                                              Ответить
                                              • Дык не установленные, просто скачанные или скомпиленные. Валялись, никого не трогали и вдруг пропали на откате.
                                                Ответить
                                              • Ну у меня с рабочего стола пропадали на тестовой тачке. Я их туда сам положил, наебнул тачку, откатил чекпоинт и они пропали. А остальные файлы в каталоге с ними остались.

                                                Хотя может у меня и глюки, конечно. На своей тачке я никогда не занимался такой хуйнёй, поэтому работу чекпоинтов я видел всего пару-тройку раз.
                                                Ответить
                                                • рабочий стол не попадает вообще в рекавери поинт, во всяком случае по умолчанию. Ты не крутил настройки на предмет того, что сохранять?
                                                  Ответить
                                                  • Нет конечно. Вот делать мне нехуй что-то крутить... А самодельные каталоги в корне диска Ц попадают? Я просто не помню точно, а опыты ставить влом.
                                                    Ответить
                                                    • кажется, что только реестр и те места, куда прогрраммы ставятся, и папка windows, не?


                                                      хотя

                                                      System Restore affects Windows system files, programs, and registry settings. It also can make changes to scripts, batch files, and other types of executable files on your computer. It does not affect personal files, such as e-mail, documents, or photos, so it cannot help you restore a deleted file. If you have backups of your files, you can restore the files from a backup.

                                                      мутно, короче
                                                      Ответить
                                                      • То есть экзешники с точки зрения «Windows» — это не твоя персональная армия?
                                                        Ответить
                                                        • Помнишь, как в новых виндах ярлык «Мой компьютер» переименовали в «Этот компьютер»? Вот то-то и оно.
                                                          Ответить
                                                        • ну у нормальных людей экзешники на рабочем столе не лежат

                                                          они только у всяких программистов и админов валяются, а это 5% пользователей винды, и похуй на них
                                                          Ответить
                                            • > Такое ощущение, что у них *.exe на системном диске в чекпоинт входит.

                                              - я бы не удивился, в принципе.

                                              Макось вон все скачанные app-файлы заботливо себе помечает, чтобы потом можно было вывести попап про неизвестного издателя.
                                              Ответить
                                              • «Windows» тоже помечает. Точнее не сама «Windows», а все популярные веб-браузеры: если скачанный экзешник сохранить в файловой системе «NTFS», то к нему прилепится альтернативный поток с именем :Zone.Identifier, в котором лежит цифровой код (типа номера зоны безопасности, список зон есть в реестре). При попытке запуска такого экзешника вывалится окно с предупреждением в зависимости от настроек в реестре указанного номера зоны.
                                                Ответить
                                              • > Макось вон все скачанные app-файлы заботливо себе помечает, чтобы потом можно было вывести попап про неизвестного издателя.
                                                Все современные браузеры заботливо добавляют ко всем скачанным файликам NTFS-поток «Zone.Identifier», чтобы винда могла заботливо вывести окошко о страшной опасности, таящейся в файлах из интернета. Некоторые время назад «Chrome» записывал туда ещё и ссылку, с которой файл был скачан, но из-за небольшого бурления эту фичу выпилили.
                                                Ответить
                                                • Подозреваю, что в Макоси тоже браузеры участвуют в процессе.

                                                  Потому что она орёт и на проекты XCode, скачанные в интернете (даже с сайта эппла, лол), но при этом спокойно относится к проектам, стянутым по git'у
                                                  Ответить
                                                • > но из-за небольшого бурления эту фичу выпилили
                                                  Проверил, не выпилили. Причём записывается не только прямая ссылка на скачивание, но и referer, откуда этот файл скачали. Какая приватность )))
                                                  Ответить
                                                • «Орега» на «Presto» вроде не добавляла такой поток. Другие примеры исключений вспомнить не могу.

                                                  Надо разметить раздел с системой «FAT32», чтобы на нём сохранять все скачанные файлы. Тогда они будут запускаться без предупреждения.
                                                  Ответить
                                                    • если на флешке ntfs, то кака разница?
                                                      Ответить
                                                      • А флешку можно отформатировать в ntfs?

                                                        Или это я с дискетами перепутал?)
                                                        Ответить
                                                        • Можно. Но в «NTFS» обычно форматируют разделы, которые больше 32 гигов, а флешки обычно не больше.
                                                          Ответить
                                                          • А разве exFat не может >32?

                                                            в NTFS обычно форматируют флешки, чтобы сделать их бутявыми для bios или его эмуляции
                                                            Ответить
                                                            • exFAT может. Но вопрос был про то, где можно встретить NTFS.

                                                              Хотя в NTFS флешки форматируют всё же целенаправленно, когда на них нужны символические и жёсткие ссылки, альтернативные потоки, ACL — вот это всё, в частности, для запуска с них Винды.
                                                              Ответить
                                                              • для запуска с них винды нужен $Boot, а он бывает тока на NTFS.

                                                                Собственно, бывает два стула:
                                                                * Флешка в exFAT, но тогда тебе нужен UEFI, который найдет там boot.efi (или как там его) и запустит винду
                                                                * Флешка с NTFS, и тогда можно эмуляицю BIOS / Legacy, которая найдет MBR, оттуда скакнет в $Boot и грузанёт винду.
                                                                Ответить
                                                  • А отключать эту «фичу» вот так: https://devblogs.microsoft.com/oldnewthing/20140311-00/?p=1543.
                                                    My Little Program about manipulating the zone identifier for downloaded files
                                                    appears to have struck a nerve with commenter Tess, who launched into some sort
                                                    of diatribe about how Microsoft should stop being a busybody and warning users
                                                    about opening files that they downloaded. You are welcome to disable the feature
                                                    if it offends you so. In the Group Policy editor, go to
                                                    User Configuration, Administrative Templates, Windows Components, Attachment Manager,
                                                    and enable Do not preserve zone information in file attachments. For bonus points,
                                                    you can set a bunch of other policies to make your computer even more dangerous.
                                                    Here’s a list of them. For example, if your goal is to create the most insecure
                                                    deployment of Internet Explorer, you can set Inclusion list for moderate risk file
                                                    types and Inclusion list for low risk file types both to *.*, and then on top of
                                                    that, set Launching applications and unsafe files to Enabled (not secure) so that
                                                    Internet Explorer never warns you about running anything.
                                                    
                                                    Welcome to 1995. Enjoy your stay.
                                                    Ответить
                                                    • в виндуос всё просто. Семь несложных экранов, три галочки, два табика, и ключик наш.

                                                      А в прыщах небось пришлось бы править строчку в когфигурационном файле
                                                      Ответить
                                                      • «Групповую политику» можно добавить одной строчкой в реестре, если знаешь имя ключа.

                                                        Кстати, эта политика вроде запрещает создавать «Zone.Identifier» только «Интернет Эксплореру». Вроде ещё «Хром» использует групповые политики, но он, кажется, использует свои ключи групповых политик, а политику для «Интернет Эксплорера» может проигнорировать. С другими браузерами хуже: они вообще не знают про групповые политики.
                                                        Ответить
                                                        • Пусть в реесте может быть не документирован. Если так, то лучше наверное напямую его не трогать
                                                          Ответить
                                                          • Помнишь, мы обсуждали какой-то говнофреймворк, который депрекейтят и заменяют другим чуть ли не в каждой версии «Windows»? То у них «user shell folders», то «библиотеки», то ещё какое-то говно?

                                                            Фрагмент реестра «Висты»:
                                                            [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
                                                            "!Do not use this registry key"="Use the SHGetFolderPath or SHGetKnownFolderPath function instead"

                                                            Да, прямо ключ с таким названием и с таким значением. А ниже идут ключи для совместимости со старыми программами, которые ещё не перешли на принципиально новый фреймворк:
                                                            "Local AppData"="C:\\Users\\user\\AppData\\Local"
                                                            "My Video"="C:\\Users\\user\\Videos"
                                                            "AppData"="C:\\Users\\user\\AppData\\Roaming"
                                                            "My Pictures"="C:\\Users\\user\\Pictures"
                                                            И так далее.
                                                            Ответить
                                                              • шелапи говно то еще, да.

                                                                в прыщи поттеринг пытается такую же хуйню завести: xdg-open, xdg base dir, вот это всё
                                                                Ответить
                                                                • > в прыщи поттеринг пытается такую же хуйню завести

                                                                  Ну это лучше чем сейчас. Сейчас русифицированная убунта, к примеру, тупо создаёт каталог "Документы" вместо "Documents". Да, он прям на файлухе так называется. Зачем? Зачем?
                                                                  Ответить
                                                                  • как в 98-й винде, лол.

                                                                    Потерригиада мне не нравится неебическим усложнением, и появлением прослойки типа shellapi винды.

                                                                    У тебя есть mime типы, с ними связаны какие-то ебучие прогрраммы, у тебя есть специальные папки в безумных местах , с путями к ним в перременных итд
                                                                    Ответить
                                                                • Мне больше всего понравился ключ реестра с человекочитаемым названием "!Do not use this registry key" и с человекочитаемым значением "Use the SHGetFolderPath or SHGetKnownFolderPath function instead". Вроде других реальных примеров самодокументированных разделов реестра нет.
                                                                  Ответить
                                                                  • да, смешно, что документированность в реест не завезли
                                                                    Ответить
                                                        • Проверил, «Vivaldi» и «Firefox» политике подчиняются.
                                                          Ответить
                                                          • там не может быть какой-нито метод в WinHTTP/WinInet, который они все юзают, и он обеит полиси?
                                                            Ответить
                                                            • Вряд ли, скорее всего просто вручную чекают флаг.
                                                              Ответить
                                                            • WinInet используется только движком «Trident». Остальные браузеры инициируют tcp-соединения напрямую.

                                                              Голосую за гипотезу gost'а: они просто подглядывают флажки.
                                                              Ответить
                                                              • а там нету функци типа "сохранить файл, закачанный с интернету"?

                                                                Если не, то я тоже за версию госта
                                                                Ответить
                                                                • Вот это говно: https://github.com/chromium/chromium/blob/master/components/services/quarantine/quarantine_win.cc#L79.
                                                                  QuarantineFile() вызывает либо SetInternetZoneIdentifierDirectly(), добавляющую поток напрямую (в случае пустых файлов и если второй способ не сработал), либо вызывает InvokeAttachmentServices(), которая дёргает функции из виндового IAttachmentExecute (в частности, IAttachmentExecute::Save()), которые централизованно обрабатывают загруженный файл в соответствии с локальными политиками: могут, например, уведомить антивирус или удалить файл, если он запрещён.
                                                                  Ответить
                                                                  • HRESULT hr = ::CoCreateInstance(CLSID_AttachmentServices, nullptr, CLSCTX_ALL, IID_PPV_ARGS(&attachment_services));

                                                                    Нахрюк и кукарек в одной строчке.
                                                                    Ответить
                                                                      • «punk» — это указатель на «unknown» (в статью не заглядывал)?
                                                                        Ответить
                                                                        • ага.
                                                                          Эот типа указателя на void или Object, В обшем такой интерфейс, котоый базоый. он умеет тока AddRef, ReleaseRef, и всё
                                                                          Ответить
                                                                          • Офтопик.

                                                                            Панки́ — остановочный пункт Рязанского направления Московской железной дороги в городе Люберцы Московской области. Находится в границах станции Люберцы I.

                                                                            Бывшая узловая станция. Назван в 1929 году по деревне Панки.

                                                                            ...

                                                                            Деревня Панки упомянута в документах как минимум XVIII века, когда в 1771 году чума выкосила половину населения Люберец и Панков.

                                                                            Во время войны 1812 года эта деревня стала местом боевого лагеря, куда отступили русские войска после сдачи Наполеону Москвы.

                                                                            Здесь Кутузов обдумывал знаменитый Тарутинский марш-маневр.
                                                                            Ответить
                                                                  • >IAttachmentExecute::Save

                                                                    ну вот я чуял что-то такое в момент, когда писал про

                                                                    >сохранить файл, закачанный с интернету"
                                                                    Ответить
                                                      • >> Семь несложных экранов, три галочки, два табика, и ключик наш.

                                                        Я ещё напоминаю, что «редактор групповых политик» («gpedit») в редакции «Старпёр», «Хоум» и подобные не вкладывают. Нужно приобретать лицензию «Ынтырпрайз», «Ультимейт» или подобные. Ну или установить «gpedit» вручную, спиздив нужные файлы из максимальной редакции «Windows» (это вроде считается нарушением лицензии).
                                                        Ответить
                                                        • я, кстати, так и не понял как в шиндошс x64 ставить неподписанные дрова, кроме как загружать её в «Тестовый режим»
                                                          даже групповые политики не дохуя помогли
                                                          Ответить
                                                          • > тестовый режим

                                                            Ты же про testsigning в bcdedit? Только так и ставить, насколько я знаю. Это проверки на уровне ядра/загрузчика, им насрать на все эти ваши политики.
                                                            Ответить
                                                              • В десятке предполагается, что все дрова подписаны в MS. Кроме тех, что ты разрабатываешь сам и запускаешь на тестовой тачке.

                                                                И если вендор железки не дал тебе подписанные дрова - то он ленивый пидор.
                                                                Ответить
                                                                • А можно в локальное хранилище сертификатов добавить собственный корневой сертификат и подписать драйвера им?
                                                                  Ответить
                                                                  • Нет. Если я не туплю, там в само ядро зашит намертво корневой серт майкрософта. А если включен secure boot, то оно и опции в bcdedit игнорит.

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

                                                                    З.Ы. И в общем-то оно и правильно. Если доверять какой-то рандомной хуйне на диске аля "локальному хранилищу сертов", то в чём вообще защита?
                                                                    Ответить
                                                                • ну тут не вендор ленивый пидор, а все по списку, включая меня
                                                                  https://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
                                                                  мне поебать, что там в углу будет написано в виртуалке, в целом, работает и ладно

                                                                  федоробляди так-то выпускают бандл с сетап.ехе (возможно, в нём будут подписанные РХ дрова, я хз), но они с какого-то хера решили, что теперь только для шиндошс 10 надо делать (ваша виртуальная шиндошс нами уже не поддерживается, иди нахуй) - это же вполне так обыденно выделить 30+ лишних виртуальных гигов на системные папки современной винды, чтобы более лучше тормозило и побольше бекдор говносервисов запускалось, пока тебе от системы нужен только офис открыть и распечатать
                                                                  Ответить
                                                                  • > kvm

                                                                    У него, если я не туплю, есть hyper-v интерфейс для винды. Как раз чтобы дрова не ставить. Можно в эту сторону копнуть. Х.з. конечно насколько это всё рабочее.
                                                                    Ответить
                                                                  • > с какого-то хера решили

                                                                    Дык а что сейчас есть кроме десятой винды? Семёрка всё. А 8.1 вряд ли кто-то юзает.

                                                                    Зачем тратить ресурсы на поддержку некрофилии?
                                                                    Ответить
                                                                    • а какие ресурсы? дрова уже есть, я же их и поставил
                                                                      их только подписать надо было и положить в сетап, а не проверять версию ОС и нахуй слать
                                                                      я понимаю там, например, XP никому не всралась на виртуалке (кроме сёмы), но спермёрку-то за що?..
                                                                      Ответить
                                                                      • > только подписать

                                                                        Там же гемор... Надо сначала тесты прогнать и логи майкам отправить. На тачке с каждой версией операционки, да. Возможно, что они эту тачку уже ёбнули на радостях.
                                                                        Ответить
                                                                      • А, лол. У них нету подписи от майков, только своя с кроссом (под secure boot не взлетит, в остальных случаях сойдёт). Ну значит ленивые пидоры. Свою то подпись поставить дело пары минут.
                                                                        Ответить
                                                                        • Кстати, зачем вообще нужен этот «secure boot», под которым половина всего не работает?
                                                                          Ответить
                                                                          • Чтобы злая уборщица тебе не присунула чего-нибудь на ноут. В общем-то больше ни для чего.
                                                                            Ответить
                                                                          • Ну и от буткитов наверное. Но это сейчас не актуально, имхо. Сейчас в моде банальное вымогательство, а там и юзерских прав хватает.
                                                                            Ответить
                                                                      • > но спермёрку-то за що?..
                                                                        Extended support ended on January 14, 2020
                                                                        Ответить
                                                    • Когда только вышла Win8, помню, там был багор, когда SmartScreen блокировала экзешники и никак это было не отключить
                                                      Ответить
                                                • Почитал, на Маке примерно то же самое, что и в Винде.

                                                  Upon download of an application, a particular extended file attribute ("quarantine flag") can be added to the downloaded file.[10] This attribute is added by the application that downloads the file, such as a web browser or email client, but is not usually added by common BitTorrent client software, such as Transmission, and application developers will need to implement this feature into their applications and is not implemented by the system. The system can also force this behavior upon individual applications using a signature-based system named Xprotect.[11]
                                                  Ответить
      • я тупой

        io не джитится, нельзя в нулл писать, надо возвращать значение
        Ответить
      • @jit(nopython=True)
        def slow():
            p = 0
            for i in range(20000):
                for x in range(i):
                    p += x * i
            return p
        
        print(slow())

        теперь честно?

        19996666816665000
        
        real    0m0.880s
        user    0m0.943s
        sys     0m0.197s
        Ответить

Добавить комментарий для guest Отменить ответ

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8