1. Список говнокодов пользователя laMer007

    Всего: 74

  2. Куча / Говнокод #18284

    +139

    1. 1
    2. 2
    3. 3
    — Здравствуйте, это канал об аниме?
    — Да.
    — Как мне пропатчить KDE2 под FreeBSD?

    laMer007, 04 Июня 2015

    Комментарии (72)
  3. C++ / Говнокод #18227

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    LoggerSngl::instance()->Trace("Заходим под семафор.");
    				QPRFQueueSemaphoreSngl::instance()->Lock(); //Гыгы.
    				{
    					LoggerSngl::instance()->Trace("Зашли под семафор.");
    					CSingleLock lock(QPREFQueueMutexSngl::instance().get(), TRUE);
    					LoggerSngl::instance()->Trace("Получение задачи из очереди...");
    					qprfTask = std::dynamic_pointer_cast<QPRFTask>(_tasks.front());
    					_tasks.pop();
    					LoggerSngl::instance()->TraceFmt("Получили задачу из очереди. Остаток длины %d.", _tasks.size());
    				}
    
    				if (qprfTask->isFinishTask())
    				{
    					CoUninitialize();
    					release_chckxml_lib();
    					qprfTask->semaphore()->Unlock();
    					_endthreadex(0);
    				}

    laMer007, 22 Мая 2015

    Комментарии (3)
  4. Python / Говнокод #18218

    −87

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    #BlueBook code decryption
    import sys
    def sieve(n):
        x = [1] * n
        x[1] = 0
        for i in range(2,n/2):
                j = 2 * i
                while j < n:
                        x[j]=0
                        j = j+i
        return x
    
    def prime(n,x):
        i = 1
        j = 1
        while j <= n:
                if x[i] == 1:
                        j = j + 1
                i = i + 1
        return i - 1
    x=sieve(10000)
    code = [1206,301,384,5]
    key =[1,1,2,2,]
    
    sys.stdout.write("".join(chr(i) for i in [73,83,66,78,32,61,32]))
    for i in range (0,4):
        sys.stdout.write(str(prime(code[i],x)-key[i]))
    
    print

    https://habrastorage.org/getpro/geektimes/post_images/4a6/423/e17/4a6423e17f3e70a74d23466b78ee5f8f.jpg

    laMer007, 22 Мая 2015

    Комментарии (32)
  5. C++ / Говнокод #18153

    +48

    1. 1
    auto filename = std::string{};

    laMer007, 12 Мая 2015

    Комментарии (157)
  6. Куча / Говнокод #18027

    +143

    1. 1
    http://luck.subarctic.org/?gclid=CIbj18GRhcUCFaLUcgodJ5UAOg

    laMer007, 20 Апреля 2015

    Комментарии (9)
  7. C++ / Говнокод #17990

    +61

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    HRESULT ReInitCOMAsSTA()
    	{
    		__AUTO_TRACE__(__FUNCTION__)
    		HRESULT hr = E_FAIL;
    		while (!SUCCEEDED(hr = CoInitialize(NULL)))
    		{
    			CoUninitialize(); // мочим КОМ, пока не даст нам проинициализироваться однопоточно
    		}	
    		return hr;
    	}

    laMer007, 13 Апреля 2015

    Комментарии (607)
  8. C++ / Говнокод #17986

    +53

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(;!isCancel(); [&]{
    			for(int i = 0; (i < settrings.getValue(Settings::Updater::Period, 60)) && !isCancel(); ++i)
    			{
    				Concurrency::wait(1000);
    			}}())
    			{

    laMer007, 13 Апреля 2015

    Комментарии (9)
  9. C++ / Говнокод #17854

    +52

    1. 1
    #include <boobs_1_57_0/boost/range.hpp>

    laMer007, 24 Марта 2015

    Комментарии (9)
  10. Куча / Говнокод #17782

    +130

    1. 1
    List(1,2,3) + "X" == "List(1, 2, 3)X"

    Скала

    laMer007, 13 Марта 2015

    Комментарии (45)
  11. C++ / Говнокод #17725

    +51

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    48. 48
    #include <ppl.h>
    #include <windows.h>
    #include <ppltasks.h>
    #include <iostream>
    #include <vector>
    
    using namespace Concurrency;
    using namespace std;
    
    CRITICAL_SECTION cs6;
    
    int main(int argc, char* argv[])
    {
    	size_t concurentThreadsSupported = std::thread::hardware_concurrency();
    	cout << concurentThreadsSupported << endl;
    	//deadlock hazard increased with concurentThreadsSupported decreasing
    
    	size_t taskAmountForWasteVirtualCores = concurentThreadsSupported - 1;//must be equal to (virtual processor thread amount from Concurrency::IResourceManager) - 1
    	vector<task<void>> t;
    	for (size_t i = 0; i<taskAmountForWasteVirtualCores; ++i)
    		t.push_back(create_task([]{
    			Sleep(INFINITE);//some very long IO operation or deadlocked by EnterCriticalSection or sql transaction or other
    		}));
    	Sleep(1000);
        cout << "another way:" << endl;
        InitializeCriticalSection(&cs6);
        auto locker = create_task([]{
            cout << "locker" << endl;
            EnterCriticalSection(&cs6);//same as begin sql transaction
            cout << "locker entered cs 6" << endl;
            Concurrency::wait(500);//Deadlock by any concurrency context switching directly or indirectly by std or MFC (events, mutex, etc)
            cout << "locker played" << endl;
            LeaveCriticalSection(&cs6);//same as end sql transaction
            cout << "~locker ok" << endl;
        });
        auto locked = create_task([]{
            cout << "locked" << endl;
            EnterCriticalSection(&cs6);//same as begin sql transaction
            cout << "locked entered cs 6" << endl;
            Concurrency::wait(500);
            cout << "locked played" << endl;
            LeaveCriticalSection(&cs6);//same as end sql transaction
            cout << "~locked ok" << endl;
        });
    	Sleep(1000);
    	cout << "FAIL" << endl;
    	return 0;
    }

    Нашел дидлок)
    http://rextester.com/KHC72232
    http://rextester.com/EMG65441

    laMer007, 04 Марта 2015

    Комментарии (11)